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

一个加数在片内RAM40H、41H、42H单元中,另一个加数在内RAM43H、44H、45H,其和存放在50H、51H、52H单元中,进位位存00H。

本文引用地址: http://www.21ic.com/app/mcu/201806/764328.htm

求编译程序,小弟谢过

;------------------------------------------

最佳答案:题目太简单,只有三个字节参加运算,可不用循环结构。

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


我 要 评 论

网友评论

热门文章

技术子站

更多

项目外包

更多

推荐博客