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

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

嘿嘿

1 设计一个双字节无符号数搭乎伍加法子程序,首先要设计一个子程序入口:

即 (R2)(R3)=装双字节无符号数的被加数

(R4)(R5)=装双字节无符号数的加数

2 设计一个双字节无符知或号数加法子程序出口:

( 32H )( 31H )( 30H)=装和

3 利用加法指令 求双字节无符号数的和。

4 起一个子程序名:

ADD16:MOV A,R3取低字节被加数

ADD A,R5;与低字节加数相加

MOV 30H,A ;低字节和送30H 单元

MOVA,R2 ;取高字节被加数顷厅

ADDC A,R4 ;与高字节加数相加

MOV 31H,A ;高字节和送31H单元

CLRA;清零

ADDC A,#0;加上进位

MOV 32H,A ;有进位则送32H单元保存

RET ;子程序返回

满意 就给俺加分喽

.版本 2

.程序集 窗口程序集1

.子程序 __启动窗口_创建完毕

.局部变量 计次, 整数型

.循环判断首 ()

    .如果真 (取现行时间 () = [2013年野型5月3日20时20分])

        子程序1 ()

        跳出循环 ()

    .如果真结束

    计次 = 计次 + 1  ' 不知道你要计次这个变量做什么。

.循环判断尾 (计次 > 0)

.子程序 子程序1

上面的“子程序1”里你可以任意写代码,我只是给你个思路,抛砖引玉。

指出你2点错误:

1、“计次”变量应该设为局部变量,不应为参数。

2、时钟周期不能为1.因为电脑的时钟才多少啊。

说谈李的可能不对,含脊迟仅供参考。

这个友迹梁问题有点麻烦 我的思路是 比如说要延时1秒 这样让定时器装初值 然后启动定时器 打开中断 开始定时 中断程序里设置一个计算计时次数的变量 也就是用你1个寄存器来装州腔 接着好运在每次调用子程序的后面加一句sjmp $这样程序就一直在空跑 接着到定时到需要的时间 就让程序跳转到下一条指令 开始继续执行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12343966.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存