编写3字节二进制减法子程序 -单片机编程

来源:互联网 发布:bbc纪录片 知乎 编辑:程序博客网 时间:2024/05/16 04:44

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

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

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

上了3周课实在是还没入门,编不出来!麻烦哪个好心的高手帮忙下!!!谢谢。
悬赏分:15 - 解决时间:2009-10-15 19:24
提问者: stefine_ - 一级
;-----------------------------------------
最佳答案:

有三个字节参加相减,且地址是连续的,那么循环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

;-----------------------------------------
回答者:   做而论道 - 八级   2009-10-15 19:22
提问者对于答案的评价:谢谢
原文网址:http://zhidao.baidu.com/question/121521255.html
;-----------------------------------------

 

0 0
原创粉丝点击