单片机指令功能

时间:2015-12-07


  单片机指令功能一览表

  一、传送操作

  助记符 代码 说明

  MOV A,Rn E8~EF 寄存器A

  MOV A,direct E5 dircet 直接字节送A

  MOV A,@Ri ER~E7 间接RAM送A

  MOV A,#data 74 data 立即数送A

  MOV 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送间接RAM

  MOV @Ri,#data 76~77 data 直接字节送间接RAM

  MOV @Ri,#data 76~77 data 立即数送间接RAM

  MOV DPTR,#data16 90 data 15~8 16位常数送数据指针

  data7~0

  MOVC A,@A+DPTR 93 由((A)+(DPTR))寻址的程序存贮

  器字节选A

  MOVC A,@A+PC 83 由((A)+(PC));寻址的程序存贮器字节送A

  MOVX A,@Ri E2~E3 送外部数据(8位地址)送A

  MOVX A,@DPTR E0 送外部数据(16位地址)送A

  MOVX @Ri,A F2~F3 A送外部数据(8位地址)

  MOVX @DPTR,A F0 A送外部数据(16位地址)

  PUSH dircet C0 dircet 直接字节进栈,SP加1

  POP dircet D0 dircet 直接字节退栈,SP减1

  XCH A,Rn C8~CF 交换A和寄存器

  XCH A,dircet C5 dircet 交换A和直接字节

  XCH A,@Ri C6~C7 交换A和间接RAM

  XCH A,@Ri D6~D7 交换A和间接RAM的低位

  SWAP A C4

  二、算术操作

  (A的二个半字节交换)

  ADD A,Rn 28~2F 寄存器加到A

  ADD A,dircet 25 dircet 直接字节加到A

  ADD A,@Ri 26~27 间接RAM加到A

  ADD A,#data 24data 立即数加到A

  ADD A,Rn 38~3F 寄存器和进位位加到A

  ADD A,dircet 35dircet 直接字节和进位位加到A

  ADD A,@Ri 36~37 间接字节和进位位加到A

  ADD A,data 34 data 立即数和进位位加到A

  ADD A,Rn 98~9F A减去寄存器和进位位

  ADD A,dircet 95 dircet A减去直接字节和进位位

  ADD A,@Ri 36~37 间接RAM和进位位加到A

  ADD A,data 34 data 立即数和进位位加到A

  SUBB 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加1

  INC Rn 08~0F 寄存器加1

  INC dircet 05 dircet 直接字节加1

  INC @Ri 06~07 间接RAM加1

  DEC A 14 A减1

  DEC Rn 18~1F 寄存器减1

  DEC dircet 15 dircet 直接字节减1

  DEC @Ri 16~17 间接RAM减1

  INC DPTR A3 数据指针加1

  MUL AB A4 A乘以B

  DIV AB 84 A除以B

  DA A D4 A的十进制加法调整

  三、逻辑操作

  ANL A,Rn 58~5F 寄存器“与”到A

  ANL A,dircet 55 dircet 直接字节“与”到A

  ANL A,@Ri 56~57 间接RAm“与”到A

  ANL A,#data 54 data 立即数“与”到A

  ANL dircet A 52 dircet A“与”到直接字节

  ANL dircet,#data 53 dircet data 立即数“与”到直接字节

  ORL A,Rn 48~4F 寄存器“或”到A

  ORL A,dircet 45 dircet 直接字节“或”到A

  ORL A,@Ri 46~47 间接RAM“或”到A

  ORL A,#data 44 data 立即数“或”到A

  ORL dircet,A 42 dircet A“或”到直接字节

  ORL dircet,#data 43 dircet data 立即数“或”到直接字节

  XRL A,Rn 68~6F 寄存器“异或”到A

  XRL A,dircet 65 dircet 直接字节“异或”到A

  XRL A,@Ri 66~67 间接RAM“异或”到A

  XRL A,#data 64 data 立即数“异或”到A

  XRL dircet A 62 dircet A“异或”到直接字节

  XRL dircet,#data 63 dircet data 立即数“异或”到直接字节

  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 △1 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 直接字节减1,不为零则转移

  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 直接数“与”到进位

  ANL C,/bit B0 直接位的反“与”到进位

  ORL C,bit 72 bit 直接位“或”到进位

  ORL C,/bit A0 bit 直接位的反“或”到进位

  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相对转移,然后清零该位

上一篇:USB Type-C和USB 3.1如何区分与选择?
下一篇:阻容降压原理及设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料