51单片机汇编三字节加法
扫描二维码
随时随地手机看文章
一个加数在片内RAM40H、41H、42H单元中,另一个加数在内RAM43H、44H、45H,其和存放在50H、51H、52H单元中,进位位存00H。
求编译程序,小弟谢过
;------------------------------------------
最佳答案:题目太简单,只有三个字节参加运算,可不用循环结构。
MOV A, 40H
ADD A, 43H
MOV 50H, A
;
MOV A, 41H
ADDC A, 44H
MOV 51H, A
;
MOV A, 42H
ADDC A, 45H
MOV 52H, A
;
MOV 20H.0, C
;完
;------------------------------------------
;=========================================================
多个单字节数求和。已知有10个单字节数,依次存放在内部RAM 40H 单元开始的存储区中,要求把求和的结果存入寄存器R2,R3中(高位存R2,低位存R3)
;------------------------------------------
最佳答案:本题参加运算的数据较多,且地址是连续的,应该使用循环结构,如下即可。
MOV R2, #0
MOV R3, #0
MOV R0, #40H
MOV R1, #10
LOOP:
MOV A, R3
ADD A, @R0
MOV R3, A
MOV A, R2
ADDC A, #0
MOV R2, A
INC R0
DJNZ R1, LOOP
RET
;完
;------------------------------------------
;=========================================================
试编写程序,将内部RAM的20H,21H和22H 3个连续单元的内容依次存入2FH、2EH和2DH中。
悬赏分:5 - 解决时间:2009-11-24 12:30
;------------------------------------------
最佳答案:
ORG 0000H
MOV 2FH, 20H
MOV 2EH, 21H
MOV 2DH, 22H
SJMP $
END
呵呵,简单的无与伦比。
;------------------------------------------
;=========================================================
设机器字长为8位,请用二进制补码的方法计算下题,运算结果分别用十六进制和十进制表示。
这里机器字长为8位是什么意思,有什么用?麻烦写明详细过程,谢谢!
45+55
提问者: 0o錒ke - 二级
;------------------------------------------
最佳答案:先把数字都变换成8位的二进制补码:
45: 00101101
55: 00110111
然后相加:
00101101
+ 00110111
---------------------
01100100 -> 十进制的 +100
结果就是:
二进制:01100100
16进制:64H
十进制:100