89C51系列学习记录,这是 汇编指令表一共111条指令,需要拿去用,不断更新中,sfr等等
全部资料51hei下载地址:
汇编指令表.rar
(11.23 KB, 下载次数: 90)
序号 | 指令 | 参数1 |
| 参数2 |
| 参数3 |
| 分类 | 1 | ADD | A | , | Rn |
|
| 寄存器 内容 加 到 累加器 | 算 术 运 算 | 2 | ADD | A | , | direct |
|
| 直接地址 单元 中的数据 加 到 累加器 | 3 | ADD | A | , | @Ri |
|
| 间接RAM中的数据加到累加器 | 4 | ADD | A | , | #data |
|
| 立即数加到累加器 | 5 | ADDC | A | , | Rn |
|
| 寄存器带进位加到累加器 | 6 | ADDC | A | , | direct |
|
| 直接单元的内容带进位加到累加器 | 7 | ADDC | A | , | @Ri |
|
| 间接RAM内容带进位加到累加器 | 8 | ADDC | A | , | #data |
|
| 立即数带进位加到累加器 | 9 | SUBB | A | , | Rn |
|
| 累加器带借位减寄存器内容 | 10 | SUBB | A | , | direct |
|
| 累加器带借位减直接地址内容 | 11 | SUBB | A | , | @Ri |
|
| 累加器带借位减间接RAM中的内容 | 12 | SUBB | A | , | #data |
|
| 累加器带借位减立即数 | 13 | INC |
|
| A |
|
| 累加器+1 | 14 | INC |
|
| Rn |
|
| 寄存器+1 | 15 | INC |
|
| direct |
|
| 直接地址单元+1 | 16 | INC |
|
| @Ri |
|
| 间接RAM单元+1 | 17 | DEC |
|
| A |
|
| 累加器-1 | 18 | DEC |
|
| Rn |
|
| 寄存器-1 | 19 | DEC |
|
| direct |
|
| 直接地址单元-1 | 20 | DEC |
|
| @Ri |
|
| 间接RAM单元-1 | 21 | INC |
|
| DPTR |
|
| 地址寄存器DPTR+1 | 22 | MUL | A |
| B |
|
| A乘以B | 23 | DIV | A |
| B |
|
| A除以B | 24 | DA |
|
| A |
|
| 累加器十进制调整 | 25 | ANL | A | , | Rn |
|
| 累加器与寄存器相 与 | 逻 辑 运 算 | 26 | ANL | A | , | direct |
|
| 累加器与直接地址相 与 | 27 | ANL | A | , | @Ri |
|
| 累加器与间接RAM单元相 与 | 28 | ANL | A | , | #data |
|
| 累加器与立即数相 与 | 29 | ANL | direct | , | A |
|
| 直接地址单元与累加器相 与 | 30 | ANL | direct | , | #data |
|
| 直接地址单元与立即数相 与 | 31 | ORL | A | , | Rn |
|
| 累加器与寄存器相 或 | 32 | ORL | A | , | direct |
|
| 累加器与直接地址相 或 | 33 | ORL | A | , | @Ri |
|
| 累加器与间接RAM单元相 或 | 34 | ORL | A | , | #data |
|
| 累加器与立即数相 或 | 35 | ORL | direct | , | A |
|
| 直接地址单元与累加器相 或 | 36 | ORL | direct | , | #data |
|
| 直接地址单元与立即数相 或 | 37 | XRL | A | , | Rn |
|
| 累加器与寄存器相 异或 | 38 | XRL | A | , | direct |
|
| 累加器与直接地址相 异或 | 39 | XRL | A | , | @Ri |
|
| 累加器与间接RAM单元相 异或 | 40 | XRL | A | , | #data |
|
| 累加器与立即数相 异或 | 41 | XRL | direct | , | A |
|
| 直接地址单元与累加器相 异或 | 42 | XRL | direct | , | #data |
|
| 直接地址单元与立即数相 异或 | 43 | CLR |
|
| A |
|
| 累加器 清零 | 44 | CPL |
|
| A |
|
| 累加器 求反 | 45 | RL |
|
| A |
|
| 累加器 循环左移 | 46 | RLC |
|
| A |
|
| 累加器 带进位位 循环左移 | 47 | RR |
|
| A |
|
| 累加器 循环 右移 | 48 | RRC |
|
| A |
|
| 累加器 带进位位 循环 右移 | 49 | SWAP |
|
| A |
|
| 累加器 内 高低 半字节 交换 | 50 | MOV | A | , | Rn |
|
| 寄存器 内容 送入 累加器 | 数 据 移 送 | 51 | MOV | A | , | direct |
|
| 直接地址单元中的 数据 送入 累加器 | 52 | MOV | A | , | @Ri |
|
| 间接 RAM 中的 数据 送入 累加器 | 53 | MOV | A | , | #data |
|
| 立即数 送入 累加器 | 54 | MOV | Rn | , | A |
|
| 累加器 内容 送入 寄存器 | 55 | MOV | Rn | , | direct |
|
| 直接地址单元中的 数据 送入 寄存器 | 56 | MOV | Rn | , | #data |
|
| 立即数 送入 寄存器 | 57 | MOV | direct | , | A |
|
| 累加器 内容 送入 直接地址单元 | 58 | MOV | direct | , | Rn |
|
| 寄存器 内容 送入 直接地址单元 | 59 | MOV | direct | , | direct |
|
| 直接地址单元中的数据送入另一个直接地址单元 | 60 | MOV | direct | , | @Ri |
|
| 间接 RAM 中的 数据 送入 直接地址单元 | 61 | MOV | direct | , | #data |
|
| 立即数 送入 直接地址单元 | 62 | MOV | @Ri | , | A |
|
| 累加器 内容 送入 间接RAM单元 | 63 | MOV | @Ri | , | direct |
|
| 直接地址单元 数据 送入 间接RAM单元 | 64 | MOV | @Ri | , | #data |
|
| 立即数 送入 间接RAM单元 | 65 | MOV | DPTR | , | #data16 |
|
| 16位立即数 送入 数据指针 | 66 | MOVC | A | , | @A+DPTR |
|
| 以 DPTR 为基地址 变址寻址 单元中的数据送入累加器 | 67 | MOVC | A | , | @A+PC |
|
| 以 PC 为基地址 变址寻址 单元中的数据送入累加器 | 68 | MOVX | A | , | @Ri |
|
| 将逻辑上在片外、物理上在片内的扩展RAM(8位地址)的内容送入累加器A中,读操作 | 69 | MOVX | @Ri | , | A |
|
| 将累加器A的内容送入逻辑上在片外、物理上在片内的扩展RAM(8位地址)中,写操作 | 70 | MOVX | A | , | @DPTR |
|
| 将逻辑上在片外、物理上在片内的扩展RAM(16位地址)的内容送入累加器A中,读操作 | 71 | MOVX | @DPTR | , | A |
|
| 将累加器A的内容送入逻辑上在片外、物理上在片内的扩展RAM(16位地址)中,写操作 | 72 | PUSH |
|
| direct |
|
| 直接地址单元中的数据压入堆栈 | 73 | POP |
|
| direct |
|
| 栈底数据弹出送入直接地址单元 | 74 | XCH | A | , | Rn |
|
| 寄存器与累加器交换 | 75 | XCH | A | , | direct |
|
| 直接地址单元 与 累加器 交换 | 76 | XCH | A | , | @Ri |
|
| 间接RAM 与 累加器 交换 | 77 | XCHD | A | , | @Ri |
|
| 间接RAM的低半字节 与 累加器 交换 | 78 | CLR |
|
| C |
|
| 进位位 清零 | 布尔变量 | 79 | CLR |
|
| bit |
|
| 直接地址位 清零 | 80 | SETB |
|
| C |
|
| 进位位 置1 | 81 | SETB |
|
| bit |
|
| 直接地址位 置1 | 82 | CPL |
|
| C |
|
| 进位位 求反 | 83 | CPL |
|
| bit |
|
| 直接地址位 求反 | 84 | ANL | C | , | bit |
|
| 进位位 和 直接地址位 相 与 | 85 | ANL | C | , | /bit |
|
| 进位位 和 直接地址位的反码 相 与 | 86 | ORL | C | , | bit |
|
| 进位位 和 直接地址位 相 或 | 87 | ORL | C | , | /bit |
|
| 进位位 和 直接地址位的反码 相 或 | 88 | MOV | C | , | bit |
|
| 直接地址位 送入 进位位 | 89 | MOV | bit | , | C |
|
| 进位位 送入 直接地址位 | 90 | JC |
|
| rel |
|
| 进位位 为1 则转移 | 91 | JNC |
|
| rel |
|
| 进位位 为0 则转移 | 92 | JB | bit | , | rel |
|
| 直接地址位 为1 则转移 | 93 | JNB | bit | , | rel |
|
| 直接地址位 为0 则转移 | 94 | JBC | bit | , | rel |
|
| 直接地址位 为1 则转移,该位 清0 | 95 | ACALL |
|
| addr11 |
|
| 绝对(短)调用子程序 | 控 制 转 移 | 96 | LCALL |
|
| addr16 |
|
| 长调用子程序 | 97 | RET |
|
|
|
|
| 子程序返回 | 98 | RETI |
|
|
|
|
| 中断返回 | 99 | AJMP |
|
| addr11 |
|
| 绝对(短)转移 | 100 | LJMP |
|
| addr16 |
|
| 长转移 | 101 | SJMP |
|
| rel |
|
| 相对转移 | 102 | JMP |
|
| @A+DPTR |
|
| 相对于DPTR的间接转移 | 103 | JZ |
|
| rel |
|
| 累加器为零转移 | 104 | JNZ |
|
| rel |
|
| 累加器非零转移 | 105 | CJNE | A | , | direct | , | rel | 累加器与直接地址单元比较,不相等则转移 | 106 | CJNE | A | , | #data | , | rel | 累加器与立即数比较,不相等则转移 | 107 | CJNE | Rn | , | #data | , | rel | 寄存器与立即数比较不相等则转移 | 108 | CJNE | @Ri | , | #data | , | rel | 间接RAM单元与立即数比较,不相等则转移 | 109 | DJNZ | Rn | , | rel |
|
| 寄存器-1 非零转移 | 110 | DJNZ | direct | , | rel |
|
| 直接地址单元-1,非零转移 | 111 | NOP |
|
|
|
|
| 空操作 |
|