收藏 分销(赏)

C51单片机汇编语言指令集.doc

上传人:天**** 文档编号:10820780 上传时间:2025-06-18 格式:DOC 页数:5 大小:347.51KB 下载积分:6 金币
下载 相关 举报
C51单片机汇编语言指令集.doc_第1页
第1页 / 共5页
C51单片机汇编语言指令集.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
51汇编语言指令集 符号定义表 符号 含义 Rn R0~R7寄存器n=0~7 Direct 直接地址,内部数据区的地址RAM(00H~7FH) SFR(80H~FFH) B,ACC,PSW,IP,P3,IE,P2,SCON,P1,TCON,P0 @Ri 间接地址Ri=R0或R1 8051/31RAM地址(00H~7FH) 8052/32RAM地址(00H~FFH) #data 8位常数 #data16 16位常数 Addr16 16位的目标地址 Addr11 11位的目标地址 Rel 相关地址 bit 内部数据RAM(20H~2FH),特殊功能寄存器的直接地址的位 指令介绍 指令 字节 周期 动作说明 算数运算指令 1.ADD A,Rn 1 1 将累加器与寄存器的内容相加,结果存回累加器 2.ADD A,direct 2 1 将累加器与直接地址的内容相加,结果存回累加器 3.ADD A,@Ri 1 1 将累加器与间接地址的内容相加,结果存回累加器 4.ADD A,#data 2 1 将累加器与常数相加,结果存回累加器 5.ADDC A,Rn 1 1 将累加器与寄存器的内容及进位C相加,结果存回累加器 6.ADDC A,direct 2 1 将累加器与直接地址的内容及进位C相加,结果存回累加器 7.ADDC A,@Ri 1 1 将累加器与间接地址的内容及进位C相加,结果存回累加器 8.ADDC A,#data 2 1 将累加器与常数及进位C相加,结果存回累加器 9.SUBB A,Rn 1 1 将累加器的值减去寄存器的值减借位C,结果存回累加器 10.SUBB A,direct 2 1 将累加器的值减直接地址的值减借位C,结果存回累加器 11.SUBB A,@Ri 1 1 将累加器的值减间接地址的值减借位C,结果存回累加器 12.SUBB A,0data 2 1 将累加器的值减常数值减借位C,结果存回累加器 13.INC A 1 1 将累加器的值加1 14.INC Rn 1 1 将寄存器的值加l 15.INC direct 2 1 将直接地址的内容加1 16.INC @Ri 1 1 将间接地址的内容加1 17.INC DPTR 1 1 数据指针寄存器值加1 说明:将16位的DPTR加1,当DPTR的低字节(DPL)从FFH溢出至00H时,会使高字节(DPH)加1,不影响任何标志位 18.DEC A 1 1 将累加器的值减1 19.DEC Rn 1 1 将寄存器的值减1 20.DEC direct 2 1 将直接地址的内容减1 21.DEC @Ri 1 1 将间接地址的内容减1 22.MUL AB 1 4 将累加器的值与B寄存器的值相乘,乘积的低位字节存回累加器,高位字节存回B寄存器 说明:将累加器A和寄存器B内的无符号整数相乘,产生16位的积,低位字节存入A,高位字节存入B寄存器。如果积大于FFH,则溢出标志位(OV)被设定为1,而进位标志位为0 23.DIV AB 1 4 将累加器的值除以B寄存器的值,结果的商存回累加器,余数存回B寄存器 说明:无符号的除法运算,将累加器A除以B寄存器的值,商存入A,余数存入B。执行本指令后,进位位(C)及溢出位(OV)被清除为0 24.DA A 1 1 将累加器A作十进制调整, 若(A) 3-0>9或(AC)=1,则(A) 3-0←(A)3-0+6 若(A) 7-4>9或 (C)=1,则(A) 7-4←(A)7-4+6 逻辑运算指令 ANL A,Rn 1 1 将累加器的值与寄存器的值做AND的逻辑判断,结果存回累加器 ANL A,direct 2 1 将累加器的值与直接地址的内容做AND的逻辑判断,结果存回累加器 ANL A,@Ri 1 1 将累加器的值与间接地址的内容做AND的逻辑判断,结果存回累加器 ANL A,#data 2 1 将累加器的值与常数做AND的逻辑判断,结果存回累加器 ANL direct,A 2 1 将直接地址的内容与累加器的值做AND的逻辑判断,结果存回该直接地址 ANL direct,#data 3 2 将直接地址的内容与常数值做AND的逻辑判断,结果存回该直接地址 ORL A,Rn 1 1 将累加器的值与寄存器的值做OR的逻辑判断,结果存回累加器 32.ORL A,direct 2 1 将累加器的值与直接地址的内容做OR的逻辑判断,结果存回累加器 33.ORL A,@Ri 1 1 将累加器的值与间接地址的内容做OR的逻辑判断,结果存回累加器 34.ORL A,#data 2 1 将累加器的值与常数做OR的逻辑判断,结果存回累加器 35.ORL direct,A 2 1 将直接地址的内容与累加器的值做OR的逻辑判断,结果存回该直接地址 36.ORL direct,#data 3 2 将直接地址的内容与常数值做OR的逻辑判断,结果存回该直接地址 37.XRL A,Rn 1 1 将累加器的值与寄存器的值做XOR的逻辑判断,结果存回累加器 38.XRL A,direct 2 1 将累加器的值与直接地址的内容做XOR的逻辑判断,结果存回累加器 39.XRL A,@Ri 1 1 将累加器的值与间接地扯的内容做XOR的逻辑判断,结果存回累加器 40.XRL A,#data 2 1 将累加器的值与常数作XOR的逻辑判断,结果存回累加器 XRL direct,A 2 1 将直接地址的内容与累加器的值做XOR的逻辑判断,结果存回该直接地址 42.XRL direct,#data 3 2 将直接地址的内容与常数的值做XOR的逻辑判断,结果存回该直接地址 43.CLR A 1 1 清除累加器的值为0 44.CPL A 1 1 将累加器的值反相 45.RL A 1 1 将累加器的值左移一位 46.RLC A 1 1 将累加器含进位C左移一位 47.RR A 1 1 将累加器的值右移一位 48.RRC A 1 1 将累加器含进位C右移一位 49.SWAP A 1 1 将累加器的高4位与低4位的内容交换。(A)3-0←(A)7-4 数据转移指令 50.MOV A,Rn 1 1 将寄存器的内容载入累加器 51.MOV A,direct 2 1 将直接地址的内容载入累加器 52.MOV A,@Ri 1 1 将间接地址的内容载入累加器 53.MOV A,#data 2 1 将常数载入累加器 54.MOV Rn,A 1 1 将累加器的内容载入寄存器 55.MOV Rn,direct 2 2 将直接地址的内容载入寄存器 56.MOV Rn,gdata 2 1 将常数载入寄存器 57.MOV direct,A 2 1 将累加器的内容存入直接地址 58.MOV direct,Rn 2 2 将寄存器的内容存入直接地址 59.MOV direct1, direct2 3 2 将直接地址2的内容存入直接地址1 60.MOV direct,@Ri 2 2 将间接地址的内容存入直接地址 61.MOV direct,#data 3 2 将常数存入直接地址 62.MOV @Ri,A 1 1 将累加器的内容存入某间接地址 63.MOV @Ri,direct 2 2 将直接地址的内容存入某间接地址 64.MOV @Ri,#data 2 1 将常数存入某间接地址 65.MOV DPTR,#data16 3 2 将16位的常数存入数据指针寄存器 66.MOVC A,@A+DPTR 1 2 (A) ←((A)+(DPTR)) 累加器的值再加数据指针寄存器的值为其所指定地址,将该地址的内容读入累加器 67.MOVC A,@A+PC 1 2 (PC)←(PC)+1;(A)←((A)+(PC))累加器的值加程序计数器的值作为其所指定地址,将该地址的内容读入累加器 68.MOVX A,@Ri 1 2 将间接地址所指定外部存储器的内容读入累加器(8位地址) 69.MOVX A,@DPTR 1 2 将数据指针所指定外部存储器的内容读入累加器(16位地址) 70.MOVX @Ri,A 1 2 将累加器的内容写入间接地址所指定的外部存储器(8位地址) 71.MOVX @DPTR,A 1 2 将累加器的内容写入数据指针所指定的外部存储器(16位地址) 72.PUSH direct 2 2 将直接地址的内容压入堆栈区 73.POP direct 2 2 从堆栈弹出该直接地址的内容 74.XCH A,Rn 1 1 将累加器的内容与寄存器的内容互换 75.XCH A,direct 2 1 将累加器的值与直接地址的内容互换 76.XCH A,@Ri 1 1 将累加器的值与间接地址的内容互换 77.XCHD A,@Ri 1 1 将累加器的低4位与间接地址的低4位互换 布尔代数运算 78.CLR C 1 1 清除进位C为0 79.CLR bit 2 1 清除直接地址的某位为0 80.SETB C 1 1 设定进位C为1 81.SETB bit 2 1 设定直接地址的某位为1 82.CPL C 1 1 将进位C的值反相 83.CPL bit 2 1 将直接地址的某位值反相 84.ANL C,bit 2 2 将进位C与直接地址的某位做AND的逻辑判断,结果存回进位C 85.ANL C,/bit 2 2 将进位C与直接地址的某位的反相值做AND的逻辑判断,结果存回进位C 86.ORL C,bit 2 2 将进位C与直接地址的某位做OR的逻辑判断,结果存回进位C 87.ORL C,/bit 2 2 将进位C与直接地址的某位的反相值做OR的逻辑判断,结果存回进位C 88.MOV C,bit 2 1 将直接地址的某位值存入进位C 89.MOV bit,C 2 2 将进位C的值存入直接地址的某位 90.JC rel 2 2 若进位C=1则跳至rel的相关地址 91.JNC rel 2 2 若进位C=0则跳至rel的相关地址 92.JB bit,rel 3 2 若直接地址的某位为1,则跳至rel的相关地址 93.JNB bit,rel 3 2 若直接地址的某位为0,则跳至rel的相关地址 94.JBC bit,rel 3 2 若直接地址的某位为1,则跳至rel的相关地址,并将该位值清除为0 程序跳跃 95.ACALL addr11 2 2 调用2K程序存储器范围内的子程序 96.LCALL addr16 3 2 调用64K程序存储器范围内的子程序 97.RET 1 2 从子程序返回 98.RETI 1 2 从中断子程序返回 99.AJMP addr11 2 2 绝对跳跃(2K内) 100.LJMP addr16 3 2 长跳跃(64K内) 101.SJMP rel 2 2 短跳跃(2K内)-128~+127字节 102.JMP @A+DPTR 1 2 跳至累加器的内容加数据指针所指的相关地址 103.JZ rel 2 2 累加器的内容为0,则跳至rel所指相关地址 104.JNZ rel 2 2 累加器的内容不为0,则跳至rel所指相关地址 105.CJNE A,direct,rel 3 2 将累加器的内容与直接地址的内容比较,不相等则跳至rel所指的相关地址 106.CJNE A,#data,rel 3 2 将累加器的内容与常数比较,若不相等则跳至rel所指的相关地址 CJNE @Rn, #data,rel 3 2 将寄存器的内容与常数比较,若不相等则跳至rel所指的相关地址 CJNE @Ri, #data,rel 3 2 将间接地址的内容与常数比较,若不相等则跳至rel所指的相关地址 109.DJNZ Rn,rel 2 2 将寄存器的内容减1,不等于0则跳至rel所指的相关地址 110.DJNZ direct,rel 3 2 将直接地址的内容减1,不等于0则跳至rel所指的相关地址 111.NOP 1 1 无动作 符号 地址 功能介绍 B F0H B寄存器 ACC E0H 累加器 PSW D0H 程序状态字 IP B8H 中断优先级控制寄存器 P3 B0H P3口锁存器 IE A8H 中断允许控制寄存器 P2 A0H P2口锁存器 SBUF 99H 串行口锁存器 SCON 98H 串行口控制寄存器 P1 90H P1口锁存器 TH1 8DH 定时器/计数器1(高8位) TH0 8CH 定时器/计数器1(低8位) TL1 8BH 定时器/计数器0(高8位) TL0 8AH 定时器/计数器0(低8位) TMOD 89A 定时器/计数器方式控制寄存器 TCON 88H 定时器/计数器控制寄存器 DPH 83H 数据地址指针(高8位) DPL 82H 数据地址指针(低8位) SP 81H 堆栈指针 P0 80H P0口锁存器 PCON 87H 电源控制寄存器 P3.0 RXD 串行口输入端 P3.1 TXD 串行口输出端 P3.2 INT0 外部中断0请求输入端,低电平有效 P3.3 INT1 外部中断1请求输入端,低电平有效 P3.4 T0 定时器/计数器0计数脉冲输入端 P3.5 T1 定时器/计数器1计数脉冲输入端 P3.6 WR 外部数据存储器写选通信号输出端,低电平有效 P3.7 RD 外部数据存储器读选通信号输出端,低电平有效 CY(PSW.7)——进位标志位。 AC(PSW.6)——辅助进位(或称半进位)标志。 F0(PSW.5)——由用户定义的标志位。 RS1(PSW.4)、 RS0(PSW.3)——工作寄存器组选择位。 OV(PSW.2)——溢出标志位。 由硬件置位或清零。 PSW.1——未定义位。 P(PSW.0)——奇偶标志位。 位寻址区 20H~2FH单元是位寻址区。这16个单元(共计16×8=128位)的每一位都赋予了一个位地址,位地址范围为00H~7FH。位寻址区的每一位都可当作软件触发器,由程序直接进行位处理。通常可以把各种程序状态标志、位控制变量存于位寻址区内。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服