单片d微型计算机及应用(张毅坤) 第3章 指令系统及汇编.pptVIP

  • 26
  • 0
  • 约 257页
  • 2016-11-29 发布于湖南
  • 举报

单片d微型计算机及应用(张毅坤) 第3章 指令系统及汇编.ppt

单片d微型计算机及应用(张毅坤) 第3章 指令系统及汇编

图 3 ― 16例 5 程序框图 (a) 除法程序框图; (b) 四舍五入处理框图 入口: (R7 R6)=被除数, (R5 R4)=除数。 出口: (R7 R6)=商数, (OVER)=溢出标志(FFH为溢出)。 工作寄存器:(R3 R2)=部分余数, (R1)=计数器, (R0)=差值暂存。 程序清单如下: DIV: MOV A, R5 ; 除数高 8 位送A JNZ BEGIN ; 除数非零则转BEGIN MOV A, R4 ; 除数低 8 位送A JZ OVER ; 除数为零置溢出标志 BEGIN: MOV A, R7 ; 被除数高 8 位送A JNZ BEGIN1 ; 被除数非零则转BEGIN1 MOV A, R6 ; 被除数低 8 位送A JNZ BEGIN1 ; 被除数非零则转BEGIN1 RE T ; 被除数为零则返回 BEGIN1: CLR A ; 清余数单元 MOV R2, A MOV R3, A MOV R1, #10H ; 双字节除法计数器置 16 DIV1: CLR C ; 开始R3 R2 R7 R6 左移 MOV A, R6 ; 被除数低 8 位送A RLC A ; R6循环左移一位 MOV R6, A ; 左移结果回送 MOV A, R7 ; 被除数高 8 位送A RLC A ; R7 循环左移一位 MOV R7, A ; 左移结果回送 MOV A, R2 ; 余数左移一位 RLC A MOV R2, A MOV A, R3 RLC A MOV R3, A DIV2: MOV A, R2 ; 开始部分余数减除数 SUBB A, R4 ; 低 8 位先减 MOV R0, A ; 暂存差值 MOV A, R3 SUBB A, R5 ; 高 8 位相减 JCN EXT ; 若部分余数除数则转NEXT INC R6

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档