微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机指令功能一览表

51单片机指令功能一览表

时间:12-27 来源:互联网 点击:

一、传送操作
  助记符 代码 说明
  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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top