当前位置:首页 > 单片机 > 单片机
[导读] 单片机不难的编程题!急,编写3字节二进制减法子程序。用主程序调用多组数据来调试,需考虑无借位和有借位两种情况。入口:被减数:52H,51H,50H,50H为最低位; 减数:42H,41H,40H,40H为最低位;出

单片机不难的编程题!急,编写3字节二进制减法子程序。

用主程序调用多组数据来调试,需考虑无借位和有借位两种情况。

入口:被减数:52H,51H,50H,50H为最低位;
减数:42H,41H,40H,40H为最低位;
出口:  差:外部数据存贮器2003H~2000H(2000H为最低位)。


有三个字节参加相减,且地址是连续的,那么循环3次即可。

MOV R0, #50H ;被减数地址
MOV R1, #40H ;减数地址
MOV DPTR, #2000H ;差的地址
CLR C
MOV R2, #3 ;循环3次
S_LOOP:
MOV A, @R0 ;取
SUBB A, @R1 ;减
MOVX @DPTR, A ;存
INC R0
INC R1
INC DPTR
DJNZ R2, S_LOOP
CLR A
SUBB A, #0 ;得到借位
MOVX @DPTR, A ;存
RET


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