51单片机常用语法及说明

  1    MOV A,Rn 寄存器内容送入累加器 
  2    MOV A,direct 直接地址单元中的数据送入累加器 
  3    MOV A,@Ri 间接RAM 中的数据送入累加器 
  4    MOV A,#tata 立即数送入累加器 
  5    MOV Rn,A 累加器内容送入寄存器 
  6    MOV Rn,direct 直接地址单元中的数据送入寄存器 
  7    MOV Rn,#data 立即数送入寄存器 
  8    MOV direct,A 累加器内容送入直接地址单元 
  9    MOV direct,Rn 寄存器内容送入直接地址单元 
 10    MOV direct,direct 直接地址单元中的数据送入另一个直接地址单元 
 11    MOV direct,@Ri 间接RAM 中的数据送入直接地址单元 
 12    MOV direct,#data 立即数送入直接地址单元 
 13    MOV @Ri,A 累加器内容送间接RAM 单元 
 14    MOV @Ri,direct 直接地址单元数据送入间接RAM 单元 
 15    MOV @RI,#data 立即数送入间接RAM 单元 
 16    MOV DRTR,#dat16 16 位立即数送入地址寄存器 
 17    MOVC A,@A+DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器 
 18    MOVC A,@A+PC 以PC 为基地址变址寻址单元中的数据送入累加器 
 19    MOVX A,@Ri 外部RAM(8 位地址)送入累加器 
 20    MOVX A,@DPTR 外部RAM(16 位地址)送入累加器 
 21    MOVX @Ri,A 累计器送外部RAM(8 位地址) 
 22    MOVX @DPTR,A 累计器送外部RAM(16 位地址) 
 23    PUSH direct 直接地址单元中的数据压入堆栈 
 24    POP direct 弹栈送直接地址单元 
 25    XCH A,Rn 寄存器与累加器交换 
 26    XCH A,direct 直接地址单元与累加器交换 
 27    XCH A,@Ri 间接RAM 与累加器交换 
 28    XCHD A,@Ri 间接RAM 的低半字节与累加器交换 
 29 //算术操作类指令:
 30    ADD A,Rn 寄存器内容加到累加器 
 31    ADD A,direct 直接地址单元的内容加到累加器 
 32    ADD A,@Ri 间接ROM 的内容加到累加器 
 33    ADD A,#data 立即数加到累加器 
 34    ADDC A,Rn 寄存器内容带进位加到累加器 
 35    ADDC A,direct 直接地址单元的内容带进位加到累加器 
 36    ADDC A,@Ri 间接ROM 的内容带进位加到累加器 
 37    ADDC A,#data 立即数带进位加到累加器 
 38    SUBB A,Rn 累加器带借位减寄存器内容 
 39    SUBB A,direct 累加器带借位减直接地址单元的内容 
 40    SUBB A,@Ri 累加器带借位减间接RAM 中的内容 
 41    SUBB A,#data 累加器带借位减立即数 
 42    INC A 累加器加1 
 43    INC Rn 寄存器加1 
 44    INC direct 直接地址单元加1 
 45    INC @Ri 间接RAM 单元加1 
 46    DEC A 累加器减1 
 47    DEC Rn 寄存器减1 1 12 
 48    DEC direct 直接地址单元减1 
 49    DEC @Rj 间接RAM 单元减 1 
 50    INC DPTR 地址寄存器DPTR 加 1 
 51    MUL AB A 乘以B,结果放在A 
 52    DIV AB A 除以B,结果放在A 
 53    DA A 累加器十进制调整 
 54 //布尔变量操作类指令:
 55    CLR C 清进位位 
 56    CLR bit 清直接地址位 
 57    SETB C 置进位位 
 58    SETB bit 置直接地址位 
 59    CPL C 进位位求反 
 60    CPL bit 置直接地址位求反 
 61    ANL C,bit 进位位和直接地址位相“与” 
 62    ANL C,bit 进位位和直接地址位的反码相“与” 
 63    ORL C,bit 进位位和直接地址位相“或” 
 64    ORL C,bit 进位位和直接地址位的反码相“或” 
 65    MOV C,bit 直接地址位送入进位位 
 66    MOV bit,C 进位位送入直接地址位 
 67    JC rel 进位位为1 则转移 
 68    JNC rel 进位位为0 则转移 
 69    JB bit,rel 直接地址位为1 则转移 
 70    JNB bit,rel 直接地址位为0 则转移 
 71    JBC bit,rel 直接地址位为1 则转移,该位清零 
 72 //逻辑操作数指令:
 73    ANL A,Rn 累加器与寄存器相“与” 
 74    ANL A,direct 累加器与直接地址单元相“与” 
 75    ANL A,@Ri 累加器与间接RAM 单元相“与” 
 76    ANL A,#data 累加器与立即数相“与” 
 77    ANL direct,A 直接地址单元与累加器相“与” 
 78    ANL direct,#data 直接地址单元与立即数相“与” 
 79    ORL A,Rn 累加器与寄存器相“或” 
 80    ORL A,direct 累加器与直接地址单元相“或” 
 81    ORL A,@Ri 累加器与间接RAM 单元单元相“或” 
 82    ORL A,#data 累加器与立即数相“或” 
 83    ORL direct,A 直接地址单元与累加器相“或” 
 84    ORL direct,#data 直接地址单元与立即数相“或” 
 85    XRL A,Rn 累加器与寄存器相“异或” 
 86    XRL A,direct 累加器与直接地址单元相“异或” 
 87    XRL A,@Ri 累加器与间接RAM 单元单元相“异或” 
 88    XRL A,#data 累加器与立即数相“异或” 
 89    XRL direct,A 直接地址单元与累加器相“异或” 
 90    XRL direct,#data 直接地址单元与立即数相“异或” 
 91    CLR A 累加器清“0 92    CPL A 累加器求反 
 93    RL A 累加器循环左移 
 94    RLC A 累加器带进位位循环左移 
 95    RR A 累加器循环右移 
 96    RRC A 累加器带进位位循环右移 
 97    SWAP A 累加器半字节交换 
 98 //控制转移类指令:
 99    ACALL addr11 绝对(短)调用子程序 
100    LCALL addr16 长调用子程序 
101    RET 子程序返回 
102    RETI 中数返回 
103    AJMP addr11 绝对(短)转移 
104    LJMP addr16 长转移 
105    SJMP rel 相对转移 
106    JMP @A+DPTR 相对于DPTR 的间接转移 
107    JZ rel 累加器为零转移 
108    CJNE rel 累加器非零转移 
109    CJNE A,direct,rel 累加器与直接地址单元比较,不相等则转移 
110    CJNE A,#data,rel 累加器与立即数比较,不相等则转移 
111    CJNE Rn,#data,rel 寄存器与立即数比较,不相等则转移 
112    CJNE @Ri,#data,rel 间接RAM 单元与立即数比较,不相等则转移 
113    DJNZ Rn,rel 寄存器减1,非零转移 
114    DJNZ direct,erl 直接地址单元减1,非零转移 
115    NOP 空操作
原文地址:https://www.cnblogs.com/ensleep/p/2548206.html