请教朋友指点下单片机程序题,谢谢~~

来源:百度知道 编辑:UC知道 时间:2024/06/08 23:09:08
5.试编写程序,将内部RAM中DATA1单元开始的20个单字节数据依次与DATA2单元为起始地址的20个单字节数据进行交换。
6.试编程将内部RAM中41H~43H单元中的数左移4位,移出部分送40H单元。
7.试编写一程序,将外部数据区DATA1单元开始的50个单字节数逐一依次移至内部RAM中DATA2单元开始的数据区中。
8.设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元中的内容分别为24H和10H,执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?
PUSH 30H
PUSH 31H
POP DPL
POP DPH
MOV 30H,#00H
MOV 31H,#0FFH

5.
MOV R0,#DATA1
MOV R1,#DATA2
MOV R7,#20
LOOP:MOV A.@R0
XCH A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R7,LOOP
SJMP $
6.
MOV R0,#41H
MOV R7,#03H
LOOP:MOV A,@R0
SWAP A
MOV @R0,A
INC R0
DJNZ R7,LOOP
MOV 40H,#00H
MOV R0,#41H
MOV R7,#03H
NEXT:MOV A,@R0
ANL A,#0FH
DEC R0
ORL A,@R0
MOV @R0,A
INC R0
MOV A,@R0
ANL A,#0F0H
MOV @R0,A
INC R1
DJNZ R7,NEXT
SJMP $
7.
MOV DPTR,#DATA1
MOV DPTR,#DATA2
MOV R7,#50
NEXT:MOVX A,@DPTR
MOV @R0,A
INC DPTR
INC R0
DJNZ R7,NEXT
SJMP $
8.
(60H)=24H ; (61H)=10H ;(62H)保持不变 ; (30H)=00H ; (31)=FFH ; (DPTR)=2410H ; (SP)=60H

刷新