將內(nèi)部存儲器存在外部數(shù)據(jù)存儲器中
;將內(nèi)部數(shù)據(jù)存儲器40H~4FH單元的16個數(shù)傳送到
;外部數(shù)據(jù)存儲器100H~10FH單元中。(要求用循環(huán)指令實現(xiàn))
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:
MOV R0, #40H
MOV DPTR, #100H
LOOP:
MOV A, @R0
MOVX @DPTR, A ;注意了,DPTR是16位的,寄存器間接尋址:尋址范圍,內(nèi)部低128字節(jié)單元(只能使用R0和R1做間接寄存器),糾結,keil軟件看不到外部數(shù)據(jù)存儲器的內(nèi)容
INC R0
INC DPTR
CJNE R0, #50H, LOOP
SJMP MAIN
END
;將片內(nèi)RAM 40H單元的內(nèi)容最高4位取反,最低2位置1,
;其余2位置0,并將結果保存在片外RAM 40H單元。
;提示:任何數(shù)跟1異或則取反,跟0異或則保持不變;
;任何數(shù)跟1相或則為1,跟0相或則保持不變;任何數(shù)
;跟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 ;任何數(shù)跟1異或則取反,跟0異或則保持不變
ORL A, #03H
ANL A, #0F3H
MOV R0, #40H
MOVX @R0, A
SJMP $
END