51单片机汇编语言指令集
指
助 | 说明 | 字节 | 周期 | 代 |
1.数据传送指令(30条) | ||||
MOV A,Rn | 寄存器送 | 1 | 1 | E8--EF |
MOV A,data | 直接字节送A | 2 | 1 | E5 |
MOV A,@Ri | 间接RAM | 1 | 1 | E6--E7 |
MOV A,#data | 立接数送 | 2 | 1 | 74 |
MOV Rn,A | A | 1 | 1 | F8--FF |
MOV Rn,data | 直接数送寄存器 | 2 | 2 | A8--AF |
MOV Rn,#data | 立即数送寄存器 | 2 | 1 | 78--7F |
MOV data,A | A | 2 | 1 | F5 |
MOV data,Rn | 寄存器送直接字节 | 2 | 1 | 88—8F |
MOV data,data | 直接字节送直接字节 | 3 | 2 | 85 |
MOV data,@Ri | 间接 | 2 | 2 | 86;87 |
MOV data,#data | 立即数送直接字节 | 3 | 2 | 75 |
MOV @Ri,A | A | 1 | 2 | F6;F7 |
MOV @Ri,data | 直接字节送间接Rn | 1 | 1 | A6;A7 |
MOV @Ri,#data | 立即数送间接 | 2 | 2 | 76;77 |
MOV DPTR,#data16 | 16 | 3 | 1 | 90 |
MOV C,bit | 直接位送进位位 | 2 | 1 | A2 |
MOV bit,C | 进位位送直接位 | 2 | 2 | 92 |
MOVC A,@A+DPTR | A+DPTR | 3 | 2 | 93 |
MOVC A,@A+PC | A+PC | 1 | 2 | 83 |
MOVX A,@Ri | 外部数据送A(8 | 1 | 2 | E2;E3 |
MOVX A,@DPTR | 外部数据送A(16 | 1 | 2 | E0 |
MOVX @Ri,A | A | 1 | 2 | F2;F3 |
MOVX @DPTR,A | A | 1 | 2 | F0 |
PUSH data | 直接字节进栈道,SP | 2 | 2 | C0 |
POP data | 直接字节出栈,SP | 2 | 2 | D0 |
XCH A,Rn | 寄存器与 | 1 | 1 | C8—CF |
XCH A,data | 直接字节与A | 2 | 1 | C5 |
XCH A,@Ri | 间接Rn | 1 | 1 | C6;C7 |
XCHD A,@Ri | 间接Rn | 1 | 1 | D6;D7 |
2.逻辑运算指令(35条) | ||||
ANL A,Rn | 寄存器与到A | 1 | 1 | 58—5F |
ANL A,data | 直接字节与到A | 2 | 1 | 55 |
ANL A,@Ri | 间接RAM与到A | 1 | 1 | 56;57 |
ANL A,#data | 立即数与到A | 2 | 1 | 54 |
ANL data,A | A与到直接字节 | 2 | 1 | 52 |
ANL data,#data | 立即数与到直接字节 | 3 | 2 | 53 |
ANL C,bit | 直接位与到进位位 | 2 | 2 | 82 |
ANL C,/bit | 直接位的反码与到进位位 | 2 | 2 | B0 |
ORL A,Rn | 寄存器或到A | 1 | 1 | 48—4F |
ORL A,data | 直接字节或到A | 2 | 1 | 45 |
ORL A,@Ri | 间接RAM或到A | 1 | 1 | 46;47 |
ORL A,#data | 立即数或到A | 2 | 1 | 44 |
ORL data,A | A或到直接字节 | 2 | 1 | 42 |
ORL data,#data | 立即数或到直接字节 | 3 | 2 | 43 |
ORL C,bit | 直接位或到进位位 | 2 | 2 | 72 |
ORL C,/bit | 直接位的反码或到进位位 | 2 | 2 | A0 |
XRL A,Rn | 寄存器异或到A | 1 | 1 | 68—6F |
XRL A,data | 直接字节异或到A | 2 | 1 | 65 |
XRL A,@Ri | 间接RAM异或到A | 1 | 1 | 66;67 |
XRL A,#data | 立即数异或到A | 2 | 1 | 64 |
XRL data,A | A异或到直接字节 | 2 | 1 | 62 |
XRL data,#data | 立即数异或到直接字节 | 3 | 2 | 63 |
SETB C | 进位位置 | 1 | 1 | D3 |
SETB bit | 直接位置 | 2 | 1 | D2 |
CLR A | A清0 | 1 | 1 | E4 |
CLR C | 进位位清 | 1 | 1 | C3 |
CLR bit | 直接位清 | 2 | 1 | C2 |
CPL A | A求反码 | 1 | 1 | F4 |
CPL C | 进位位取反 | 1 | 1 | B3 |
CPL bit | 直接位取反 | 2 | 1 | B2 |
RL A | A循环左移一位 | 1 | 1 | 23 |
RLC A | A | 1 | 1 | 33 |
RR A | A右移一位 | 1 | 1 | 03 |
RRC A | A | 1 | 1 | 13 |
SWAP A | A | 1 | 1 | C4 |
3.算术运算指令(24条) | ||||
ADD A,Rn | 寄存器加到A | 1 | 1 | 28—2F |
ADD A,data | 直接字节加到A | 2 | 1 | 25 |
ADD A,@Ri | 间接RAM | 1 | 1 | 26;27 |
ADD A,#data | 立即数加到A | 2 | 1 | 24 |
ADDC A,Rn | 寄存器带进位加到 | 1 | 1 | 38—3F |
ADDC A,data | 直接字节带进位加到A | 2 | 1 | 35 |
ADDC A,@Ri | 间接RAM | 1 | 1 | 36;37 |
ADDC A,#data | 立即数带进位加到 | 2 | 1 | 34 |
SUBB A,Rn | 从A | 1 | 1 | 98—9F |
SUBB A,data | 从A | 2 | 1 | 95 |
SUBB A,@Ri | 从A | 1 | 1 | 96;97 |
SUBB A,#data | 从A | 2 | 1 | 94 |
INC A | A加1 | 1 | 1 | 04 |
INC Rn | 寄存器加 | 1 | 1 | 08—0F |
INC data | 直接字节加1 | 2 | 1 | 05 |
INC @Ri | 间接RAM | 1 | 1 | 06;07 |
INC DPTR | 数据指针加1 | 1 | 2 | A3 |
DEC A | A减1 | 1 | 1 | 14 |
DEC Rn | 寄存器减 | 1 | 1 | 18—1F |
DEC data | 直接字节减1 | 2 | 1 | 15 |
DEC @Ri | 间接RAM | 1 | 1 | 16;17 |
MUL AB | A乘B | 1 | 4 | A4 |
div AB | A被B除 | 1 | 4 | 84 |
DA A | A十进制调整 | 1 | 1 | D4 |
4.转移指令(22条) | ||||
AJMP addr 11 | 绝对转移 | 2 | 2 | *1 |
LJMP addr 16 | 长转移 | 3 | 2 | 02 |
SJMP rel | 短转移 | 2 | 2 | 80 |
JMP @A+DPTR | 相对于DPTR | 1 | 2 | 73 |
JZ rel | 若A=0 | 2 | 2 | 60 |
JNZ rel | 若A≠0 | 2 | 2 | 70 |
JC rel | 若C=1 | 2 | 2 | 40 |
JNC rel | 若C≠1 | 2 | 2 | 50 |
JB bit,rel | 若直接位=1 | 3 | 2 | 20 |
JNB bit,rel | 若直接位=0 | 3 | 2 | 30 |
JBC bit,rel | 若直接位=1 | 3 | 2 | 10 |
CJNE A,data,rel | 直接数与 | 3 | 2 | B5 |
CJNE A,#data,rel | 立即数与 | 3 | 2 | B4 |
CJNE @Ri,#data,rel | 立即数与间接RAM比较,不等转移 | 3 | 2 | B6;B7 |
CJNE Rn,#data,rel | 立即数与寄存器比较不等转移 | 3 | 2 | B8—BF |
DJNZ Rn,rel | 寄存器减 | 2 | 2 | D8—DF |
DJNZ data,rel | 直接字节减1 | 3 | 2 | D5 |
ACALL addr 11 | 绝对子程序调用 | 2 | 2 | *1 |
LCALL addr 16 | 子程序调用 | 3 | 2 | 12 |
RET | 子程序调用返回 | 1 | 2 | 22 |
RETI | 中断程序调用返回 | 1 | 2 | 32 |
NOP | 空操作 | 1 | 1 | 00 |
51单片机汇编语言指令 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)