51单片机指令表
- 格式:doc
- 大小:63.50 KB
- 文档页数:9
51单片机指令表(转嵌入式博文)单片机指令功能一览表助记笿代码说明MOV A,Rn E8~EF 寄存器AMOV A,direct E5 dircet 直接字节送AMOV A,@Ri ER~E7 间接RAM送AMOV A,#data 74 data 立即数送AMOV Rn,A F8~FF A送寄存器MOV Rn,dircet A8~AF dircet 直接字节送寄存器MOV Rn,#data 78~7F data 立即数送寄存器MOV dircet,A F5 dircet A送直接字芿MOV dircet,Rn 88~8F dircet 寄存器送直接字芿MOV dircet1,dircet2 85 dircet1 dircet2 直接字节送直接字芿MOV dircet,@Ro 86~87 间接RAM送直接字芿MOV dircet,#data 75 dircet data 立即数送直接字芿MOV @Ri,A F6~F7 A送间接RAMMOV @Ri,#data 76~77 data 直接字节送间接RAMMOV @Ri,#data 76~77 data 立即数送间接RAMMOV DPTR,#data16 90 data 15~8 16位常数送数据指钿data7~0MOVC A,@A+DPTR 93 甿(A)+(DPTR))寻址的程序存贿器字节选AMOVC A,@A+PC 83 甿(A)+(PC));寻址的程序存贮器字节送A MOVX A,@Ri E2~E3 送外部数据(8位地址)送AMOVX A,@DPTR E0 送外部数据(16位地址)送AMOVX @Ri,A F2~F3 A送外部数据(8位地址_MOVX @DPTR,A F0 A送外部数据(16位地址_PUSH dircet C0 dircet 直接字节进栈,SP势POP dircet D0 dircet 直接字节退栈,SP凿XCH A,Rn C8~CF 交换A和寄存器XCH A,dircet C5 dircet 交换A和直接字芿XCH A,@Ri C6~C7 交换A和间接RAMXCH A,@Ri D6~D7 交换A和间接RAM的低使SWAP A C4算术操作(A的二个半字节交换_ADD A,Rn 28~2F 寄存器加到AADD A,dircet 25 dircet 直接字节加到AADD A,@Ri 26~27 间接RAM加到AADD A,#data 24data 立即数加到AADD A,Rn 38~3F 寄存器和进位位加到AADD A,dircet 35dircet 直接字节和进位位加到AADD A,@Ri 36~37 间接字节和进位位加到AADD A,data 34 data 立即数和进位位加到AADD A,Rn 98~9F A减去寄存器和进位使ADD A,dircet 95 dircet A减去直接字节和进位位ADD A,@Ri 36~37 间接RAM和进位位加到AADD A,data 34 data 立即数和进位位加到ASUBB A,Rn 98~9F A减去寄存器和进位使SUBB A,dircet 95 dircet A减去直接字节和进位位SUBB A,@Ri 96~97 A减去间接RAM和进位位SUBB A,#data 94 data A减去立即数和进位使INC A 04 A势INC Rn 08~0F 寄存器加1INC dircet 05 dircet 直接字节势INC @Ri 06~07 间接RAM势DEC A 14 A凿DEC Rn 18~1F 寄存器减1DEC dircet 15 dircet 直接字节凿DEC @Ri 16~17 间接RAM凿INC DPTR A3 数据指针势MUL AB A4 A乘以BDIV AB 84 A除以BDA A D4 A的十进制加法调整逻辑操作ANL A,Rn 58~5F 寄存噿ldquo;丿rdquo;到AANL A,dircet 55 dircet 直接字节“丿rdquo;到AANL A,@Ri 56~57 间接RAm“丿rdquo;到AANL A,#data 54 data 立即敿ldquo;丿rdquo;到AANL dircet A 52 dircet A“丿rdquo;到直接字芿ANL dircet,#data 53 dircet data 立即敿ldquo;丿rdquo;到直接字芿ORL A,Rn 48~4F 寄存噿ldquo;房rdquo;到AORL A,dircet 45 dircet 直接字节“房rdquo;到AORL A,@Ri 46~47 间接RAM“房rdquo;到AORL A,#data 44 data 立即敿ldquo;房rdquo;到AORL dircet,A 42 dircet A“房rdquo;到直接字芿ORL dircet,#data 43 dircet data 立即敿ldquo;房rdquo;到直接字芿XRL A,Rn 68~6F 寄存噿ldquo;异或”到AXRL A,dircet 65 dircet 直接字节“异或”到AXRL A,@Ri 66~67 间接RAM“异或”到AXRL A,#data 64 data 立即敿ldquo;异或”到AXRL dircet A 62 dircet A“异或”到直接字芿XRL dircet,#data 63 dircet data 立即敿ldquo;异或”到直接字芿CLR A E4 清零CPL A F4 A取反RL A 23 A左环秿RLC A 33 A通过进位左环秿RR A 03 A右环秿RRC A 13 A通过进位右环秿控制程序转移ACALL addr 11 *1 addr(a7~a0) 绝对子程序调甿LCALL addr 16 12 addr(15~8) 长子程序调用addr(7~0)RET 22 子程序调用返囿RETI addr 11 32 中断调用返回AJMP addr 11 ? addr(a7~a6) 绝对转移LJMP addr 16 02addr(15~8) 长转秿addr(7~0)SJMP rel 80 rel 短转移,相对转移JMP @A+DPTR 73 相对于DPTR间接转移JZ rel 60 rel A为零转移JNZ rel 70 rel A为零转移CJNE A,dircet,rel B5 dircet rel 直接字节与A比较,不等则转移CJNE A,#data,rel B4 data rel 立即数与A比较,不等则转移CJNE A,Rn,#data,rel B8~BF data rel 立即数与寄存器比较,不等则转秿CJNE @Ri,#data,rel B6~B7 data rel 立即数与间接RAM比较,不等则转移DJNZ Rn,rel D8~DF rel 寄存器减1,不为零则转秿DJNZ dircet,rel B5 dircet rel 直接字节凿,不为零则转秿NOP 00 空操使*=a10a9a8l?a10a9a80布尔变量操作CLR C C3 清零进位CLR bit C2 清零直接使SETB C D3 置位进位SETB bit D2 置位直接使CPL C B3 进位取反CPL bit B2 直接位取叿ANL C,bit 82 dit 直接敿ldquo;丿rdquo;到进使ANL C,/bit B0 直接位的叿ldquo;丿rdquo;到进使ORL C,bit 72 bit 直接使ldquo;房rdquo;到进使ORL C,/bit A0 bit 直接位的叿ldquo;房rdquo;到进使MOV C,bit A2 bit 直接位送进使MOV bit,C 92 bit 进位送直接位JC rel 40 rel 进位位为1转移JNC rel 50 rel 进位位为0转移JB bit,rel 20 bit rel 直接位为1相对转移JNB bit,rel 30 bit rel 直接位为0相对转移JBC bit,rel 10 bit rel 直接位为1相对转移,然后清零该使[1]. 循环移位指令_条)RL A 累加器A中的内容左移一使RR A 累加器A中的内容右移一使RLC A 累加器A中的内容连同进位位CY左移一使RRC A 累加器A中的内容连同进位位CY右移一使[2]. 累加器半字节交换指令_条)SWAP A 累加器中的内容高低半字节互换[3]. 求反指令_条)CPL A 累加器中的内容按位取叿[4]. 清零指令_条)CLR A 0→(A),累加器中的内容清0[5]. 逻辑与操作指令(6条)ANL A,data 累加器A中的内容和直接地址单元中的内容执行与逻辑操作。
结果存在寄存器A中?ANL data,#data 直接地址单元中的内容和立即数执行与逻辑操作。
结果存在直接地址单元中?ANL A,#data 累加器A的内容和立即数执行与逻辑操作。
结果存在累加器A中?ANL A,Rn 累加器A的内容和寄存器Rn中的内容执行与逻辑操作。
结果存在累加器A中? ANL data,A 直接地址单元中的内容和累加器A的内容执行与逻辑操作。
结果存在直接地址单元中?ANL A,@Ri 累加器A的内容和工作寄存器Ri指向的地址单元中的内容执行与逻辑操作。
结果存在累加器A中?[6]. 逻辑或操作指令(6条)这组指令的作用是将两个单元中的内容执行逻辑或操作。
如果直接地址是I/O地址,则丿ldquo;诿mdash;修改—冿rdquo;操作?ORL A,data 累加器A中的内容和直接地址单元中的内容执行逻辑或操作。
结果存在寄存器A中?ORL data,#data 直接地址单元中的内容和立即数执行逻辑或操作。
结果存在直接地址单元中?ORL A,#data 累加器A的内容和立即数执行逻辑或操作。
结果存在累加器A中?ORL A,Rn 累加器A的内容和寄存器Rn中的内容执行逻辑或操作。
结果存在累加器A中? ORL data,A 直接地址单元中的内容和累加器A的内容执行逻辑或操作。
结果存在直接地址单元中?ORL A,@Ri 累加器A的内容和工作寄存器Ri指向的地址单元中的内容执行逻辑或操作。
结果存在累加器A中?[7]. 逻辑异或操作指令_条)XRL A,data 累加器A中的内容和直接地址单元中的内容执行逻辑异或操作。
结果存在寄存器A中?XRL data,#data 直接地址单元中的内容和立即数执行逻辑异或操作。
结果存在直接地址单元中?XRL A,#data 累加器A的内容和立即数执行逻辑异或操作。
结果存在累加器A中? XRL A,Rn 累加器A的内容和寄存器Rn中的内容执行逻辑异或操作。