-1-指令集(111条)助记符说明字节周期代码1.数据传送指令(30条)MOVA,Rn寄存器送A11E8--EFMOVA,data直接字节送A21E5MOVA,@Ri间接RAM送A11E6--E7MOVA,#data立接数送A2174MOVRn,AA送寄存器11F8--FFMOVRn,data直接数送寄存器22A8--AFMOVRn,#data立即数送寄存器2178--7FMOVdata,AA送直接字节21F5MOVdata,Rn寄存器送直接字节2188—8FMOVdata,data直接字节送直接字节3285MOVdata,@Ri间接Rn送直接字节2286;87MOVdata,#data立即数送直接字节3275MOV@Ri,AA送间接Rn12F6;F7MOV@Ri,data直接字节送间接Rn11A6;A7MOV@Ri,#data立即数送间接Rn2276;77MOVDPTR,#data1616位常数送数据指针3190MOVC,bit直接位送进位位21A2MOVbit,C进位位送直接位2292MOVCA,@A+DPTRA+DPTR寻址程序存贮字节送A3293MOVCA,@A+PCA+PC寻址程序存贮字节送A1283MOVXA,@Ri外部数据送A(8位地址)12E2;E3MOVXA,@DPTR外部数据送A(16位地址)12E0MOVX@Ri,AA送外部数据(8位地址)12F2;F3MOVX@DPTR,AA送外部数据(16位地址)12F0PUSHdata直接字节进栈道,SP加122C0POPdata直接字节出栈,SP减122D0XCHA,Rn寄存器与A交换11C8—CFXCHA,data直接字节与A交换21C5XCHA,@Ri间接Rn与A交换11C6;C7XCHDA,@Ri间接Rn与A低半字节交换11D6;D72.逻辑运算指令(35条)ANLA,Rn寄存器与到A1158—5FANLA,data直接字节与到A2155ANLA,@Ri间接RAM与到A1156;57ANLA,#data立即数与到A2154ANLdata,AA与到直接字节2152ANLdata,#data立即数与到直接字节3253ANLC,bit直接位与到进位位2282ANLC,/bit直接位的反码与到进位位22B0-2-ORLA,Rn寄存器或到A1148—4FORLA,data直接字节或到A2145ORLA,@Ri间接RAM或到A1146;47ORLA,#data立即数或到A2144ORLdata,AA或到直接字节2142ORLdata,#data立即数或到直接字节3243ORLC,bit直接位或到进位位2272ORLC,/bit直接位的反码或到进位位22A0XRLA,Rn寄存器异或到A1168—6FXRLA,data直接字节异或到A2165XRLA,@Ri间接RAM异或到A1166;67XRLA,#data立即数异或到A2164XRLdata,AA异或到直接字节2162XRLdata,#data立即数异或到直接字节3263SETBC进位位置111D3SETBbit直接位置121D2CLRAA清011E4CLRC进位位清011C3CLRbit直接位清021C2CPLAA求反码11F4CPLC进位位取反11B3CPLbit直接位取反21B2RLAA循环左移一位1123RLCAA带进位左移一位1133RRAA右移一位1103RRCAA带进位右移一位1113SWAPAA半字节交换11C43.算术运算指令(24条)ADDA,Rn寄存器加到A1128—2FADDA,data直接字节加到A2125ADDA,@Ri间接RAM加到A1126;27ADDA,#data立即数加到A2124ADDCA,Rn寄存器带进位加到A1138—3FADDCA,data直接字节带进位加到A2135ADDCA,@Ri间接RAM带进位加到A1136;37ADDCA,#data立即数带进位加到A2134SUBBA,Rn从A中减去寄存器和进位1198—9FSUBBA,data从A中减去直接字节和进位2195SUBBA,@Ri从A中减去间接RAM和进位1196;97SUBBA,#data从A中减去立即数和进位2194INCAA加11104INCRn寄存器加11108—0FINCdata直接字节加12105-3-INC@Ri间接RAM加11106;07INCDPTR数据指针加112A3DECAA减11114DECRn寄存器减11118—1FDECdata直接字节减12115DEC@Ri间接RAM减11116;17MULABA乘B14A4DIVABA被B除1484DAAA十进制调整11D44.转移指令(22条)AJMPaddr11绝对转移22*1LJMPaddr16长转移3202SJMPrel短转移2280JMP@A+DPTR相对于DPTR间接转移1273JZrel若A=0则转移2260JNZrel若A≠0则转移2270JCrel若C=1则转移2240JNCrel若C≠1则转移2250JBbit,rel若直接位=1则转移3220JNBbit,rel若直接位=0则转移3230JBCbit,rel若直接位=1则转移且清除3210CJNEA,data,rel直接数与A比较,不等转移32B5CJNEA,#data,rel立即数与A比较,不等转移32B4CJNE@Ri,#data,rel立即数与间接RAM比较,不等转移32B6;B7CJNERn,#data,rel立即数与寄存器比较不等转移32B8—BFDJNZRn,rel寄存器减1不为0转移22D8—DFDJNZdata,rel直接字节减1不为0转移32D5ACALLaddr11绝对子程序调用22*1LCALLaddr16子程序调用3212RET子程序调用返回1222RETI中断程序调用返回1232NOP空操作1100