|
MCS-51指令是什么? |
|
|
1. 指令分類統(tǒng)計 指令總數(shù):111條 操作碼:255個 助記符:48個 單字節(jié)指令:49條 單周期指令:64條 雙字節(jié)指令:48條 雙周期指令:45條 三字節(jié)指令:17條 四周期指令:2條
表3-1 MCS-51指令分類 數(shù)據(jù)傳送指令(29) 數(shù)據(jù)處理指令(48) 位操作指令(12) 程序控制指令(22) 1) 內(nèi)部傳送(16) 2) 外部傳送(4) 3) 查表 (2) 4) 交換 (5) 5) 棧操作 (2) 1) 算術(shù)運算(24) 2) 邏輯運算(24) 1) 位傳送(2) 2) 位置值(4) 3) 位邏輯(6) 1) 調(diào)用及返回(4) 2) 無條件轉(zhuǎn)移(4) 3) 條件轉(zhuǎn)移 (11) 4) 循環(huán) (2) 5) 空操作 (1)
2. 符號約定 Rn 表示當(dāng)前工作寄存器中的R0R7 Direct 表示對內(nèi)部單元直接尋址的8位地址 Ri 表示8位地址指針R0或R1,地址在R0或R1中。 DPTR 表示16位地址指針,地址在DPTR中。 #data 表示8位立即數(shù)。 #data16 表示16位立即數(shù)。 A+基地址 表示以A為變址寄存器。 addr11 表示短轉(zhuǎn)移的11位地址。 addr16 表示長轉(zhuǎn)移的16位地址。 rel 表示相對轉(zhuǎn)移的地址偏移量。 bit 表示位地址。 (xx) 表示XX單元的內(nèi)容,如(A)表示寄存器A的內(nèi)容。 ((xx)) 表示以(xx)為指針,所指單元的內(nèi)容。例如, ((DPTR))表示數(shù)據(jù)指針DPTR所指單元的內(nèi)容。 3. 尋址方式 表 F1-1 MCS-51指令系統(tǒng)的尋址方式 尋 址 方 式 尋 址 范 圍 操作數(shù)形式 舉 例 寄存器 尋址 R0-R7 ,DPTR Acc,B,C(Cy 位) 寄存器名 MOV R3,A INC DPTR 直接 尋址 內(nèi)部RAM 00H-7FH 特殊功能寄存器 80H-FFH 8位地址 SFR名 MOV 79H,SP PUSH P1
直接 位尋址 內(nèi)部RAM位尋址區(qū) (20H-2FH): 位地址00H-7FH 可尋址的特殊功能寄存器: 位地址 80H-F7H 8位地址 位名 SFR名.位序 MOV C,78H CLR TR0 ANL C,P0.1
寄存器 間接 尋址 以數(shù)據(jù)指針表示操作數(shù)。 內(nèi)部RAM 00H-7FH @R0 @R1 MOV A, @R0 ADD A, @R1 外部RAM或I/O端口 00H-FFH / 0000H-FFFFH @R0 ,@R1@DPTR MOVX A, @R0 MOVX @DPTR,A 立即 尋址 8位(二進(jìn)制)立即數(shù), # data MOV A,# 1 16位(二進(jìn)制)立即數(shù) # data16 MOV DPTR,#2000H 基址 加 變址 尋址 以變址方式讀程序存貯器 實際地址=基址+變址偏移量 8位無符號變址偏移量由A提供 基址由PC或DPTR提供 @A+DPTR @A+PC MOVC A,@A+DPTR MOVC A,@A+PC

|
|
|