MCS-51指令系統(tǒng)的尋址方式與實例介紹
尋址
方式
尋址范圍
操作數(shù)形式
舉例
寄存器
尋址
R0-R7,DPTR
Acc,B,C(Cy位)
寄存器名
MOVR3,A
INCDPTR
直接
尋址
內(nèi)部RAM00H-7FH
特殊功能寄存器80H-FFH
8位地址
SFR名
MOV79H,SP
PUSHP1
直接
位尋址
內(nèi)部RAM位尋址區(qū)(20H-2FH):
位地址00H-7FH
可尋址的特殊功能寄存器:
位地址80H-F7H
8位地址
位名
SFR名.位序
MOVC,78H
CLRTR0
ANLC,P0.1
寄存器
間接
尋址
以數(shù)據(jù)指針表示操作數(shù)。
內(nèi)部RAM00H-7FH
@R0
@R1
MOVA, @R0
ADDA,@R1
外部RAM或I/O端口
00H-FFH / 0000H-FFFFH
@R0,@R1@DPTR
MOVXA, @R0
MOVX@DPTR,A
立即
尋址
8位(二進(jìn)制)立即數(shù),
# data
MOVA,# 1
16位(二進(jìn)制)立即數(shù)
# data16
MOVDPTR,#2000H
基址
加
變址
尋址
以變址方式讀程序存貯器
實際地址=基址+變址偏移量
8位無符號變址偏移量由A提供
基址由PC或DPTR提供
@A+DPTR
@A+PC
MOVCA,@A+DPTR
MOVCA,@A+PC
轉(zhuǎn)移地址的尋址方式
相對
尋址
轉(zhuǎn)移地址=基址+相對偏移量rel
基址為取指令后的PC值
8位有符號數(shù)rel在指令中給出
rel
SJMP0EBH
標(biāo)號
SJMPLOOP;標(biāo)號
直接
尋址
短轉(zhuǎn)移,指令直接給出11位地址
Addr11或標(biāo)號
AJMPNEW;標(biāo)號
長轉(zhuǎn)移,指令直接給出16位地址
Addr16或標(biāo)號
LJMP2010H