|
第六章 MCS-51指令系统表
助记符 操作码 说明 字节 振荡周期
ACALL addrll X1* 绝对子程序调用 2 24
ADD A,Rn 28~2F 寄存器和A相加 1 12
ADD A,direct 25 直接字节和A相加 2 12
ADD A,@R 26,27 间接RAM和A相加 1 12
ADD A,#data 24 立即数和A相加 2 12
ADDC A,Rn 38~3F 寄存器、进位位和A相加 1 12
ADDC A,dircet 35 直接字节、进位位和A相加 2 12
ADDC A,@R 36,37 间接RAM、进位位和A相加 1 12
ADDC A,dircet 34 立即数、进位位和A相加 2 12
AJMP addrll Y1** 绝对转移 2 24
ANL A,Rn 58~5F 寄存器和A相”与” 1 12
ANL A,direct 55 直接字节和A相”与" 2 12
ANL A,@Ri 56,57 间接RAM和A相"与" 1 12
ANL A,#data 54 立即数和A相"与" 2 12
ANL direct,A 52 A和直接字节相"与" 2 12
ANL direct,#data 53 立即数和直接字节相"与" 3 24
ANL C,bit 82 直接位和进位相"与" 2 24
ANL C,/bit B0 直接位的反和进位相"与" 2 24
CJNE A,dircet,rel B5 直接字节与A比较,不相等则相对转移 3 24
CJNE A,#data,rel B4 立即数与A比较,不相等则相对转移 3 24
CJNE Rn,#data,rel B8~BF 立即数与寄存器相比较,不相等则相对转移 3 24
CJNE @R,#data,rel B6,B7 立即数与间接RAM相比较,不相等则相对转移 3 24
CLR A E4 A清零 1 12
CLR bit C2 直接位清零 2 12
CLR C C3 进位清零 1 12
CPL A F4 A取反 1 12
CPL bit B2 直接位取反 2 12
CPL C B3 进位取反 1 12
DA A D4 A的十进制加法调整 1 12
DEC A 14 A减1 1 12
DEC Rn 18~1F 寄存器减1 1 12
DEC direct 15 直接字节减1 2 12
DEC @Ri 16,17 间接RAM减1 1 12
DIV AB 84 A除以B 1 48
DJNE Rn,rel DB~DF 寄存器减1,不为零则相对转移 3 24
DJNE direct,rel D5 直接字节减1,不为零则相对转移 3 24
INC A 04 A加1 1 12
INC Rn 08~0F 寄存器加1 1 12
INC direct 05 直接字节加1 2 12
INC @Ri 06,07 间接RAM加1 1 12
INC DPTR A3 数据指针加1 1 24
JB bit;rel 20 直接位为1,则相对转移 3 24
JBC bit,rel 10 直接位为1,则相对转移,然后该位清0 3 24
JC rel 40 进位为1,则相对转移 2 24
JMP @A+DPTR 73 转移到A+DPTR所指的地址 1 24
JNB bit,rel 30 直接位为0,则相对转移 3 24
JNC rel 50 进位为0,则相对转移 2 24
JNZ rel 70 A不为零,则相对转移 2 24
JZ rel 60 A为零,则相对转移 2 24
LCALL addr16 12 长子程序调用 3 24
LJMP addr16 02 长转移 3 24
MOV A,Rn E8~EF 寄存器送A 1 12
MOV A,direct E5 直接字节送A 2 12
MOV A,@Ri E6,E7 间接RAM送A 1 12
MOV A,#data 74 立即数送A 2 12
MOV Rn,A F8~FF A送寄存器 1 12
MOV Rn,direct A8~AF 直接字节送寄存器 2 24
MOV Rn,#data 78~7F 立即数送寄存器 2 12
MOV direct,A F5 A送直接字节 2 12
MOV direct,Rn 88~8F 寄存器送直接字节 2 24
MOV direct,direct 85 直接字节送直接字节 3 24
MOV direct,@Ri 86,87 间接RAM送直接字节 2 24
MOV direct,#data 75 立即数送直接字节 3 24
MOV @Ri,A F6,F7 A送间接RAM 1 12
MOV @Ri,direct A6,A7 直接字节送间接RAM 2 24
MOV @Ri,#data 76,77 立即数送间接RAM 2 12
MOV C,bit A2 直接位进位 2 12
MOV bit,C 92 进位送直接位 2 24
MOV DPTR,#data16 90 16位常数送数据指针 3 24
MOVC A,@A+DPTR 93 由A+DPTR寻直的程序存储器字节送A 1 24
MOVC A,@A+PC 83 由A+PC寻址的程序存储字节送A 1 24
MOVX A,@Ri E2,E3 外部数据存储器(8位地址)送A 1 24
MOVX A,@DPTR E0 外部数据存储器(16位地址)送A 1 24
MOVX @Ri,A F2,F3 A送外部数据存储器(8位地址) 1 24
MOVX @DPTR,A F0 A送外部数据存储器(16位地址) 1 24
MUL AB A4 A乘以B 1 48
NOP 00 空操作 1 12
ORL A,Rn 48~4F 寄存器和A相"或" 1 12
ORL A,direct 45 直接字节和A相"或" 2 12
ORL A,@Ri 46,47 间接RAM和A相"或" 1 12
ORL A,#data 44 立接数和A相"或" 2 12
ORL direct,A 42 A和直接。字节"或" 2 12
ORL dircect,#data 43 立即数和直接字节相"或" 3 24
ORL C,bit 72 直接位和进位相"或" 2 24
ORL C,/bit A0 直接位的反和进位相"或" 2 24
POP direct D0 直接字节退栈,SP减1 2 24
PUSH direct C0 SP加1,直接字节进栈 2 24
RET 22 子程序调用返回 1 24
RETI 32 中断返回 1 24
RL A 23 A左环移 1 12
RLC A 33 A带进位左环移 1 12
RR A 03 A右环移 1 12
RRC A 13 A带进位右环移 1 12
SETB bit D2 直接位置位 2 12
SETB C D3 进位置位 1 12
SJMP rel 80 短转移 2 24
SUBB A,Rn 98~F A减去寄存器及进位位 1 12
SUBB A,direct 95 A减去直接字节及进位位 2 12
SUBB A,@Ri 96,97 A减去间接RAM及进位位 1 12
SUBB A,#data 94 A减去立即数及进位位 2 12
SWAP A C4 A的高半字节和低半字节交换 1 12
XCH A,Rn C8~CF A和寄存器交换 1 12
XCH A,direct C5 A和直接字节交换 2 12
XCH A,@Ri C6,C7 A和间接RAM交换 1 12
XCHD A,@Ri D6,D7 A和间接RAM的低四位交换 1 12
XRL A,Rn 68~6F 寄存器和A相"异或" 1 12
XRL A,direct 65 直接字节和A相"异或" 2 12
XRL A,@Ri 66,67 间接RAM和A相"异或" 1 12
XRL A,#data 64 立即数和A相"异或" 2 12
XRL direct,A 62 A和直接字节相"异或" 2 12
XRL direct,#data 63 立即数和直接字节相"异或" 3 24
* X=1,3,5,7,9,B,D,F,即X1为11,31,51,71,91,B1,D1,F1
** Y=0,2,4,6,8,A,C,E,即Y0 为01,21,41,61,81,A1,C1,E1 |
|