当前位置:首页 >> 信息与通信 >>

8051单片机汇编指令速查表


8051 系列单片机汇编语言指令速查表
编号 指令名称 指令助记符 指令说明

数据传送类指令
1 2 3 4 5 6 7 8 一般传送 9 10 11 12 13 14 15 16 17 18 19 字节交换 20 21 22 23 24 25 XCH A, @Ri XCHD A, @Ri MOVX @DPTR, A MOVX A , @

DPTR MOVX A, @Ri MOVX @Ri, A 目的地址传送 Mov @Ri, direct Mov A, Rn Mov Rn, A Mov A, direct Mov direct, A Mov A, @Ri Mov @Ri , A Mov DPTR, #data16 SWAP A XCH A, Rn XCH A, direct MOV A, #data MOV direct, #data Mov Rn, #data Mov @Ri, #data Mov direct2, direct1 Mov direct, rn Mov Rn, direct Mov direct, @Ri 将立即数#data 送累加器 A 将立即数#data 送片内 RAM direct 地址单元内 将立即数#data 送寄存器 Rn 寄存器 Ri 内为 RAM 地址,将立即数#data 送该地址 单元内 将 direct1 地址单元的数据送 direct2 地址单元内 将 Rn 的数据送 direct 地址单元内 将 direct 地址单元内的数据送 Rn 寄存器 寄存器 Ri 内为 RAM 地址, 将该地址单元内的数据送 direct 地址单元内 寄存器 Ri 内为 RAM 地址, direct 地址单元内的数 将 据送该地址单元内 将寄存器 Rn 内的数据送累加器 A 将累加器 A 内的数据送寄存器 Rn 将 direct 地址单元内的数据送累加器 A 将累加器 A 内的数据送 direct 地址单元内 寄存器 Ri 内为 RAM 地址, 将该地址单元内的数据送 累加器 A 寄存器 Ri 内为 RAM 地址,将累加器 A 的数据送该 地址单元内 将 16 位立即数送数据指针 DPTR 寄存器 累加器 A 高低 4 位数据交换 将累加器 A 数据和寄存器 Rn 内的数据交换 将累加器 A 数据和 direct 地址单元内的数据交换 寄存器 Ri 内为 RAM 地址, 将该地址单元内的数据与 累加器 A 的数据交换 寄存器 Ri 内为 RAM 地址, 将该地址单元内的数据低 4 位与的低 4 位交换 将累加器 A 的数据送数据指针 DPTR 寄存器所指外 部 RAM 地址单元内 将 DPTR 寄存器所指外部 RAM 地址单元内的数据送 累加器 A 寄存器 Ri 内为片外 RAM 地址, 将该地址单元内的数 据送累加器 A 寄存器 Ri 内为片外 RAM 地址, 将该地址单元内的数

与外部 RAM 传送

