片机汇编指令速查表_第1页
片机汇编指令速查表_第2页
片机汇编指令速查表_第3页
片机汇编指令速查表_第4页
片机汇编指令速查表_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、8051系列单片机汇编语言指令速查表编号指令名称指令助记符指令说明数据传送类指令(29条)1一般传送MOV A, #data将立即数#data送累加器A2MOV direct, #data将立即数#data送片内RAM direct地址单元内3Mov Rn, #data将立即数#data送寄存器Rn4Mov Ri, #data寄存器Ri内为RAM地址,将立即数#data送该地址单元内5Mov direct2, direct1将direct1地址单元的数据送 direct2地址单元内6Mov direct, rn将Rn的数据送 direct地址单元内7Mov Rn, direct将direct地

2、址单元内的数据送Rn寄存器8Mov direct, Ri寄存器Ri内为RAM地址,将该地址单元内的数据送direct地址单元内9Mov Ri, direct寄存器Ri内为RAM地址,将direct地址单元内的数据送该地址单元内10Mov A, Rn将寄存器Rn内的数据送累加器A11Mov Rn, A将累加器A内的数据送寄存器Rn12Mov A, direct将direct地址单元内的数据送累加器A13Mov direct, A将累加器A内的数据送direct地址单元内14Mov A, Ri寄存器Ri内为RAM地址,将该地址单元内的数据送累加器A15Mov Ri , A寄存器Ri内为RAM地址,

3、将累加器A的数据送该地址单元内16目的地址传送Mov DPTR, #data16将16位立即数送数据指针DPTR寄存器17字节交换SWAP A累加器A高低4位数据交换18XCH A, Rn将累加器A数据和寄存器Rn内的数据交换19XCH A, direct将累加器A数据和direct地址单元内的数据交换20XCH A, Ri寄存器Ri内为RAM地址,将该地址单元内的数据与累加器A的数据交换21XCHD A, Ri寄存器Ri内为RAM地址,将该地址单元内的数据低4位与的低4位交换22与外部RAM传送MOVX DPTR, A将累加器A的数据送数据指针DPTR寄存器所指外部RAM地址单元内23MOV

4、X A , DPTR将DPTR寄存器所指外部RAM地址单元内的数据送累加器A24MOVX A, Ri寄存器Ri内为片外RAM地址,将该地址单元内的数据送累加器A25MOVX Ri, A寄存器Ri内为片外RAM地址,将该地址单元内的数据送累加器A26与ROM传送MOVC A, A+DPTRA+DPTR构成ROM地址,将该地址内的数据送累加器A内27MOVC A, A+PCA+PC构成ROM地址,将该地址内的数据送累加器A内28栈操作PUSH direct堆栈指针SP自加1后,将direct地址单元的数据压进堆栈,29POP direct堆栈的数据送direct地址单元中,后堆栈指针减1,算术运算

5、指令(24条)30加法指令ADD A, Rn将寄存器Rn与累加器A的数据相加后,结果保存到累加器A31ADD A, direct将direct地址单元内的数据与累加器A的数据相加后结果保存到累加器A32ADD A, Ri寄存器Ri内位地址,将该地址单元内的数据与累加器A的数据相加后结果保存到累加器A33ADD A, #data将立即数与累加器A的数据相加后结果保存到累加器A34带进位加法ADDC A, Rn将寄存器Rn与累加器A的数据相加,再加上进位标志内的值后,结果保存到累加器A35ADDC A, direct将direct地址单元内的数据与累加器A的数据相加,再加上进位标志内的值后,结果保

6、存到累加器A36ADDC A, Ri寄存器Ri内为RAM地址,将该地址单元内的数据与累加器A的数据相加,再加上进位标志内的值后,结果保存到累加器A37ADDC A, #data将立即数与累加器A的数据相加,再加上进位标志内的值后结果保存到累加器A38带借位减法SUBB A, Rn将与累加器A的数据减去寄存器Rn的数据,再减去进位标志内的值,结果保存到累加器A39SUBB A, direct将与累加器A的数据减去direct地址单元内的数据,再减去进位标志内的值,结果保存到累加器A40SUBB A, Ri寄存器Ri内为RAM地址,将累加器A的数据减去该地址单元内的数据,再减去进位标志内的值后,结

7、果保存到累加器A41SUBB A, #data将累加器A的数据减去立即数,再减去进位标志内的值后,结果保存到累加器A42加1指令INC A累加器A的值自加143INC Rn寄存器Rn的值自加144INC directdirect地址单元内值自加145INC Ri寄存器Ri内为RAM地址,该地址单元内的值自加146INC DPTR数据指针寄存器DPTR内的值自加147减1指令DEC A累加器A的值自减148DEC Rn寄存器Rn的值自减149DEC directdirect地址单元内的值自减150DEC Ri寄存器Ri内为RAM地址,该地址单元内的值自减151乘法MUL AB累加器A与寄存器B内

