logo资料库

单片机51汇编代码与机器码转换对照表.doc

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
指 令 集(111 条) 助 记 符 说明 字节 周期 代 码 MOV A,Rn MOV A,data MOV A,@Ri MOV A,#data MOV Rn,A MOV Rn,data MOV Rn,#data MOV data,A MOV data,Rn MOV data,data MOV data,@Ri MOV data,#data MOV @Ri,A MOV @Ri,data MOV @Ri,#data MOV DPTR,#data16 MOV C,bit MOV bit,C MOVC A,@A+DPTR MOVC A,@A+PC MOVX A,@Ri MOVX A,@DPTR MOVX @Ri,A MOVX @DPTR,A PUSH data POP data XCH A,Rn XCH A,data XCH A,@Ri XCHD A,@Ri ANL A,Rn ANL A,data ANL A,@Ri ANL A,#data ANL data,A ANL data,#data ANL C,bit ANL C,/bit 1.数据传送指令(30 条) 寄存器送 A 直接字节送 A 间接 RAM 送 A 立接数送 A A 送寄存器 直接数送寄存器 立即数送寄存器 A 送直接字节 寄存器送直接字节 直接字节送直接字节 间接 Rn 送直接字节 立即数送直接字节 A 送间接 Rn 直接字节送间接 Rn 立即数送间接 Rn 16 位常数送数据指针 直接位送进位位 进位位送直接位 A+DPTR 寻址程序存贮字节送 A A+PC 寻址程序存贮字节送 A 外部数据送 A(8 位地址) 外部数据送 A(16 位地址) A 送外部数据(8 位地址) A 送外部数据(16 位地址) 直接字节进栈道,SP 加 1 直接字节出栈,SP 减 1 寄存器与 A 交换 直接字节与 A 交换 间接 Rn 与 A 交换 间接 Rn 与 A 低半字节交换 2.逻辑运算指令(35 条) 寄存器与到 A 直接字节与到 A 间接 RAM 与到 A 立即数与到 A A 与到直接字节 立即数与到直接字节 直接位与到进位位 直接位的反码与到进位位 1 2 1 2 1 2 2 2 2 3 2 3 1 1 2 3 2 2 3 1 1 1 1 1 2 2 1 2 1 1 1 2 1 2 2 3 2 2 1 1 1 1 1 2 1 1 1 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 2 2 2 E8--EF E5 E6--E7 74 F8--FF A8--AF 78--7F F5 88—8F 85 86;87 75 F6;F7 A6;A7 76;77 90 A2 92 93 83 E2;E3 E0 F2;F3 F0 C0 D0 C8—CF C5 C6;C7 D6;D7 58—5F 55 56;57 54 52 53 82 B0 - 1 -
ORL A,Rn ORL A,data ORL A,@Ri ORL A,#data ORL data,A ORL data,#data ORL C,bit ORL C,/bit XRL A,Rn XRL A,data XRL A,@Ri XRL A,#data XRL data,A XRL data,#data SETB C SETB bit CLR A CLR C CLR bit CPL A CPL C CPL bit RL A RLC A RR A RRC A SWAP A ADD A,Rn ADD A,data ADD A,@Ri ADD A,#data ADDC A,Rn ADDC A,data ADDC A,@Ri ADDC A,#data SUBB A,Rn SUBB A,data SUBB A,@Ri SUBB A,#data INC A INC Rn INC data 寄存器或到 A 直接字节或到 A 间接 RAM 或到 A 立即数或到 A A 或到直接字节 立即数或到直接字节 直接位或到进位位 直接位的反码或到进位位 寄存器异或到 A 直接字节异或到 A 间接 RAM 异或到 A 立即数异或到 A A 异或到直接字节 立即数异或到直接字节 进位位置 1 直接位置 1 A 清 0 进位位清 0 直接位清 0 A 求反码 进位位取反 直接位取反 A 循环左移一位 A 带进位左移一位 A 右移一位 A 带进位右移一位 A 半字节交换 3.算术运算指令(24 条) 寄存器加到 A 直接字节加到 A 间接 RAM 加到 A 立即数加到 A 寄存器带进位加到 A 直接字节带进位加到 A 间接 RAM 带进位加到 A 立即数带进位加到 A 从 A 中减去寄存器和进位 从 A 中减去直接字节和进位 从 A 中减去间接 RAM 和进位 从 A 中减去立即数和进位 A 加 1 寄存器加 1 直接字节加 1 1 2 1 2 2 3 2 2 1 2 1 2 2 3 1 2 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 2 1 2 1 2 1 2 1 1 2 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 48—4F 45 46;47 44 42 43 72 A0 68—6F 65 66;67 64 62 63 D3 D2 E4 C3 C2 F4 B3 B2 23 33 03 13 C4 28—2F 25 26;27 24 38—3F 35 36;37 34 98—9F 95 96;97 94 04 08—0F 05 - 2 -
间接 RAM 加 1 数据指针加 1 A 减 1 寄存器减 1 直接字节减 1 间接 RAM 减 1 A 乘 B A 被 B 除 A 十进制调整 1 1 1 1 2 1 1 1 1 INC @Ri INC DPTR DEC A DEC Rn DEC data DEC @Ri MUL AB DIV AB DA A 4.转移指令(22 条) AJMP addr 11 2 LJMP addr 16 3 SJMP rel 2 JMP @A+DPTR 1 JZ rel 2 JNZ rel 2 JC rel 2 JNC rel 2 JB bit,rel 3 JNB bit,rel 3 JBC bit,rel 3 CJNE A,data,rel 3 CJNE A,#data,rel 3 CJNE @Ri,#data,rel 立即数与间接 RAM 比较,不等转移 3 3 CJNE Rn,#data,rel 立即数与寄存器比较不等转移 DJNZ Rn,rel 2 3 DJNZ data,rel 2 ACALL addr 11 LCALL addr 16 3 1 RET 1 RETI NOP 1 绝对转移 长转移 短转移 相对于 DPTR 间接转移 若 A=0 则转移 若 A≠0 则转移 若 C=1 则转移 若 C≠1 则转移 若直接位=1 则转移 若直接位=0 则转移 若直接位=1 则转移且清除 直接数与 A 比较,不等转移 立即数与 A 比较,不等转移 寄存器减 1 不为 0 转移 直接字节减 1 不为 0 转移 绝对子程序调用 子程序调用 子程序调用返回 中断程序调用返回 空操作 1 2 1 1 1 1 4 4 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 06;07 A3 14 18—1F 15 16;17 A4 84 D4 *1 02 80 73 60 70 40 50 20 30 10 B5 B4 B6;B7 B8—BF D8—DF D5 *1 12 22 32 00 - 3 -
分享到:
收藏