据送累加器 A 26 与 ROM 传送 27 28 29 MOVC A, @A+PC PUSH direct POP direct MOVC A, @A+DPTR A+DPTR 构成 ROM 地址,将该地址内的数据送累加 器A内 A+PC 构成 ROM 地址,将该地址内的数据送累加器 A内 堆栈指针 SP 自加 1 后,将 direct 地址单元的数据压 进堆栈, 堆栈的数据送 direct 地址单元中,后堆栈指针减 1, 算术运算指令 30 31 加法指令 32 33 34 35 带进位加法 36 ADDC A, @Ri ADD A, @Ri ADD A, #data ADDC A, Rn ADDC A, direct ADD A, Rn ADD A, direct 将寄存器 Rn 与累加器 A 的数据相加后,结果保存到累 加器 A 将 direct 地址单元内的数据与累加器 A 的数据相加后 结果保存到累加器 A 寄存器 Ri 内位地址,将该地址单元内的数据与累加 器 A 的数据相加后结果保存到累加器 A 将立即数与累加器 A 的数据相加后结果保存到累加 器A 将寄存器 Rn 与累加器 A 的数据相加,再加上进位标 志内的值后,结果保存到累加器 A 将 direct 地址单元内的数据与累加器 A 的数据相加, 再加上进位标志内的值后,结果保存到累加器 A 寄存器 Ri 内为 RAM 地址, 将该地址单元内的数据与 累加器 A 的数据相加, 再加上进位标志内的值后, 结 果保存到累加器 A 将立即数与累加器 A 的数据相加, 再加上进位标志内 的值后结果保存到累加器 A 将与累加器 A 的数据减去寄存器 Rn 的数据,再减去 进位标志内的值,结果保存到累加器 A 将与累加器 A 的数据减去 direct 地址单元内的数据, 再减去进位标志内的值,结果保存到累加器 A 寄存器 Ri 内为 RAM 地址,将累加器 A 的数据减去 该地址单元内的数据,再减去进位标志内的值后,结 果保存到累加器 A 将累加器 A 的数据减去立即数, 再减去进位标志内的 值后,结果保存到累加器 A 累加器 A 的值自加 1 寄存器 Rn 的值自加 1 direct 地址单元内值自加 1 寄存器 Ri 内为 RAM 地址,该地址单元内的值自加 1 数据指针寄存器 DPTR 内的值自加 1 累加器 A 的值自减 1 寄存器 Rn 的值自减 1 direct 地址单元内的值自减 1

栈操作

37 38 39 带借位减法 40

ADDC A, #data SUBB A, Rn SUBB A, direct

SUBB A, @Ri

41 42 43 44 45 46 47 48 49 减 1 指令 加 1 指令

SUBB A, #data INC A INC Rn INC direct INC @Ri INC DPTR DEC A DEC Rn DEC direct

50 51 52 53 乘法 除法 二-十进制调整

DEC @Ri MUL AB DIV AB DA A

寄存器 Ri 内为 RAM 地址,该地址单元内的值自减 1 累加器 A 与寄存器 B 内的值相乘,乘积的高 8 位保 存在 B 寄存器,低 8 位保存在累加器 A 中 累加器 A 的值除以寄存器 B 的值, 商保存在累加器 A 中,余数保存在 B 寄存器 对累加器 A 的结果进行十进制调整 逻辑运算指令

54 55 56 逻辑与 57 58 59 60 61 62 逻辑或 63 64 65 66 67 68 逻辑异或 69 70 71 72 按位取反

ANL A, Rn ANL A, direct ANL A, @Ri ANL A, #data ANL direct, A ANL direct, #data ORL A, Rn ORL A, direct ORL A, @Ri ORL A, #data ORL direct, A ORL direct, #data XRL A, Rn XRL A, direct XRL A, @Ri XRL A, #data XRL direct, A XRL direct, #data CPL A

将累加器 A 的值和寄存器 Rn 的值进行与操作,结果 保存到累加器 A 中 将累加器 A 的值和 direct 地址单元内的值进行与操 作,结果保存到累加器 A 中 寄存器 Ri 内为 RAM 地址,将累加器 A 的值和该地址 单元内的值进行与操作,结果保存到累加器 A 中 将累加器 A 的值和立即数进行与操作, 结果保存到累 加器 A 中 将累加器 A 的值和 direct 地址单元内的值进行与操 作,结果保存到 direct 地址单元内 将立即数和 direct 地址单元内的值进行与操作,结果 保存到 direct 地址单元内 将累加器 A 的值和寄存器 Rn 的值进行或操作,结果 保存到累加器 A 中 将累加器 A 的值和 direct 地址单元内的值进行或操 作,结果保存到累加器 A 中 寄存器 Ri 内为 RAM 地址,将累加器 A 的值和该地址 单元内的值进行或操作,结果保存到累加器 A 中 将累加器 A 的值和立即数进行或操作, 结果保存到累 加器 A 中 将累加器 A 的值和 direct 地址单元内的值进行或操 作,结果保存到 direct 地址单元内 将立即数和 direct 地址单元内的值进行或操作,结果 保存到 direct 地址单元内 将累加器 A 的值和寄存器 Rn 的值进行异或操作,结 果保存到累加器 A 中 将累加器 A 的值和 direct 地址单元内的值进行异或操 作,结果保存到累加器 A 中 寄存器 Ri 内为 RAM 地址,将累加器 A 的值和该地址 单元内的值进行异或操作,结果保存到累加器 A 中 将累加器 A 的值和立即数进行异或操作, 结果保存到 累加器 A 中 将累加器 A 的值和 direct 地址单元内的值进行异或操 作,结果保存到 direct 地址单元内 将立即数和 direct 地址单元内的值进行异或操作,结 果保存到 direct 地址单元内 累加器 A 的值按位取反