8、的值相乘,乘积的高8位保存在B寄存器,低8位保存在累加器A中52除法DIV AB累加器A的值除以寄存器B的值,商保存在累加器A中,余数保存在B寄存器53二-十进制调整DA A对累加器A的结果进行十进制调整逻辑运算指令(29条)54逻辑与ANL A, Rn将累加器A的值和寄存器Rn的值进行与操作,结果保存到累加器A中55ANL A, direct将累加器A的值和direct地址单元内的值进行与操作,结果保存到累加器A中56ANL A, Ri寄存器Ri内为RAM地址,将累加器A的值和该地址单元内的值进行与操作,结果保存到累加器A中57ANL A, #data将累加器A的值和立即数进行与操作,结果保

9、存到累加器A中58ANL direct, A将累加器A的值和direct地址单元内的值进行与操作,结果保存到direct地址单元内59ANL direct, #data将立即数和direct地址单元内的值进行与操作,结果保存到direct地址单元内60逻辑或ORL A, Rn将累加器A的值和寄存器Rn的值进行或操作,结果保存到累加器A中61ORL A, direct将累加器A的值和direct地址单元内的值进行或操作,结果保存到累加器A中62ORL A, Ri寄存器Ri内为RAM地址,将累加器A的值和该地址单元内的值进行或操作,结果保存到累加器A中63ORL A, #data将累加器A的值和立

10、即数进行或操作,结果保存到累加器A中64ORL direct, A将累加器A的值和direct地址单元内的值进行或操作,结果保存到direct地址单元内65ORL direct, #data将立即数和direct地址单元内的值进行或操作,结果保存到direct地址单元内66逻辑异或XRL A, Rn将累加器A的值和寄存器Rn的值进行异或操作,结果保存到累加器A中67XRL A, direct将累加器A的值和direct地址单元内的值进行异或操作,结果保存到累加器A中68XRL A, Ri寄存器Ri内为RAM地址,将累加器A的值和该地址单元内的值进行异或操作,结果保存到累加器A中69XRL A,

11、 #data将累加器A的值和立即数进行异或操作,结果保存到累加器A中70XRL direct, A将累加器A的值和direct地址单元内的值进行异或操作,结果保存到direct地址单元内71XRL direct, #data将立即数和direct地址单元内的值进行异或操作,结果保存到direct地址单元内72按位取反CPL A累加器A的值按位取反73累加器清零CLR A累加器A清074逻辑右移RR A累加器A的值循环右移1位75逻辑左移RL A累加器A的值循环左移1位76带进位右移RRC A累加器A的值带进位循环右移1位77带进位左移RLC A累加器A的值带进位循环左移1位控制转移指令(17条

12、)78无条件转移SJMP relrel为地址偏移量,PC加2后的地址加上rel作为目标地址,程序跳到目标地址继续运行79AJMP addr11(a10- a0)addr11为11位地址,PC加2后的地址高5位与指令中的低11位地址构成目标地址,程序跳到目标地址继续运行80LJMP addr16将addr16的16位地址送程序计数器PC,使机器执行下一条指令时无条件转移到addr16处执行程序81JMP A+DPTR目标地址的基地址放在DPTR中,目标地址对基地址的偏移量放在累加器A中,它们相加构成目标地址82条件转移JZ relIf(累加器A=0)则PC加2再加上rel作为目标地址83JNZ

13、relIf(累加器A!=0)则PC加2再加上rel作为目标地址84CJNE A, direct, relIf(累加器A!= direct地址单元的值)则PC加2再加上rel作为目标地址85CJNE A, #data, relIf(累加器A!= 立即数)则PC加2再加上rel作为目标地址86CJNE Rn, #data, relIf(寄存器Rn的值!= 立即数)则PC加2再加上rel作为目标地址87CJNE Ri, #data, rel寄存器Ri内为RAM地址,If(该地址单元的值!= 立即数)则PC加2再加上rel作为目标地址88循环转移DJNZ Rn, rel寄存器Rn的值减1后,If(寄存

14、器Rn的值!=0)则PC加2再加上rel作为目标地址89DJNZ direct, relDirect地址单元的值减1后,If(该值!=0)则PC加3再加上rel作为目标地址90布尔条件转移JC relIf(CY=1)则PC加2再加上rel作为目标地址91JNC relIf(CY=0)则PC加2再加上rel作为目标地址92JB bit, relIf(bit位=1)则PC加3再加上rel作为目标地址93JNB bit, relIf(bit位=0)则PC加3再加上rel作为目标地址94JBC bit, relIf(bit位=1)则PC加3再加上rel作为目标地址,且bit位清095调用指令ACALL

