单片机题

来源:百度知道 编辑:UC知道 时间:2024/06/07 02:21:23
说明下面程序的功能:
MOV R0,#50H
MOV R1,#60H
MOV A,@R0
ADD A,@R1
MOV @R0,A
INC R0
INC R1
MOV A,@R0
ADDC A,@R1
MOV @R0,A
MOV 00H,C
分析详细点~谢谢好的 追加分~

1.把立即数50H放在寄存器R0里
2.把立即数60H放在寄存器R1 里
3.把寄存器R0里的数据(50H)作为地址,把这个地址里的数据放在寄存器A里
4.把寄存器R1里的数据(60H)作为地址,把这个地址里的数据和寄存器A里的数据相加,将结果保存在寄存器A里
5.把寄存器A里边的数据放在以寄存器R0里的数据作为地址的空间里
6.R0里的数据加1
7.R1里的数据加1
8.把寄存器R0里的数据(50H)作为地址,把这个地址里的数据放在寄存器A里
9.把寄存器R1里的数据(60H)作为地址,把这个地址里的数据和寄存器A里的数据相加,将结果保存在寄存器A里
10.把寄存器A里的数据放在以寄存器R0里的数据作为地址的空间里
11.把位存储器C里的数据放在00H地址的空间里。

功能:把50H和60H里的数据相加,结果放在50H里
把51H和61H里的数据相加,结果放在50H里,进位放在00H里

51H 50H RAM 中 一个数的, 高字节在51H, 低在50H
61H 60H RAM 中存另一个数,
把这两个数相加, 结果返存在51H 50H 中, 进位存在00H中.

MOV R0,#50H ; R0=50H
MOV R1,#60H ; R1=60H
MOV A,@R0 ; 把50H的RAM读到A中
ADD A,@R1 ; 加上60H的RAM, 结果存在A中
MOV @R0,A ; 暂存在RAM 50H中
INC R0 ; R0指向51H
INC R1 ; R1指向61H
MOV A,@R0 ; 把50H的RAM读到A中
ADDC A,@R1 ; 带进位加上60H的RAM, 结果存在A中
MOV @R0,A ; 暂存在RAM 51H中
MOV 00H,C ; 把进位标志存在00H寄存器中

说明下面程序的功能:
MOV R0,#50H;将50H赋给r0
MOV R1,#60H ;将60H赋给R1
MOV A,@R0 ;将50H内