73 74 75 76 77

累加器清零 逻辑右移 逻辑左移 带进位右移 带进位左移

CLR

A

累加器 A 清 0 累加器 A 的值循环右移 1 位 累加器 A 的值循环左移 1 位 累加器 A 的值带进位循环右移 1 位 累加器 A 的值带进位循环左移 1 位 控制转移指令

RR A RL A RRC A RLC A

78

SJMP rel

rel 为地址偏移量,PC 加 2 后的地址加上 rel 作为目 标地址,程序跳到目标地址继续运行 addr11 为 11 位地址,PC 加 2 后的地址高 5 位与指令 中的低 11 位地址构成目标地址,程序跳到目标地址 继续运行 将 addr16 的 16 位地址送程序计数器 PC, 使机器执行 下一条指令时无条件转移到 addr16 处执行程序 目标地址的基地址放在 DPTR 中, 目标地址对基地址 的偏移量放在累加器 A 中,它们相加构成目标地址 If(累加器 A=0)则 PC 加 2 再加上 rel 作为目标地址 If(累加器 A!=0)则 PC 加 2 再加上 rel 作为目标地 址 If(累加器 A!= direct 地址单元的值)则 PC 加 2 再加 上 rel 作为目标地址 If(累加器 A!= 立即数)则 PC 加 2 再加上 rel 作为 目标地址 If(寄存器 Rn 的值!= 立即数)则 PC 加 2 再加上 rel 作为目标地址 寄存器 Ri 内为 RAM 地址, (该地址单元的值!= 立 If 即数)则 PC 加 2 再加上 rel 作为目标地址 寄存器 Rn 的值减 1 后,If(寄存器 Rn 的值!=0)则 PC 加 2 再加上 rel 作为目标地址 Direct 地址单元的值减 1 后,If(该值!=0)则 PC 加 3 再加上 rel 作为目标地址 If(CY=1)则 PC 加 2 再加上 rel 作为目标地址 If(CY=0)则 PC 加 2 再加上 rel 作为目标地址 If(bit 位=1)则 PC 加 3 再加上 rel 作为目标地址 If(bit 位=0)则 PC 加 3 再加上 rel 作为目标地址 If(bit 位=1)则 PC 加 3 再加上 rel 作为目标地址, 且 bit 位清 0 addr11 为 11 位地址, 加 2 后的地址 PUSH 进堆栈, PC 再将 PC 的地址高 5 位与指令中的低 11 位地址构成目 标地址,程序跳到目标地址继续运行 PC 加 3 后的地址 PUSH 进堆栈,再将 16 位地址送 PC 作为目标地址,程序跳到目标地址继续运行 子程序返回指令,把堆栈中的地址恢复到 PC 中使程 序回到调用处

79 无条件转移 80 81 82 83 84 条件转移 85 86 87 88 循环转移 89 90 91 92 93 94 布尔条件转移

AJMP addr11(a10- a0)

LJMP addr16 JMP @A+DPTR JZ rel JNZ rel CJNE A, direct, rel CJNE A, #data, rel CJNE Rn, #data, rel CJNE @Ri, #data, rel DJNZ Rn, rel DJNZ direct, rel JC rel

JNC rel JB bit, rel JNB bit, rel JBC bit, rel

95 调用指令 96 97 返回指令

ACALL addr11

LCALL addr16 RET

98 99 空操作

