七種尋址方式
*********************************************************
【立即尋址】
MOV A,#20H ;20H數據傳送給累加器A
MOV DPRT,#1020H ;10給DPRT的DPH高8位,20給DPRT的DPL低8位
【直接尋址】
MOV A,10H ;將10H單元的內容給A
MOV A,P1
SETB EA
【寄存器尋址】
MOV A,R2 ;將R2的內容給A。
【寄存器間接尋址】
MOV R0,#10H
MOV A,@R0
【變址尋址】
以數據指針DPRT或程序計數器PC作基址寄存器,以累加器A作偏移地址寄存器,
并以兩內容相加形成的16位作為操作數地址。主要用于查表操作。
只對程序存儲器進行尋址。64KB。
MOVC A,@A+DPTR
MOVC A,@A+PC
JMP @A+DPTR
【相對尋址】
SJMP 10H
【位尋址】
按位進行尋址操作。
MOV C,21H
MOV C,P1.0
*********************************************************
【堆棧操作】
1.
20H與A中內容交換。
解答:MOV 20H,#05H
MOV A,#01H
PUSH ACC
PUSH 20H
POP 20H
POP ACC
注意: 堆棧 先進后出
2.
將片內RAM 60H單元與61H單元的數據交換
MOV A,60H
XCH A,61H
MOV 60H,A
3.將外部RAM中0010H單元中的內容送入外部RAM中的2000H單元中
MOV R0,#0010H
MOVX A,@R0
MOV DPTR,#2000H
MOVX @DPRT,A
4.
將累加器A的高四位傳送給P1口高四位,但P1低四位不變。
解答:
MOV R0,A
ANL A,F0H
ANL P1,0FH
ORL P1,A
MOV A,R0
5.
將累加器A中無符號數乘2
(1)CLR C
RLC A ;進位左移一位相當于乘2
(2)MOV B,#2
MUL A,B ;乘法
|