当前位置:首页 > 单片机 > 单片机
[导读] 一个加数在片内RAM40H、41H、42H单元中,另一个加数在内RAM43H、44H、45H,其和存放在50H、51H、52H单元中,进位位存00H。求编译程序,小弟谢过;------------------------------------------最佳答案:

一个加数在片内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


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