;将内部数据存储器40H~4FH单元的16个数传送到
;外部数据存储器100H~10FH单元中。(要求用循环指令实现)
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:
MOV R0, #40H
MOV DPTR, #100H
LOOP:
MOV A, @R0
MOVX @DPTR, A ;注意了,DPTR是16位的,寄存器间接寻址:寻址范围,内部低128字节单元(只能使用R0和R1做间接寄存器),纠结,keil软件看不到外部数据存储器的内容
INC R0
INC DPTR
CJNE R0, #50H, LOOP
SJMP MAIN
END
;将片内RAM 40H单元的内容最高4位取反,最低2位置1,
;其余2位置0,并将结果保存在片外RAM 40H单元。
;提示:任何数跟1异或则取反,跟0异或则保持不变;
;任何数跟1相或则为1,跟0相或则保持不变;任何数
;跟0相与则置0,跟1相与则保持不变。
;对于位操作,先把某书存在c里面去先,之后在进行相应的位操作 eg MOV C ACC.5 ORL C, OV
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:
;MOV 40H, #55H
MOV A, 40H
XRL A, #0F0H ;任何数跟1异或则取反,跟0异或则保持不变
ORL A, #03H
ANL A, #0F3H
MOV R0, #40H
MOVX @R0, A
SJMP $
END
上一篇:单片机模板程序(c)
下一篇:跑马灯/输入输出接口(片选地址74LS273)