




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.8051 系列单片机汇编语言指令速查表编号指令名称指令助记符指令说明数据传送类指令 (29 条 )1MOV A, #data将立即数 #data 送累加器 A2MOV direct, #data将立即数 #data 送片内 RAM direct 地址单元内3Mov Rn , #data将立即数 #data 送寄存器 Rn寄存器 Ri 内为 RAM 地址 ,将立即数 #data送该地址4Mov Ri, #data单元内5Mov direct2, direct1将 direct1 地址单元的数据送direct2地址单元内6Mov direct, rn将 Rn 的数据送 direct地址单元内7M
2、ov Rn, direct将 direct 地址单元内的数据送 Rn 寄存器一般传送寄存器 Ri 内为 RAM 地址 ,将该地址单元内的数据送8Mov direct, Ridirect 地址单元内寄存器 Ri 内为 RAM 地址 ,将 direct 地址单元内的数9Mov Ri, direct据送该地址单元内10Mov A, Rn将寄存器 Rn 内的数据送累加器A11Mov Rn, A将累加器 A 内的数据送寄存器Rn12Mov A, direct将 direct 地址单元内的数据送累加器A13Mov direct, A将累加器 A 内的数据送 direct 地址单元内14Mov A, Ri寄
3、存器 Ri 内为 RAM 地址 ,将该地址单元内的数据送.专业专注. . .累加器 A寄存器 Ri 内为 RAM 地址 ,将累加器 A 的数据送该地15Mov Ri , A址单元内16目的地址传送Mov DPTR, #data16将 16 位立即数送数据指针 DPTR 寄存器17SWAP A累加器 A 高低 4 位数据交换18XCH A, Rn将累加器 A 数据和寄存器 Rn 内的数据交换19XCH A, direct将累加器 A 数据和 direct 地址单元内的数据交换字节交换寄存器 Ri 内为 RAM 地址 ,将该地址单元内的数据与20XCH A, Ri累加器 A 的数据交换寄存器 Ri
4、 内为 RAM 地址 ,将该地址单元内的数据低21XCHD A, Ri4 位与的低 4 位交换将累加器 A 的数据送数据指针 DPTR 寄存器所指外部22MOVX DPTR, ARAM 地址单元内将 DPTR 寄存器所指外部 RAM 地址单元内的数据送23MOVX A , DPTR累加器 A与外部 RAM 传送寄存器 Ri 内为片外 RAM 地址 ,将该地址单元内的数24MOVX A, Ri据送累加器 A寄存器 Ri 内为片外 RAM 地址 ,将该地址单元内的数25MOVX Ri, A据送累加器 AA+DPTR 构成 ROM 地址 ,将该地址内的数据送累加26MOVC A, A+DPTR与 R
5、OM 传送器 A 内27MOVC A, A+PCA+PC 构成 ROM 地址 ,将该地址内的数据送累加器.专业专注.A 内堆栈指针SP 自加 1 后,将 direct 地址单元的数据压28PUSH direct栈操作进堆栈 ,29POP direct堆栈的数据送direct 地址单元中 ,后堆栈指针减1,算术运算指令 (24 条 )将寄存器 Rn 与累加器 A 的数据相加后,结果保存到累30ADD A, Rn加器 A将 direct 地址单元内的数据与累加器A 的数据相加后31ADD A, direct结果保存到累加器A加法指令寄存器 Ri 内位地址 ,将该地址单元内的数据与累加32ADD A
6、, Ri器 A 的数据相加后结果保存到累加器A将立即数与累加器 A 的数据相加后结果保存到累加33ADD A, #data器 A将寄存器 Rn 与累加器 A 的数据相加 ,再加上进位标34ADDC A, Rn志内的值后 ,结果保存到累加器A将 direct 地址单元内的数据与累加器A 的数据相加 ,35ADDC A, direct再加上进位标志内的值后 ,结果保存到累加器 A带进位加法寄存器 Ri 内为 RAM 地址 ,将该地址单元内的数据与36ADDC A, Ri累加器 A 的数据相加 ,再加上进位标志内的值后 ,结果保存到累加器A将立即数与累加器 A 的数据相加 ,再加上进位标志37ADD
7、C A, #data内的值后结果保存到累加器A.专业专注.38SUBB A, Rn39SUBB A, direct带借位减法40SUBB A, Ri将与累加器A 的数据减去寄存器Rn 的数据 ,再减去进位标志内的值,结果保存到累加器A将与累加器A 的数据减去direct 地址单元内的数据,再减去进位标志内的值,结果保存到累加器A寄存器 Ri 内为 RAM 地址 ,将累加器 A 的数据减去该地址单元内的数据,再减去进位标志内的值后,结果保存到累加器A将累加器A 的数据减去立即数,再减去进位标志内41SUBB A, #data的值后 ,结果保存到累加器A42INC A累加器 A 的值自加 143I
8、NC Rn寄存器 Rn 的值自加 144加 1指令INC directdirect 地址单元内值自加145INC Ri寄存器 Ri 内为 RAM 地址,该地址单元内的值自加146INC DPTR数据指针寄存器 DPTR 内的值自加 147DEC A累加器 A 的值自减 148DEC Rn寄存器 Rn 的值自减 1减 1指令49DEC directdirect 地址单元内的值自减150DEC Ri寄存器 Ri 内为 RAM 地址,该地址单元内的值自减1累加器 A 与寄存器 B 内的值相乘 ,乘积的高 8 位保51乘法MUL AB存在 B 寄存器 ,低 8 位保存在累加器 A 中累加器 A 的值除
9、以寄存器 B 的值 ,商保存在累加器 A52除法DIV AB中,余数保存在 B 寄存器.专业专注. . .53二 - 十进制调整DA A对累加器 A 的结果进行十进制调整逻辑运算指令(29 条)将累加器 A 的值和寄存器Rn 的值进行与操作 ,结果54ANL A, Rn保存到累加器 A 中将累加器 A 的值和 direct 地址单元内的值进行与操55ANL A, direct作,结果保存到累加器 A 中寄存器 Ri 内为 RAM 地址 ,将累加器 A 的值和该地址56ANL A, Ri单元内的值进行与操作,结果保存到累加器A 中逻辑与将累加器 A 的值和立即数进行与操作 ,结果保存到57ANL
10、 A, #data累加器 A中将累加器 A 的值和 direct 地址单元内的值进行与操58ANL direct, A作,结果保存到 direct 地址单元内将立即数和 direct 地址单元内的值进行与操作,结59ANL direct, #data果保存到 direct 地址单元内将累加器 A 的值和寄存器Rn 的值进行或操作 ,结果60ORL A, Rn保存到累加器 A 中将累加器 A 的值和 direct 地址单元内的值进行或操61ORL A, direct作,结果保存到累加器 A 中逻辑或寄存器 Ri 内为 RAM 地址 ,将累加器 A 的值和该地址62ORL A, Ri单元内的值进行
11、或操作,结果保存到累加器A 中将累加器 A 的值和立即数进行或操作 ,结果保存到63ORL A, #data累加器 A中.专业专注. . .将累加器 A 的值和 direct 地址单元内的值进行或操64ORL direct, A作,结果保存到 direct 地址单元内将立即数和 direct 地址单元内的值进行或操作,结65ORL direct, #data果保存到 direct地址单元内将累加器 A 的值和寄存器 Rn 的值进行异或操作,结66XRL A, Rn果保存到累加器 A 中将累加器 A 的值和 direct 地址单元内的值进行异或操67XRL A, direct作,结果保存到累加器
12、A 中寄存器 Ri 内为 RAM 地址 ,将累加器A 的值和该地址68XRL A, Ri单元内的值进行异或操作,结果保存到累加器A 中逻辑异或将累加器A 的值和立即数进行异或操作,结果保存69XRL A, #data到累加器A 中将累加器 A 的值和 direct 地址单元内的值进行异或操70XRL direct, A作,结果保存到direct 地址单元内将立即数和direct 地址单元内的值进行异或操作,71XRL direct, #data结果保存到 direct 地址单元内72按位取反CPL A累加器 A 的值按位取反73累加器清零CLRA累加器 A清 074逻辑右移RRA累加器 A 的
13、值循环右移1 位75逻辑左移RLA累加器 A 的值循环左移1 位76带进位右移RRCA累加器 A 的值带进位循环右移1 位77带进位左移RLCA累加器 A 的值带进位循环左移1 位.专业专注.控制转移指令 ( 17 条)rel 为地址偏移量 , PC 加 2 后的地址加上rel 作为目78SJMP rel标地址 ,程序跳到目标地址继续运行addr11 为 11 位地址 , PC 加 2 后的地址高5 位与指79AJMP addr11(a10- a0)令中的低 11 位地址构成目标地址 ,程序跳到目标地无条件转移址继续运行将 addr16 的 16 位地址送程序计数器PC,使机器执80LJMP
14、addr16行下一条指令时无条件转移到addr16 处执行程序目标地址的基地址放在DPTR 中,目标地址对基地址81JMP A+DPTR的偏移量放在累加器A 中,它们相加构成目标地址82JZ relIf(累加器 A=0 )则 PC 加 2 再加上 rel 作为目标地址If (累加器 A!=0 )则 PC 加 2再加上 rel 作为目标地83JNZ rel址If (累加器 A!= direct地址单元的值 )则 PC 加 2 再84CJNE A, direct, rel加上 rel 作为目标地址条件转移If (累加器 A!= 立即数 )则 PC 加 2 再加上 rel 作为85CJNE A, #
15、data, rel目标地址If(寄存器 Rn 的值 !=立即数 )则 PC 加 2 再加上 rel86CJNE Rn, #data, rel作为目标地址寄存器 Ri 内为 RAM 地址 ,If (该地址单元的值 != 立87CJNE Ri, #data, rel即数 )则 PC 加 2 再加上 rel 作为目标地址88循环转移DJNZ Rn, rel寄存器 Rn 的值减 1 后, If (寄存器 Rn 的值 !=0 )则.专业专注. . .PC 加 2 再加上 rel 作为目标地址Direct 地址单元的值减 1后, If (该值 !=0 )则 PC 加89DJNZ direct, rel3
16、再加上 rel作为目标地址90JCrelIf ( CY=1 )则 PC 加 2 再加上 rel 作为目标地址91JNCrelIf ( CY=0 )则 PC 加 2 再加上 rel 作为目标地址92JB bit, relIf ( bit位=1)则 PC加 3再加上 rel 作为目标地址布尔条件转移93JNB bit, relIf ( bit位=0)则 PC加 3再加上 rel 作为目标地址If( bit 位 =1 )则 PC 加 3再加上 rel 作为目标地址 ,94JBC bit, rel且 bit位清 0addr11为 11 位地址 , PC 加 2 后的地址 PUSH 进堆95ACALL
17、addr11栈,再将 PC 的地址高 5位与指令中的低11 位地址调用指令构成目标地址 ,程序跳到目标地址继续运行PC 加 3 后的地址 PUSH 进堆栈 ,再将 16位地址送96LCALLaddr16PC 作为目标地址 ,程序跳到目标地址继续运行子程序返回指令 ,把堆栈中的地址恢复到PC 中使程97RET序回到调用处返回指令中断程序返回指令 ,把堆栈中的地址恢复到PC 中使98RETI程序回到调用处99空操作NOP空操作位操作指令 (17 条 )100MOV C, bit将 bit位地址中的值送PSW 中的进位标志位 CY布尔传送101MOV bit, C将 PSW 中的进位标志位CY 的值
18、送 bit 位地址中.专业专注. . .102位清 0CLRC将进位标志位CY清 0103位清 0CLRbit将 bit 位地址内清 0104SETB C将进位标志位CY置 1位置 1105SETB bit将 bit 位地址内置 1106ANL C, bit将 Cy 和 bit 位地址中的值进行与操作后,结果送 Cy位与bit 位地址中的值取反后再与Cy 进行与操作 ,结构送107ANL C, /bitCy108ORL C, bit将 Cy 和 bit 位地址中的值进行或操作后,结果送 Cy位或bit 位地址中的值取反后再与Cy 进行或操作 ,结构送109ORL C, /bitCy110CPL
19、C将 Cy 取反位取反111CPLbit将 bit 位地址的值取反说明 :1 )Ri, Rn 指当前工作寄存器,i , n = 0 7 ,当前工作寄存器由程序状态字寄存器PSW 的 2 个位 RS1,RS0 决定.专业专注.MCS 51 使用汇编语言指令,它共有 44 个操作码助记符, 33 种功能 ,其操作数有 data 、direct 、Rn、 Ri 等 。这里介绍指令助记符及其相关符号的记忆方法。一、助记符号的记忆方法1、表格列举法把 44 个指令助记符按功能分为五类,每类列表记忆。此处从略 ,请读者自己总结。2、英文还原法单片机的操作码助记符是该指令功能的英文缩写,将缩写还原成英语原文
20、,再对照汉语有助于理解其助记符含义,从而加强记忆。例如 :.专业专注.增量INC Incremect减量DNC Decrement短转移SJMP Short jump长转移LJMP Long jump比较转移CJNE Compare jump not equality绝对转移AJMP Absolute jump空操作NOP No operation交换XCH Exchange加法ADD Addition乘法MUL Multiplication除法DIV Division左环移RL Rotate left进位左环移RLC Rotate left carry右环移RRRotate right进位右
21、环移RRC Rotate right carry3、功能模块记忆法单片机的44 个指令助记符 ,按所属指令功能可分为五大类,每类又可以按功能相似原则为 2 3 组。这样 ,化整为零 ,各个击破 ,实现快速记忆 。1)数据传送组 。2 )加减运算组MOV内部数据传送ADD加法MOVC程序存储器传送ADDC带进位加法MOVX外部数据传送SUBB 带进位减法3)逻辑运算组 。4 )子程序调用组。ANL 逻辑与LCALL 长调用ORL 逻辑或ALALL 绝对调用XRL 逻辑异或RET 子程序返回二、指令的记忆方法1、指令操作数的有关符号MCS 51 的寻址方式共有七种:立即数寻址 、直接寻址 、寄存器
22、寻址 、寄存器间址 、变址寻址 、相对寻址 、位寻址 。 我们必须掌握其表示的方法。1)立即数与直接地址。 data 表示八位立即数, data16 表示是十六位立即数, data 或.专业专注.direct 表示直接地址。2) Rn(n=0-7) 、 A 、B、CY、 DPTR 寄存器寻址变量。3) R0 、 R1 、 DPTR 、 SP 表示寄存器间址变量。4) DPTRA 、 PC A 表示变址寻址的变量。5) PC rel (相对量 )表示相对寻址变量。记住指令的助记符,掌握不同寻址方式的指令操作数的表示方法,为我们记忆汇编指令打下了基础。MCS 51 指令虽多 ,但按功能可分为五类,
23、其中数据传送类28 条,算术运算类24 条,逻辑操作类25 条,控制转移类17 条,布尔位操作类17条。 在每类指令里,根据其功能 ,抓住其源 、目的操作数的不同组合,再辅之以下方法,是完全能记住的 。 我们约定 ,可能的目的操作数按( data/direct/A/Rn/Ri)顺序表示 。对于 MOV 指令,其目的操作数按A 、Rn 、 direct 、 Ri 的顺序书写 ,则可以记住MOV 的 15 条指令。例如以累加器A 为目的操作数 ,可写出如下4 条指令 。MOV A , data/direct/A/Rn/Ri以此类推 ,写出其它指令 。MOV Rn , data/direct/AMOV direct, data/direct/A/Rn/RiMOV Ri , data/direct/A2、指令图示记忆法图示记忆法是把操作功能相同或相似、但其操作数不同的指令,用图形和箭头将目的、源操作数的关系表示出来的一种记忆方法。例如 :由助记符MOV
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022冬奥知识课件
- 2023年销售部工作总结与明年计划汇报
- 创意设计概述
- 中班冬季班本课程
- 儿童拇指骨折护理常规
- 诚信教育主题
- 人教版数学六年级下册一课一练-3.1圆柱人教新版含答案
- 人教版数学六年级下册4.3比例的应用练习卷含答案
- 茂名市信宜市2025年数学三下期末达标检测试题含解析
- 四川邻水实验学校2025届高三下学期四月调研测试英语试题含解析
- 2025-2030中国便利店行业发展前景及发展策略与投资风险研究报告
- 2025上海劳动合同样本专业版(合同版本)
- 2025年山东省枣庄市台儿庄区中考一调语文试题(原卷版+解析版)
- 2025年江苏省苏锡常镇高考数学调研试卷(一)(含答案)
- (二模)乌鲁木齐地区2025年高三年级第二次质量检测语文试卷(含官方答案)
- 2018工程定额单价表
- 城区建筑垃圾处理资源再利用设备采购 投标方案(技术方案)
- 第11课《山地回忆》教学课件2024-2025学年统编版语文七年级下册
- 建筑工程材料采购管理职责
- 【道法】历久弥新的思想理念课件 2024-2025学年统编版道德与法治七年级下册
- 【培训课件】DOE培训
评论
0/150
提交评论