单片机的硬件结构第四章文档.docVIP

  • 1
  • 0
  • 约7.94千字
  • 约 21页
  • 2017-11-28 发布于浙江
  • 举报
单片机的硬件结构第四章文档

第四章?MCS-51单片机的应用程序设计 一、 多字节数加法 ? 1.多字节无符号数加法 ? CLR? C MOV? R0,#40H? ;指向加数最低位 MOV? R1,#5OH? ;指向另一加数最低位 MOV? R2,#04H? ;字节数作计数初值 LOOP1:MOV? A,@R0??? ;取被加数 ADDC A,@R1??? ;两数相加,带进位 MOV? @R0,A INC? R0??????? ;修改地址 INC? R1 DJNZ R2,LOOPl ;未加完转LOOP1 JNC? LOOP2??? ;无进位转LOOP2 MOV? @R0,#01H LOOP2:DEC? R0 RET ? 2.多字节有符号数加法 ? SDADD:CLR 07H??????? ;标志位清零 MOV A,R0?????? ;复制保存地址指针 MOV R2,A MOV A,R3 MOV R7,A CLR C LOOP1:MOV A,@R0 ADDC A,@R1??? ;相加 MOV @R0 ,A INC R0 INC R1??????? ;地址指针加1 DJNZ R7,LOOP1 JB OV,ERR?? ;若溢出,转溢出处理 DEC R0 MOV A,@R0 JNB E7H,LOOP2 SETB 07H???? ;和值为负,置位标志 LOOP2:MOV A,R2???? ;恢复地址指针 MOV R0,A RET ┇ ERR:┇?????????? ;溢出处理 RET ? 二、 多字节数减法 ? ? MOV R0,#40H???? ;指向被减数最低位 MOV R1,#5OH???? ;指向减数最低位 MOV R2,#04H???? ;字节数 CLR C LOOP1:MOV A,@R0 SUBB A,@R1????? ;完成一个字节的减法运算 MOV @R0,A INC R0 INC R1 DJNZ R2,LOOP1 RET ? 三、 多字节十进制数(BCD码)加法 ? ? BCDADD:????????? MOV 20H,R0 ? MOV 23H,R3 ? ???????????????????? CLR C LOOP0:??? ????????MOV A,@R0????? ;取被加数 ???????????????????? ADDC A,@R1???? ;两数相加 ???????????????????? DA A??????????? ;十进制调整 ???????????????? ????MOV @R0,A ???????????????????? INC R0????????? ;指针加1 ???????????????????? INC R1? ?????????????, nbsp;?????? DJNZ R3,LOOP0 ;作完加法否 ???????????????????? MOV? R2. #23H ???????????????????? JNC? RETURN??????? ;有无进位 ? MOV@ R0,#01H INC R3 ? RETURN:?????????? MOV R0,#20H ??????????????????? RET ? ? 四、 多字节数乘法 ? ? ZHENFA: ???????????MOV A,R0 ? MOV B,R1 ? ??????????????????? MUL AB?????? ;(R1)*(R0) MOV R3,A??? ;积的低位送到R3 ? MOV R4,B??? ;积的高位送到R4 ? MOV A,R0 MOV B,R2 ? ??????????????????? MUL AB?????? ;(R2)*(R0) ??????????????????? ADD A,R4??? ;(R1)*(R0)的高位加(R2)*(R0)的低位 ??????????????????? MOV R4,A??? ;结果送R4,进位在CY中 ??????????????????? MOV A,B ??????????????????? ADDC A,#OOH;(R2)*(R0)的高位加低位来的进位 MOV R5,A?? ;结果送R5 ? ??????????????????? RET ? ? 五、 多字节数除法 ? DV:? MOV R7,#08H???? ;设计数初值 DVl: CLR C ????????? MOV A,R5 ? ????????? RLC A ????????? MOV R5,A ????????? MOV A,R6 ? ????????? RLC A????????? ;将(R6)、(R5)左移一位 ????????? MOV 07H,C???? ;将移出的

文档评论(0)

1亿VIP精品文档

相关文档