RETI NOP

中断程序返回指令,把堆栈中的地址恢复到 PC 中使 程序回到调用处 空操作 位操作指令

100 101 102 103 104 105 106

布尔传送 位清 0 位清 0 位置 1

MOV C, bit MOV bit, C CLR CLR C bit

将 bit 位地址中的值送 PSW 中的进位标志位 CY 将 PSW 中的进位标志位 CY 的值送 bit 位地址中 将进位标志位 CY 清 0 将 bit 位地址内清 0 将进位标志位 CY 置 1 将 bit 位地址内置 1 将 Cy 和 bit 位地址中的值进行与操作后,结果送 Cy bit 位地址中的值取反后再与 Cy 进行与操作,结构送 Cy 将 Cy 和 bit 位地址中的值进行或操作后,结果送 Cy bit 位地址中的值取反后再与 Cy 进行或操作,结构送 Cy 将 Cy 取反 将 bit 位地址的值取反

SETB C SETB bit ANL C, bit

位与 107 108 位或 109 110 111 位取反 ORL C, /bit CPL C CPL bit ANL C, /bit ORL C, bit

说明: 1) Rn 指当前工作寄存器, n = 0 – 7, Ri, i, 当前工作寄存器由程序状态字寄存器 PSW 的 2 个位 RS1, RS0 决定


相关文章:
8051单片机汇编指令速查表
8051 系列单片机汇编语言指令速查表编号 指令名称 指令助记符 指令说明 数据传送类指令(29 条) 1 2 3 4 5 6 7 8 一般传送 9 10 11 12 13 14 15 16 ...
8051单片机汇编指令速查表
8051 系列单片机汇编语言指令速查表编号 指令名称 指令助记符 指令说明 数据传送类指令 1 2 3 4 5 6 7 8 一般传送 9 10 11 12 13 14 15 16 17 18 19...
8051系列单片机汇编语言指令速查表
8051 系列单片机汇编语言指令速查表 编号 指令名称 指令助记符 指令说明 数据传送类指令 1 2 3 4 MOV A, #data MOV direct, #data Mov Rn, #data Mov @...
51单片机汇编指令速查表
51单片机汇编指令速查表_IT/计算机_专业资料。51 单片机汇编指令速查表指令格式 功能简述 字节数 周期 一、数据传送类指令 MOV A, Rn 寄存器送累加器 1 1 MOV...
8051系列单片机汇编语言指令速查表
8051 系列单片机汇编语言指令速查表编号 指令名称 指令助记符 数据传送类指令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 字节交换 20 21...
51单片机汇编指令速查表
51单片机汇编指令速查表51单片机汇编指令速查表隐藏>> 51 单片机汇编指令速查表指令格式 一、数据传送类指令 MOV A, Rn MOV Rn,A MOV A ,@Ri MOV @Ri ,...
8051系列单片机汇编语言指令速查表1[1]
8051 系列单片机汇编语言指令速查表编号 指令名称 指令助记符 指令说明 数据传送类指令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21...
8051单片机的指令列表
8051单片机指令列表_电子/电路_工程科技_专业资料。全面的8051单片机的各个指令...(16 位地址) 查表数据送累加器(DPTR 为基址) 查表数据送累加器(PC 为基址...
MCS-51单片机汇编指令详解
MCS-51 单片机汇编指令详解以累加器为目的操作数的...十六位数的传递指令 MOV DPTR,#data16 8051 是一...本指令也被 称为查表指令,常用此指令来查一个已...
MCS-51单片机汇编指令详解
MCS-51 单片机汇编指令详解 以累加器为目的操作数的...十六位数的传递指令 MOV DPTR,#data16 8051 是一...本指令也被称为查表指令, 常用此 指令来查一个已...
更多相关标签:
8051单片机汇编语言 | 8051单片机指令集 | 8051汇编指令 | 单片机汇编指令 | 单片机汇编指令表 | pic单片机汇编指令 | 单片机汇编语言指令 | 单片机汇编指令详解 |