麻烦高手做一下这些单片机的题目

来源:百度知道 编辑:UC知道 时间:2024/06/07 22:42:35
1.编写程序,实现双字节无符号数加法运算,要求R1R0→61H60H
2,编写程序,完成将片外RAM中的1000H~1030H的内容传送到片内RAM的30H开始的单元中。
3.从片内RAM的20H单元开始,有30个数据,试编写程序将其中的正数,负数分别送51H和71H开始的存储单元,并将正数,负数的个数送往50H和70H单元

最好能稍微解释下每一步什么意思 拜托了!很急!

1.
MOV A,R0
ADD A,R1
MOV 60H,A
MOV 20H,#00H
MOV 20H.0,CY
MOV 61H,20H

2.
MOV DPH,#10H
MOV R0,#00H
MOV R1,#30H
LOOP:
MOV DPL,R0
MOVX A,@DPTR
MOV @R1,A
INC R0
INC R1
CJNE R0,#31H,LOOP
RET

3.
MOV 00H,#71H
MOV 01H,#51H
MOV 08H,#20H
SETB RS0
CLR RS1
LOOP:
MOV A,@R0
CLR RS0
CLR RS1
JB ACC.7,FS ;判断是正数还是负数
ZS: ;如果是正数
MOV @R1,A
INC R1
AJMP NEXT
FS: ;如果是负数
MOV @R0,A
INC R1
AJMP NEXT
NEXT:
SETB RS0
CLR RS1
INC R0
CJNE R0,#3FH,LOOP
CLR RS0
CLR RS1
CLR C
MOV A,R0
SUBB A,#71H
MOV 50H,A ;负数的个数放在50h
CLR C
MOV A,R1
SUBB A,