8051系列单片机汇编语言指令速查表(汇编语言的111条指_纳兰容若的左手_新浪博客 http://blog.sina.com.cn/s/blog_6486c0b30100gqew.html

编号 指令名称 指令助记符 指令说明
数据传送类指令
1 一般传送 MOV A, #data 将立即数#data送累加器A
2 MOV direct, #data 将立即数#data送片内RAM direct地址单元内
3 Mov Rn, #data 将立即数#data送寄存器Rn
4 Mov @Ri, #data 寄存器Ri内为RAM地址,将立即数#data送该地址单元内
5 Mov direct2, direct1 将direct1地址单元的数据送 direct2地址单元内
6 Mov direct, rn 将Rn的数据送 direct地址单元内
7 Mov Rn, direct 将direct地址单元内的数据送Rn寄存器
8 Mov direct, @Ri 寄存器Ri内为RAM地址,将该地址单元内的数据送direct地址单元内
9 Mov @Ri, direct 寄存器Ri内为RAM地址,将direct地址单元内的数据送该地址单元内
10 Mov A, Rn 将寄存器Rn内的数据送累加器A
11 Mov Rn, A 将累加器A内的数据送寄存器Rn
12 Mov A, direct 将direct地址单元内的数据送累加器A
13 Mov direct, A 将累加器A内的数据送direct地址单元内
14 Mov A, @Ri 寄存器Ri内为RAM地址,将该地址单元内的数据送累加器A
15 Mov @Ri , A 寄存器Ri内为RAM地址,将累加器A的数据送该地址单元内
16 目的地址传送 Mov DPTR, #data16 将16位立即数送数据指针DPTR寄存器
17 字节交换 SWAP A 累加器A高低4位数据交换
18 XCH A, Rn 将累加器A数据和寄存器Rn内的数据交换
19 XCH A, direct 将累加器A数据和direct地址单元内的数据交换
20 XCH A, @Ri 寄存器Ri内为RAM地址,将该地址单元内的数据与累加器A的数据交换
21 XCHD A, @Ri 寄存器Ri内为RAM地址,将该地址单元内的数据低4位与的低4位交换
22 与外部RAM传送 MOVX @DPTR, A 将累加器A的数据送数据指针DPTR寄存器所指外部RAM地址单元内
23 MOVX A , @DPTR 将DPTR寄存器所指外部RAM地址单元内的数据送累加器A
24 MOVX A, @Ri 寄存器Ri内为片外RAM地址,将该地址单元内的数据送累加器A
25 MOVX @Ri, A 寄存器Ri内为片外RAM地址,将该地址单元内的数据送累加器A
26 与ROM传送 MOVC A, @A+DPTR A+DPTR构成ROM地址,将该地址内的数据送累加器A内
27 MOVC A, @A+PC A+PC构成ROM地址,将该地址内的数据送累加器A内
28 栈操作 PUSH direct 堆栈指针SP自加1后,将direct地址单元的数据压进堆栈,
29 POP direct 堆栈的数据送direct地址单元中,后堆栈指针减1,
算术运算指令
30 加法指令 ADD A, Rn 将寄存器Rn与累加器A的数据相加后,结果保存到累加器A
31 ADD A, direct 将direct地址单元内的数据与累加器A的数据相加后结果保存到累加器A
32 ADD A, @Ri 寄存器Ri内位地址,将该地址单元内的数据与累加器A的数据相加后结果保存到累加器A
33 ADD A, #data 将立即数与累加器A的数据相加后结果保存到累加器A
34 带进位加法 ADDC A, Rn 将寄存器Rn与累加器A的数据相加,再加上进位标志内的值后,结果保存到累加器A
35 ADDC A, direct 将direct地址单元内的数据与累加器A的数据相加,再加上进位标志内的值后,结果保存到累加器A
36 ADDC A, @Ri 寄存器Ri内为RAM地址,将该地址单元内的数据与累加器A的数据相加,再加上进位标志内的值后,结果保存到累加器A
37 ADDC A, #data 将立即数与累加器A的数据相加,再加上进位标志内的值后结果保存到累加器A
38 带借位减法 SUBB A, Rn 将与累加器A的数据减去寄存器Rn的数据,再减去进位标志内的值,结果保存到累加器A
39 SUBB A, direct 将与累加器A的数据减去direct地址单元内的数据,再减去进位标志内的值,结果保存到累加器A
40 SUBB A, @Ri 寄存器Ri内为RAM地址,将累加器A的数据减去该地址单元内的数据,再减去进位标志内的值后,结果保存到累加器A
41 SUBB A, #data 将累加器A的数据减去立即数,再减去进位标志内的值后,结果保存到累加器A
42 加1指令 INC A 累加器A的值自加1
43 INC Rn 寄存器Rn的值自加1
44 INC direct direct地址单元内值自加1
45 INC @Ri 寄存器Ri内为RAM地址,该地址单元内的值自加1
46 INC DPTR 数据指针寄存器DPTR内的值自加1
47 减1指令 DEC A 累加器A的值自减1
48 DEC Rn 寄存器Rn的值自减1
49 DEC direct direct地址单元内的值自减1
50 DEC @Ri 寄存器Ri内为RAM地址,该地址单元内的值自减1
51 乘法 MUL AB 累加器A与寄存器B内的值相乘,乘积的高8位保存在B寄存器,低8位保存在累加器A中
52 除法 DIV AB 累加器A的值除以寄存器B的值,商保存在累加器A中,余数保存在B寄存器
53 二-十进制调整 DA A 对累加器A的结果进行十进制调整
逻辑运算指令
54 逻辑与 ANL A, Rn 将累加器A的值和寄存器Rn的值进行与操作,结果保存到累加器A中
55 ANL A, direct 将累加器A的值和direct地址单元内的值进行与操作,结果保存到累加器A中
56 ANL A, @Ri 寄存器Ri内为RAM地址,将累加器A的值和该地址单元内的值进行与操作,结果保存到累加器A中
57 ANL A, #data 将累加器A的值和立即数进行与操作,结果保存到累加器A中
58 ANL direct, A 将累加器A的值和direct地址单元内的值进行与操作,结果保存到direct地址单元内
59 ANL direct, #data 将立即数和direct地址单元内的值进行与操作,结果保存到direct地址单元内
60 逻辑或 ORL A, Rn 将累加器A的值和寄存器Rn的值进行或操作,结果保存到累加器A中
61 ORL A, direct 将累加器A的值和direct地址单元内的值进行或操作,结果保存到累加器A中
62 ORL A, @Ri 寄存器Ri内为RAM地址,将累加器A的值和该地址单元内的值进行或操作,结果保存到累加器A中
63 ORL A, #data 将累加器A的值和立即数进行或操作,结果保存到累加器A中
64 ORL direct, A 将累加器A的值和direct地址单元内的值进行或操作,结果保存到direct地址单元内
65 ORL direct, #data 将立即数和direct地址单元内的值进行或操作,结果保存到direct地址单元内
66 逻辑异或 XRL A, Rn 将累加器A的值和寄存器Rn的值进行异或操作,结果保存到累加器A中
67 XRL A, direct 将累加器A的值和direct地址单元内的值进行异或操作,结果保存到累加器A中
68 XRL A, @Ri 寄存器Ri内为RAM地址,将累加器A的值和该地址单元内的值进行异或操作,结果保存到累加器A中
69 XRL A, #data 将累加器A的值和立即数进行异或操作,结果保存到累加器A中
70 XRL direct, A 将累加器A的值和direct地址单元内的值进行异或操作,结果保存到direct地址单元内
71 XRL direct, #data 将立即数和direct地址单元内的值进行异或操作,结果保存到direct地址单元内
72 按位取反 CPL A 累加器A的值按位取反
73 累加器清零 CLR A 累加器A清0
74 逻辑右移 RR A 累加器A的值循环右移1位
75 逻辑左移 RL A 累加器A的值循环左移1位
76 带进位右移 RRC A 累加器A的值带进位循环右移1位
77 带进位左移 RLC A 累加器A的值带进位循环左移1位
控制转移指令
78 无条件转移 SJMP rel rel为地址偏移量,PC加2后的地址加上rel作为目标地址,程序跳到目标地址继续运行
79 AJMP addr11(a10- a0) addr11为11位地址,PC加2后的地址高5位与指令中的低11位地址构成目标地址,程序跳到目标地址继续运行
80 LJMP addr16 将addr16的16位地址送程序计数器PC,使机器执行下一条指令时无条件转移到addr16处执行程序
81 JMP @A+DPTR 目标地址的基地址放在DPTR中,目标地址对基地址的偏移量放在累加器A中,它们相加构成目标地址
82 条件转移 JZ rel If(累加器A=0)则PC加2再加上rel作为目标地址
83 JNZ rel If(累加器A!=0)则PC加2再加上rel作为目标地址
84 CJNE A, direct, rel If(累加器A!= direct地址单元的值)则PC加2再加上rel作为目标地址
85 CJNE A, #data, rel If(累加器A!= 立即数)则PC加2再加上rel作为目标地址
86 CJNE Rn, #data, rel If(寄存器Rn的值!= 立即数)则PC加2再加上rel作为目标地址
87 CJNE @Ri, #data, rel 寄存器Ri内为RAM地址,If(该地址单元的值!= 立即数)则PC加2再加上rel作为目标地址
88 循环转移 DJNZ Rn, rel 寄存器Rn的值减1后,If(寄存器Rn的值!=0)则PC加2再加上rel作为目标地址
89 DJNZ direct, rel Direct地址单元的值减1后,If(该值!=0)则PC加3再加上rel作为目标地址
90 布尔条件转移 JC rel If(CY=1)则PC加2再加上rel作为目标地址
91 JNC rel If(CY=0)则PC加2再加上rel作为目标地址
92 JB bit, rel If(bit位=1)则PC加3再加上rel作为目标地址
93 JNB bit, rel If(bit位=0)则PC加3再加上rel作为目标地址
94 JBC bit, rel If(bit位=1)则PC加3再加上rel作为目标地址,且bit位清0
95 调用指令 ACALL addr11 addr11为11位地址,PC加2后的地址PUSH进堆栈,再将PC的地址高5位与指令中的低11位地址构成目标地址,程序跳到目标地址继续运行
96 LCALL addr16 PC加3后的地址PUSH进堆栈,再将16位地址送PC作为目标地址,程序跳到目标地址继续运行
97 返回指令 RET 子程序返回指令,把堆栈中的地址恢复到PC中使程序回到调用处
98 RETI 中断程序返回指令,把堆栈中的地址恢复到PC中使程序回到调用处
99 空操作 NOP 空操作
位操作指令
100 布尔传送 MOV C, bit 将bit位地址中的值送PSW中的进位标志位CY
101 MOV bit, C 将PSW中的进位标志位CY的值送bit位地址中
102 位清0 CLR C 将进位标志位CY清0
103 位清0 CLR bit 将bit位地址内清0
104 位置1 SETB C 将进位标志位CY置1
105 SETB bit 将bit位地址内置1
106 位与 ANL C, bit 将Cy和bit位地址中的值进行与操作后,结果送Cy
107 ANL C, /bit bit位地址中的值取反后再与Cy进行与操作,结构送Cy
108 位或 ORL C, bit 将Cy和bit位地址中的值进行或操作后,结果送Cy
109 ORL C, /bit bit位地址中的值取反后再与Cy进行或操作,结构送Cy
110 位取反 CPL C 将Cy取反
111 CPL bit 将bit位地址的值取反

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

8051系列单片机汇编语言指令速查表(汇编语言的111条指相关推荐

  1. 汇编指令速查表(X86平台)

    有时我们需要查看汇编代码去分析软件异常,汇编代码才能最直观地反映出软件的问题所在.为了方便大家理解并记忆常用的汇编指令,读懂汇编代码的上下文,此处列出常用汇编指令的使用说明,以供参考. AAA 未组合 ...

  2. 51单片机常用寄存器速查

    51单片机常用寄存器速查表 一 : 定时器 / 计数器方式选择 : TMOD 地址 (89H) 不可位寻址 D7 D6 D5 D4 D3 D2 D1 D0 GATE C/T M1 M0 GATE C/ ...

  3. 图解 Python 编程(23) | 文件与目录操作(附要点速查表·完结)

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/56 本文地址:https://www.showmeai.tech/article-d ...

  4. 8086汇编语言命令速查与详解

    http://note.sdo.com/u/1729301760/n/D4MQ0~jJXgEpnM0sI000Gx 汇编语言命令速查 一.数据传输指令 ──────────────────────── ...

  5. 图解 Python 编程(13) | 字符串及操作(附要点速查表·完结)

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/56 本文地址:https://www.showmeai.tech/article-d ...

  6. [Github项目推荐] 机器学习 Python 知识点速查表

    2019年第 21 篇文章,总第 45 篇文章 今天推荐三份知识点的速查表,分别是机器学习.深度学习和 Python 三方面的知识点速查表.其中前两份都是来自斯坦福大学的课程,分别是 CS229 机器 ...

  7. 21 张让你代码能力突飞猛进的速查表(神经网络、线性代数、可视化等)

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨马卡斯·扬@知乎 来源丨https://zhuanla ...

  8. 常用Python标准库对象速查表(1)

    封面图片:<Python程序设计基础(第2版)>,董付国,清华大学出版社 =============== 常用Python标准库对象速查表(1) 标准库 对象 简要说明 math sin( ...

  9. 网页配色实例:Web设计色彩速查表

    一直希望自己对Web设计的色彩把握的更好些,所以手头上就备了一份图片版的配色表,对色彩的搭配有了很多的提高,今天发现了这套非常完整的Web版设计色彩速查表,相比图片版的来说就更容易实时学习了. ███ ...

最新文章

  1. 【Qt】dumpbin详解
  2. Xcode中快速定位、快速查找、快速查看文档、快速解决不再打印等技巧
  3. 给你一天时间,如何理清AI圈儿现状?
  4. 怎么让图片手机上排列_荣耀手机系列档次怎么排列?
  5. 远控免杀专题7 ---shellter免杀
  6. linux FTP 批量下载文件
  7. dvd在线租赁问题 matlab,DVD在线租赁问题.doc
  8. php yii框架使用MongoDb
  9. 关闭Windows 10系统更新以及查看电脑机型
  10. 3月11日Linux课程笔记
  11. python自动聊天机器人_Python实现微信聊天机器人
  12. 极化码自适应CA-SCL译码(极化码译码)
  13. MATLAB机器人工具箱的下载与安装
  14. 张驰咨询:六西格玛技术在提高抽油机井系统效率中的应用
  15. ps html 优化,优化 Photoshop 的性能
  16. Android Studio连接使用第三方模拟器
  17. 内网渗透(五十二)之域控安全和跨域攻击-搭建和查看域信任关系
  18. 手把手教你如何批量修改视频尺寸
  19. r720服务器系统安装u盘,服务器r720设置u盘启动
  20. 视频教程-嵌入式读图基础-智能硬件

热门文章

  1. wxWidgets:调试
  2. boost::gil::static_transform用法的测试程序
  3. boost::fusion::fused用法的测试程序
  4. boost::core模块实现交换std的dateorder
  5. ITK:计算PCA形状模型
  6. VTK:简单操作之RandomSequence
  7. VTK:相互作用之ImageClip
  8. OpenCV为Halide后端安排网络
  9. OpenCV梯度结构张量的各向异性图像分割
  10. Qt Creator造型Modeling