8051单片机汇编指令速查表

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

8051系列单片机汇编语言指令速查表编号指令名称指令助记符指令说明数据传送类指令(29条)1一般传送MOVA,#data将立即数#data送累加器A2MOVdirect,#data将立即数#data送片内RAMdirect地址单元内3MovRn,#data将立即数#data送寄存器Rn4Mov@Ri,#data寄存器Ri内为RAM地址,将立即数#data送该地址单元内5Movdirect2,direct1将direct1地址单元的数据送direct2地址单元内6Movdirect,rn将Rn的数据送direct地址单元内7MovRn,direct将direct地址单元内的数据送Rn寄存器8Movdirect,@Ri寄存器Ri内为RAM地址,将该地址单元内的数据送direct地址单元内9Mov@Ri,direct寄存器Ri内为RAM地址,将direct地址单元内的数据送该地址单元内10MovA,Rn将寄存器Rn内的数据送累加器A11MovRn,A将累加器A内的数据送寄存器Rn12MovA,direct将direct地址单元内的数据送累加器A13Movdirect,A将累加器A内的数据送direct地址单元内14MovA,@Ri寄存器Ri内为RAM地址,将该地址单元内的数据送累加器A15Mov@Ri,A寄存器Ri内为RAM地址,将累加器A的数据送该地址单元内16目的地址传送MovDPTR,#data16将16位立即数送数据指针DPTR寄存器17字节交换SWAPA累加器A高低4位数据交换18XCHA,Rn将累加器A数据和寄存器Rn内的数据交换19XCHA,direct将累加器A数据和direct地址单元内的数据交换20XCHA,@Ri寄存器Ri内为RAM地址,将该地址单元内的数据与累加器A的数据交换21XCHDA,@Ri寄存器Ri内为RAM地址,将该地址单元内的数据低4位与的低4位交换22与外部RAM传送MOVX@DPTR,A将累加器A的数据送数据指针DPTR寄存器所指外部RAM地址单元内23MOVXA,@DPTR将DPTR寄存器所指外部RAM地址单元内的数据送累加器A24MOVXA,@Ri寄存器Ri内为片外RAM地址,将该地址单元内的数据送累加器A25MOVX@Ri,A寄存器Ri内为片外RAM地址,将该地址单元内的数据送累加器A26与ROM传送MOVCA,@A+DPTRA+DPTR构成ROM地址,将该地址内的数据送累加器A内27MOVCA,@A+PCA+PC构成ROM地址,将该地址内的数据送累加器A内28栈操作PUSHdirect堆栈指针SP自加1后,将direct地址单元的数据压进堆栈,29POPdirect堆栈的数据送direct地址单元中,后堆栈指针减1,算术运算指令(24条)30加法指令ADDA,Rn将寄存器Rn与累加器A的数据相加后,结果保存到累加器A31ADDA,direct将direct地址单元内的数据与累加器A的数据相加后结果保存到累加器A32ADDA,@Ri寄存器Ri内位地址,将该地址单元内的数据与累加器A的数据相加后结果保存到累加器A33ADDA,#data将立即数与累加器A的数据相加后结果保存到累加器A34带进位加法ADDCA,Rn将寄存器Rn与累加器A的数据相加,再加上进位标志内的值后,结果保存到累加器A35ADDCA,direct将direct地址单元内的数据与累加器A的数据相加,再加上进位标志内的值后,结果保存到累加器A36ADDCA,@Ri寄存器Ri内为RAM地址,将该地址单元内的数据与累加器A的数据相加,再加上进位标志内的值后,结果保存到累加器A37ADDCA,#data将立即数与累加器A的数据相加,再加上进位标志内的值后结果保存到累加器A38带借位减法SUBBA,Rn将与累加器A的数据减去寄存器Rn的数据,再减去进位标志内的值,结果保存到累加器A39SUBBA,direct将与累加器A的数据减去direct地址单元内的数据,再减去进位标志内的值,结果保存到累加器A40SUBBA,@Ri寄存器Ri内为RAM地址,将累加器A的数据减去该地址单元内的数据,再减去进位标志内的值后,结果保存到累加器A41SUBBA,#data将累加器A的数据减去立即数,再减去进位标志内的值后,结果保存到累加器A42加1指令INCA累加器A的值自加143INCRn寄存器Rn的值自加144INCdirectdirect地址单元内值自加145INC@Ri寄存器Ri内为RAM地址,该地址单元内的值自加146INCDPTR数据指针寄存器DPTR内的值自加147减1指令DECA累加器A的值自减148DECRn寄存器Rn的值自减149DECdirectdirect地址单元内的值自减150DEC@Ri寄存器Ri内为RAM地址,该地址单元内的值自减151乘法MULAB累加器A与寄存器B内的值相乘,乘积的高8位保存在B寄存器,低8位保存在累加器A中52除法DIVAB累加器A的值除以寄存器B的值,商保存在累加器A中,余数保存在B寄存器53二-十进制调整DAA对累加器A的结果进行十进制调整逻辑运算指令(29条)54逻辑与ANLA,Rn将累加器A的值和寄存器Rn的值进行与操作,结果保存到累加器A中55ANLA,direct将累加器A的值和direct地址单元内的值进行与操作,结果保存到累加器A中56ANLA,@Ri寄存器Ri内为RAM地址,将累加器A的值和该地址单元内的值进行与操作,结果保存到累加器A中57ANLA,#data将累加器A的值和立即数进行与操作,结果保存到累加器A中58ANLdirect,A将累加器A的值和direct地址单元内的值进行与操作,结果保存到direct地址单元内59ANLdirect,#data将立即数和direct地址单元内的值进行与操作,结果保存到direct地址单元内60逻辑或ORLA,Rn将累加器A的值和寄存器Rn的值进行或操作,结果保存到累加器A中61ORLA,direct将累加器A的值和direct地址单元内的值进行或操作,结果保存到累加器A中62ORLA,@Ri寄存器Ri内为RAM地址,将累加器A的值和该地址单元内的值进行或操作,结果保存到累加器A中63ORLA,#data将累加器A的值和立即数进行或操作,结果保存到累加器A中64ORLdirect,A将累加器A的值和direct地址单元内的值进行或操作,结果保存到direct地址单元内65ORLdirect,#data将立即数和direct地址单元内的值进行或操作,结果保存到direct地址单元内66逻辑异或XRLA,Rn将累加器A的值和寄存器Rn的值进行异或操作,结果保存到累加器A中67XRLA,direct将累加器A的值和direct地址单元内的值进行异或操作,结果保存到累加器A中68XRLA,@Ri寄存器Ri内为RAM地址,将累加器A的值和该地址单元内的值进行异或操作,结果保存到累加器A中69XRLA,#data将累加器A的值和立即数进行异或操作,结果保存到累加器A中70XRLdirect,A将累加器A的值和direct地址单元内的值进行异或操作,结果保存到direct地址单元内71XRLdirect,#data将立即数和direct地址单元内的值进行异或操作,结果保存到direct地址单元内72按位取反CPLA累加器A的值按位取反73累加器清零CLRA累加器A清074逻辑右移RRA累加器A的值循环右移1位75逻辑左移RLA累加器A的值循环左移1位76带进位右移RRCA累加器A的值带进位循环右移1位77带进位左移RLCA累加器A的值带进位循环左移1位控制转移指令(17条)78无条件转移SJMPrelrel为地址偏移量,PC加2后的地址加上rel作为目标地址,程序跳到目标地址继续运行79AJMPaddr11(a10-a0)addr11为11位地址,PC加2后的地址高5位与指令中的低11位地址构成目标地址,程序跳到目标地址继续运行80LJMPaddr16将addr16的16位地址送程序计数器PC,使机器执行下一条指令时无条件转移到addr16处执行程序81JMP@A+DPTR目标地址的基地址放在DPTR中,目标地址对基地址的偏移量放在累加器A中,它们相加构成目标地址82条件转移JZrelIf(累加器A=0)则PC加2再加上rel作为目标地址83JNZrelIf(累加器A!=0)则PC加2再加上rel作为目标地址84CJNEA,direct,relIf(累加器A!=direct地址单元的值)则PC加2再加上rel作为目标地址85CJNEA,#data,relIf(累加器A!=立即数)则PC加2再加上rel作为目标地址86CJNERn,#data,relIf(寄存器Rn的值!=立即数)则PC加2再加上rel作为目标地址87CJNE@Ri,#data,rel寄存器Ri内为RAM地址,If(该地址单元的值!=立即数)则PC加2再加上rel作为目标地址88循环转移DJNZRn,rel寄存器Rn的值减1后,If(寄存器Rn的值!=0)则PC加2再加上rel作为目标地址89DJNZdirect,relDirect地址单元的值减1后,If(该值!=0)则PC加3再加上rel作为目标地址90布尔条件转移JCrelIf(CY=1)则PC加2再加上rel作为目标地址91JNCrelIf(CY=0)则PC加2再加上rel作为目标地址92JBbit,relIf(bit位=1)则PC加3再加上rel作为目标地址93JNBbit,relIf(bit位=0)则PC加3再加上rel作为目标地址94JBCbit,relIf(bit位=1)则PC加3再加上rel作为目标地址,且bit位清095调用指令ACALLaddr11addr11为11位地址,PC加2后的地址PUSH进堆栈,再将PC的地址高5位与指令中的低11位地址构成目标地址,程序跳到目标地址继续运行96LCALLaddr16PC加3后的地址PUSH进堆栈,再将16位地址送PC作为目标地址,程序跳到目标地址继续运行97返回指令RET子程序返回指令,把堆栈中的地址恢复到PC中使程序回到调用处98RETI中断程序返回指令,把堆栈中的地址恢复到PC中使程序回到调用处99空操作NOP空操作位操作指令(17条)100布尔传送MOVC,bit将bit位地址中的值送PSW中的进位标志位CY101MOVbit,C将PSW中的进位标志位CY的值送bit位地址中102位清0CLRC将进位标志位CY清0103位清0CLRbit将bit位地址内清0104位置1SETBC将进位标志位CY置1105SETBbit将bit位地址内置1106位与ANLC,bit将Cy和bit位地址中的值进行与操作后,结果送Cy107ANLC,/bitbit位地址中的值取反后再与Cy进行与操作,结构送Cy108位或ORLC,bit将Cy和bit位地址中的值进行或操作后,结果送Cy109ORLC,/bitbit位地址中的值取反后再与Cy进行或操作,结构送Cy110位取反CPLC将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、英文还原法单片机的操作码助记符是该指令功能的英文缩写,将缩写还原成英语原文,再对照汉语有助于理解其助记符含义,从而加强记忆。例如:增量INC-Incremect减量DNC-Decrement短转移SJMP-Shortjump长转移LJMP-Longjump比较转移CJNE-Comparejumpnotequality绝对转移AJMP-Absolutejump空

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功