MCS-51系列單片機(jī)尋找操作數(shù)存放單元的地址的方式
尋找操作數(shù)存放單元的地址的方式,共6種方式。
1.立即數(shù)尋址
所要找的操作數(shù)是一二進(jìn)制數(shù)或十進(jìn)制數(shù),出現(xiàn)在指令中,用“#”作前綴
MOVA,#20H
2.寄存器尋址
操作數(shù)存放在工作寄存器R0 ~ R7中,或寄存器B中。
MOVA,R2
3.直接尋址
指令中直接給出操作數(shù)的地址。
MOVA,30H
MOV30H,DPH
4.寄存器間接尋址
指令中寄存器的內(nèi)容作為操作數(shù)存放的地址,指令中間接尋址寄存器前用“@”表示前綴。
MOVR0,#30H
MOVA,@R0
MOVA,#20H
MOVR1,#40H
MOV@R1,A
5.變址尋址
操作數(shù)地址=變地址+基地址
基地址寄存器DPTR或PC
變址寄存器@A
該尋址方式常用于訪問程序存儲器,查表。
MOVA,@A + DPTR
6.相對尋址
把指令中給定的地址偏移量與本指令所在單元地址(PC內(nèi)容)相加得到真正有效的操作數(shù)所存放的地址。
JC60H;設(shè)(PC)= 2000H,
則當(dāng)C = 1時(shí),
轉(zhuǎn)移的目的地址=PC)+ 2 + 60