您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 述职报告 > C51(8051)汇编指令集
序号1符号Rn2Direct3@Ri4#data5#data166Addr167Addr118Rel9bit序号算数运算指令指令字节周期动作说明1ADDA,Rn11将累加器与寄存器的内容相加,结果存回累加器2ADDA,direct21将累加器与直接地址的内容相加,结果存回累加器3ADDA,@Ri11将累加器与间接地址的内容相加,结果存回累加器4ADDA,#data21将累加器与常数相加,结果存回累加器5ADDCA,Rn11将累加器与寄存器的内容及进位C相加,结果存回累加器6ADDCA,direct21将累加器与直接地址的内容及进位C相加,结果存回累加器7ADDCA,@Ri11将累加器与间接地址的内容及进位C相加,结果存回累加器8ADDCA,#data21将累加器与常数及进位C相加,结果存回累加器9SUBBA,Rn11将累加器的值减去寄存器的值减借位C,结果存回累加器10SUBBA,direct21将累加器的值减直接地址的值减借位C,结果存回累加器11SUBBA,@Ri11将累加器的值减间接地址的值减借位C,结果存回累加器12SUBBA,0data21将累加器的值减常数值减借位C,结果存回累加器13INCA11将累加器的值加1141INCRn11将寄存器的值加l15INCdirect21将直接地址的内容加116INC@Ri11将间接地址的内容加117INCDPTR11数据指针寄存器值加118DECA11将累加器的值减119DECRn11将寄存器的值减120DECdirect21将直接地址的内容减121DEC@Ri11将间接地址的内容减122MULAB14将累加器的值与B寄存器的值相乘,乘积的低位字节存回累加器,高位字节存回B寄存器23DIVAB14将累加器的值除以B寄存器的值,结果的商存回累加器,余数存回B寄存器24DAA11将累加器A作十进制调整,若(A)3-09或(AC)=1,则(A)3-0←(A)3-0+6,若(A)7-49或(C)=1,则(A)7-4←(A)7-4+625ANLA,Rn11将累加器的值与寄存器的值做AND的逻辑判断,结果存回累加器26ANLA,direct21将累加器的值与直接地址的内容做AND的逻辑判断,结果存回累加器27ANLA,@Ri11将累加器的值与间接地址的内容做AND的逻辑判断,结果存回累加器28ANLA,#data21将累加器的值与常数做AND的逻辑判断,结果存回累加器29ANLdirect,A21将直接地址的内容与累加器的值做AND的逻辑判断,结果存回该直接地址30ANLdirect,#data32将直接地址的内容与常数值做AND的逻辑判断,结果存回该直接地址31ORLA,Rn11将累加器的值与寄存器的值做OR的逻辑判断,结果存回累加器32ORLA,direct21将累加器的值与直接地址的内容做OR的逻辑判断,结果存回累加器33ORLA,@Ri11将累加器的值与间接地址的内容做OR的逻辑判断,结果存回累加器34ORLA,#data21将累加器的值与常数做OR的逻辑判断,结果存回累加器51汇编语言指令集直接地址,内部数据区的地址RAM(00H~7FH)SFR(80H~FFH)B,ACC,PSW,IP,P3,IE,P2,SCON,P1,TCON,P0R0~R7寄存器n=0~716位的目标地址16位常数8位常数间接地址Ri=R0或R18051/31RAM地址(00H~7FH)8052/32RAM地址(00H~FFH)含义相关地址11位的目标地址说明:将累加器A和寄存器B内的无符号整数相乘,产生16位的积,低位字节存入A,高位字节存入B寄存器。如果积大于FFH,则溢出标志位(OV)被设定为1,而进位标志位为0说明:无符号的除法运算,将累加器A除以B寄存器的值,商存入A,余数存入B。执行本指令后,进位位(C)及溢出位(OV)被清除为0内部数据RAM(20H~2FH),特殊功能寄存器的直接地址的位符号定义表指令介绍逻辑运算指令说明:将16位的DPTR加1,当DPTR的低字节(DPL)从FFH溢出至00H时,会使高字节(DPH)加1,不影响任何标志位35ORLdirect,A21将直接地址的内容与累加器的值做OR的逻辑判断,结果存回该直接地址36ORLdirect,#data32将直接地址的内容与常数值做OR的逻辑判断,结果存回该直接地址37XRLA,Rn11将累加器的值与寄存器的值做XOR的逻辑判断,结果存回累加器38XRLA,direct21将累加器的值与直接地址的内容做XOR的逻辑判断,结果存回累加器39XRLA,@Ri11将累加器的值与间接地扯的内容做XOR的逻辑判断,结果存回累加器40XRLA,#data21将累加器的值与常数作XOR的逻辑判断,结果存回累加器41XRLdirect,A21将直接地址的内容与累加器的值做XOR的逻辑判断,结果存回该直接地址42XRLdirect,#data32将直接地址的内容与常数的值做XOR的逻辑判断,结果存回该直接地址43CLRA11清除累加器的值为044CPLA11将累加器的值反相45RLA11将累加器的值左移一位46RLCA11将累加器含进位C左移一位47RRA11将累加器的值右移一位48RRCA11将累加器含进位C右移一位49SWAPA11将累加器的高4位与低4位的内容交换。(A)3-0←(A)7-450MOVA,Rn11将寄存器的内容载入累加器51MOVA,direct21将直接地址的内容载入累加器52MOVA,@Ri11将间接地址的内容载入累加器53MOVA,#data21将常数载入累加器54MOVRn,A11将累加器的内容载入寄存器55MOVRn,direct22将直接地址的内容载入寄存器56MOVRn,gdata21将常数载入寄存器57MOVdirect,A21将累加器的内容存入直接地址58MOVdirect,Rn22将寄存器的内容存入直接地址59MOVdirect1,direct232将直接地址2的内容存入直接地址160MOVdirect,@Ri22将间接地址的内容存入直接地址61MOVdirect,#data32将常数存入直接地址62MOV@Ri,A11将累加器的内容存入某间接地址63MOV@Ri,direct22将直接地址的内容存入某间接地址64MOV@Ri,#data21将常数存入某间接地址65MOVDPTR,#data1632将16位的常数存入数据指针寄存器66MOVCA,@A+DPTR12(A)←((A)+(DPTR))累加器的值再加数据指针寄存器的值为其所指定地址,将该地址的内容读入累加器67MOVCA,@A+PC12(PC)←(PC)+1;(A)←((A)+(PC))累加器的值加程序计数器的值作为其所指定地址,将该地址的内容读入累加器68MOVXA,@Ri12将间接地址所指定外部存储器的内容读入累加器(8位地址)69MOVXA,@DPTR12将数据指针所指定外部存储器的内容读入累加器(16位地址)70MOVX@Ri,A12将累加器的内容写入间接地址所指定的外部存储器(8位地址)71MOVX@DPTR,A12将累加器的内容写入数据指针所指定的外部存储器(16位地址)72PUSHdirect22将直接地址的内容压入堆栈区73POPdirect22从堆栈弹出该直接地址的内容74XCHA,Rn11将累加器的内容与寄存器的内容互换75XCHA,direct21将累加器的值与直接地址的内容互换76XCHA,@Ri11将累加器的值与间接地址的内容互换77XCHDA,@Ri11将累加器的低4位与间接地址的低4位互换78CLRC11清除进位C为079CLRbit21清除直接地址的某位为080SETBC11设定进位C为181SETBbit21设定直接地址的某位为182CPLC11将进位C的值反相83CPLbit21将直接地址的某位值反相84ANLC,bit22将进位C与直接地址的某位做AND的逻辑判断,结果存回进位C85ANLC,/bit22将进位C与直接地址的某位的反相值做AND的逻辑判断,结果存回进位C86ORLC,bit22将进位C与直接地址的某位做OR的逻辑判断,结果存回进位C87ORLC,/bit22将进位C与直接地址的某位的反相值做OR的逻辑判断,结果存回进位C88MOVC,bit21将直接地址的某位值存入进位C89MOVbit,C22将进位C的值存入直接地址的某位90JCrel22若进位C=1则跳至rel的相关地址91JNCrel22若进位C=0则跳至rel的相关地址布尔代数运算数据转移指令92JBbit,rel32若直接地址的某位为1,则跳至rel的相关地址93JNBbit,rel32若直接地址的某位为0,则跳至rel的相关地址94JBCbit,rel32若直接地址的某位为1,则跳至rel的相关地址,并将该位值清除为095ACALLaddr1122调用2K程序存储器范围内的子程序96LCALLaddr1632调用64K程序存储器范围内的子程序97RET12从子程序返回98RETI12从中断子程序返回99AJMPaddr1122绝对跳跃(2K内)100LJMPaddr1632长跳跃(64K内)101SJMPrel22短跳跃(2K内)-128~+127字节102JMP@A+DPTR12跳至累加器的内容加数据指针所指的相关地址103JZrel22累加器的内容为0,则跳至rel所指相关地址104JNZrel22累加器的内容不为0,则跳至rel所指相关地址105CJNEA,direct,rel32将累加器的内容与直接地址的内容比较,不相等则跳至rel所指的相关地址106CJNEA,#data,rel32将累加器的内容与常数比较,若不相等则跳至rel所指的相关地址107CJNE@Rn,#data,rel32将寄存器的内容与常数比较,若不相等则跳至rel所指的相关地址108CJNE@Ri,#data,rel32将间接地址的内容与常数比较,若不相等则跳至rel所指的相关地址109DJNZRn,rel22将寄存器的内容减1,不等于0则跳至rel所指的相关地址110DJNZdirect,rel32将直接地址的内容减1,不等于0则跳至rel所指的相关地址111NOP11无动作序号1符号功能介绍BB寄存器2ACC累加器3PSW程序状态字4IP中断优先级控制寄存器5P3P3口锁存器6IE中断允许控制寄存器7P2P2口锁存器8SBUF串行口锁存器9SCON串行口控制寄存器10P1P1口锁存器11TH1定时器/计数器1(高8位)12TH0定时器/计数器1(低8位)13TL1定时器/计数器0(高8位)14TL0定时器/计数器0(低8位)15TMOD定时器/计数器方式控制寄存器16TCON定时器/计数器控制寄存器17DPH数据地址指针(高8位)18DPL数据地址指针(低8位)19SP堆栈指针20P0P0口锁存器21PCON电源控制寄存器序号1P3口线信号名称P3.0串行口输入端2P3.1串行口输出端3P3.2外部中断0请求输入端,低电平有效4P3.3外部中断1请求输入端,低电平有效5P3.4定时器/计数器0计数脉冲输入端6P3.5定时器/计数器1计数脉冲输入端7P3.6外部数据存储器写选通信号输出端,低电平有效8P3.7外部数据存储器读选通信号输出端,低电平有效8AH90H8DH8CH8BH程序跳跃87H第二功能89A88H83H82H81H80HRD特殊功能寄存器P3口第二功能列表B0HB8HD0HE0HF0H地址INT1A8HA0H99HWRT0T1RXDTXDINT098H
本文标题:C51(8051)汇编指令集
链接地址:https://www.777doc.com/doc-5890511 .html