求一简单51单片机汇编程序: 将内部RAM中41H~43H单元中的数左移4位,移出部分送到40H单元。

关键部分 带上注释 谢谢

第1个回答  推荐于2018-04-27
;将内部RAM中41H~43H单元中的数左移4位,移出部分送到40H单元。

;先准备数据:
MOV 40H, #0
MOV 41H, #34H
MOV 42H, #56H
MOV 43H, #78H

;40H 41H 42H 43H
; 00 34 56 78

MOV R1, #40H
MOV R0, #43H

MOV A, @R0 ;取数.
SWAP A ;高低四位交换.
XCHD A, @R1 ;暂存"高"四位.
MOV @R0, A ;存放.

DEC R0 ;42H

MOV A, @R0 ;取数.
SWAP A ;高低四位交换.
XCHD A, @R1 ;暂存"高"四位.
MOV @R0, A ;存放.

DEC R0 ;41H

MOV A, @R0 ;取数.
SWAP A ;高低四位交换.
XCHD A, @R1 ;暂存"高"四位.
MOV @R0, A ;存放.

;本程序也可编写成循环结构.

SJMP $

END

;程序执行完后,数字分布如下:

;40H 41H 42H 43H
; 03 45 67 80本回答被提问者和网友采纳