15、 addr11addr11为11位地址,PC加2后的地址PUSH进堆栈,再将PC的地址高5位与指令中的低11位地址构成目标地址,程序跳到目标地址继续运行96LCALL addr16PC加3后的地址PUSH进堆栈,再将16位地址送PC作为目标地址,程序跳到目标地址继续运行97返回指令RET子程序返回指令,把堆栈中的地址恢复到PC中使程序回到调用处98RETI中断程序返回指令,把堆栈中的地址恢复到PC中使程序回到调用处99空操作NOP空操作位操作指令(17条)100布尔传送MOV C, bit将bit位地址中的值送PSW中的进位标志位CY101MOV bit, C将PSW中的进位标志位CY的值送b

16、it位地址中102位清0CLR C将进位标志位CY清0103位清0CLR bit将bit位地址内清0104位置1SETB C将进位标志位CY置1105SETB bit将bit位地址内置1106位与ANL C, bit将Cy和bit位地址中的值进行与操作后,结果送Cy107ANL C, /bitbit位地址中的值取反后再与Cy进行与操作,结构送Cy108位或ORL C, bit将Cy和bit位地址中的值进行或操作后,结果送Cy109ORL C, /bitbit位地址中的值取反后再与Cy进行或操作,结构送Cy110位取反CPL C将Cy取反111CPL bit将bit位地址的值取反说明:1)Ri,

17、 Rn指当前工作寄存器,i,n = 0 7,当前工作寄存器由程序状态字寄存器PSW的2个位RS1, RS0决定MCS51使用汇编语言指令,它共有44个操作码助记符,33种功能,其操作数有data、direct、Rn、Ri等。这里介绍指令助记符及其相关符号的记忆方法。 一、助记符号的记忆方法 1、表格列举法 把44个指令助记符按功能分为五类,每类列表记忆。此处从略,请读者自己总结。 2、英文还原法 单片机的操作码助记符是该指令功能的英文缩写,将缩写还原成英语原文,再对照汉语有助于理解其助记符含义,从而加强记忆。例如:增量 INCIncremect 减量 DNCDecrement 短转移 SJMP

18、Short jump 长转移 LJMPLong jump 比较转移 CJNECompare jump not equality 绝对转移 AJMPAbsolute jump 空操作 NOPNo operation交换 XCHExchange 加法 ADDAddition乘法 MULMultiplication 除法 DIVDivision左环移 RLRotate left 进位左环移 RLCRotate left carry右环移 RRRotate right 进位右环移RRCRotate right carry 3、功能模块记忆法 单片机的44个指令助记符,按所属指令功能可分为五大类,每类又

19、可以按功能相似原则为23组。这样,化整为零,各个击破,实现快速记忆。 1)数据传送组。 2)加减运算组 MOV 内部数据传送 ADD 加法 MOVC 程序存储器传送 ADDC 带进位加法 MOVX 外部数据传送 SUBB 带进位减法 3)逻辑运算组。 4)子程序调用组。 ANL 逻辑与 LCALL 长调用 ORL 逻辑或 ALALL 绝对调用 XRL 逻辑异或 RET 子程序返回 二、指令的记忆方法 1、指令操作数的有关符号 MCS51的寻址方式共有七种:立即数寻址、直接寻址、寄存器寻址、寄存器间址、变址寻址、相对寻址、位寻址。我们必须掌握其表示的方法。 1)立即数与直接地址。data表示八位

20、立即数,data16表示是十六位立即数,data或direct表示直接地址。 2)Rn(n=0-7)、A、B、CY、DPTR寄存器寻址变量。 3)R0、R1、DPTR、SP表示寄存器间址变量。 4)DPTRA、PCA表示变址寻址的变量。 5)PCrel(相对量)表示相对寻址变量。 记住指令的助记符,掌握不同寻址方式的指令操作数的表示方法,为我们记忆汇编指令打下了基础。MCS51指令虽多,但按功能可分为五类,其中数据传送类28条,算术运算类24条,逻辑操作类25条,控制转移类17条,布尔位操作类17条。在每类指令里,根据其功能,抓住其源、目的操作数的不同组合,再辅之以下方法,是完全能记住的。我们

21、约定,可能的目的操作数按(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/A MOV direct,data/direct/A/Rn/Ri MOV Ri,data/direct/A 2、指令图示记忆法 图示记忆法是把操作功能相同或相似、但其操作数不同的指令,用图形和箭头将目的、源操作数的关系表示出来的一种记忆方法。例如:由助记符MOV、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论