求单片机编写双字节无符号数加法子程序。来个高手吧!

三条要求:1,编程思路2. 每条指令后面加注释说明3. 程序 求个高手。。。。急需!

第1个回答  2012-11-06
嘿嘿
1 设计一个双字节无符号数加法子程序,首先要设计一个子程序入口:
即 (R2)(R3)=装双字节无符号数的被加数
(R4)(R5)=装双字节无符号数的加数
2 设计一个双字节无符号数加法子程序出口:
( 32H )( 31H )( 30H)=装和
3 利用加法指令 求双字节无符号数的和。
4 起一个子程序名:
ADD16: MOV A,R3 ;取低字节被加数
ADD A,R5 ;与低字节加数相加
MOV 30H,A ;低字节和送30H 单元
MOV A,R2 ;取高字节被加数
ADDC A,R4 ;与高字节加数相加
MOV 31H,A ;高字节和送31H单元
CLR A ;清零
ADDC A,#0 ;加上进位
MOV 32H,A ;有进位则送32H单元保存
RET ;子程序返回
满意 就给俺加分喽追问

那个编程思路是什么呀!那个还有程序!全面吗?

追答

双字节无符号数加法子程序 就是利用单片机的8位加法指令 分2次完成16位的加法运算
1 先加低8位 再加高8位
2 加低8位时,使用不带进位的加法指令 加高8位时,选择带进位的加法指令
3 还要考虑第16位向第17位进位的情况, 将进位保存到32H单元。
给个信箱 给你发下一个程序

追问

[email protected]谢谢了哥!

追答

呵呵 好了

本回答被提问者采纳
相似回答