C51单片机汇编语言指令集

上传人:jiups****uk12 文档编号:48502200 上传时间:2018-07-16 格式:DOC 页数:5 大小:347.50KB
返回 下载 相关 举报
C51单片机汇编语言指令集_第1页
第1页 / 共5页
C51单片机汇编语言指令集_第2页
第2页 / 共5页
C51单片机汇编语言指令集_第3页
第3页 / 共5页
C51单片机汇编语言指令集_第4页
第4页 / 共5页
C51单片机汇编语言指令集_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《C51单片机汇编语言指令集》由会员分享,可在线阅读,更多相关《C51单片机汇编语言指令集(5页珍藏版)》请在金锄头文库上搜索。

1、51汇编语汇编语言指令集言指令集符号定义表符号含义RnR0R7寄存器n=07Direct直接地址,内部数据区的地址 RAM(00H7FH)SFR(80HFFH) B,ACC,PSW,IP,P3,IE,P2,SCON, P1,TCON,P0Ri间接地址Ri=R0或R1 8051/31RAM地址(00H7FH) 8052/32RAM地址(00HFFH)#data8位常数#data1616位常数Addr1616位的目标地址Addr1111位的目标地址Rel相关地址bit内部数据RAM(20H2FH),特殊功能寄存 器的直接地址的位 指令介绍指令字 节周 期动作说明算数运算指令1.ADD A,Rn1

2、1将累加器与寄存器的内容相加,结 果存回累加器2.ADD A,direct2 1 将累加器与直接地址的内容相加, 结果存回累加器3.ADD A,Ri1 1将累加器与间接地址的内容相加, 结果存回累加器4.ADD A,#data2 1将累加器与常数相加,结果存回累 加器5.ADDC A,Rn1 1将累加器与寄存器的内容及进位C相 加,结果存回累加器6.ADDC A,direct2 1将累加器与直接地址的内容及进位C 相加,结果存回累加器7.ADDC A,Ri1 1将累加器与间接地址的内容及进位C 相加,结果存回累加器8.ADDC A,#data2 1将累加器与常数及进位C相加,结果 存回累加器9

3、.SUBB A,Rn1 1将累加器的值减去寄存器的值减借 位C,结果存回累加器10.SUBB A,direct2 1将累加器的值减直接地址的值减借 位C,结果存回累加器11.SUBB 1 1将累加器的值减间接地址的值减借A,Ri位C,结果存回累加器12.SUBB A,0data2 1将累加器的值减常数值减借位C,结 果存回累加器13.INC A1 1将累加器的值加114.INC Rn1 1将寄存器的值加l15.INC direct2 1 将直接地址的内容加116.INC Ri1 1将间接地址的内容加117.INC DPTR1 1数据指针寄存器值加1说明:将16位的DPTR加1,当DPTR的低字

4、节(DPL)从 FFH溢出至00H时,会使高字节(DPH)加1,不影响任何 标志位18.DEC A11将累加器的值减119.DEC Rn11将寄存器的值减120.DEC direct21将直接地址的内容减121.DEC Ri11将间接地址的内容减122.MUL AB14将累加器的值与B寄存器的值相 乘,乘积的低位字节存回累加器, 高位字节存回B寄存器说明:将累加器A和寄存器B内的无符号整数相乘,产生 16位的积,低位字节存入A,高位字节存入B寄存器。如 果积大于FFH,则溢出标志位(OV)被设定为1,而进位标 志位为023.DIV AB14将累加器的值除以B寄存器的值,结果的商存回累加器,余数

5、存回B寄存 器 说明:无符号的除法运算,将累加器A除以B寄存器的值, 商存入A,余数存入B。执行本指令后,进位位(C)及溢 出位(OV)被清除为024D A A11将累加器A作十进制调整,若(A) 3-09或(AC)=1,则(A) 3-0(A) 3-0+6若(A) 7-49或 (C)=1,则(A) 7-4(A) 7-4+6逻辑运算指令ANL A,Rn11 将累加器的值与寄存器的值做AND的逻 辑判断,结果存回累加器ANL A,direct21 将累加器的值与直接地址的内容做AND 的逻辑判断,结果存回累加器ANL A,Ri11 将累加器的值与间接地址的内容做AND 的逻辑判断,结果存回累加器A

6、NL 21 将累加器的值与常数做AND的逻辑判断,A,#data结果存回累加器ANL direct,A21 将直接地址的内容与累加器的值做AND 的逻辑判断,结果存回该直接地址ANL direct,#data3 2将直接地址的内容与常数值做AND 的逻辑判断,结果存回该直接地址ORL A,Rn11将累加器的值与寄存器的值做OR的逻 辑判断,结果存回累加器32ORL A,direct2 1 将累加器的值与直接地址的内容做OR 的逻辑判断,结果存回累加器33ORL A,Ri1 1 将累加器的值与间接地址的内容做OR 的逻辑判断,结果存回累加器34ORL A,#data2 1 将累加器的值与常数做O

7、R的逻辑判断, 结果存回累加器35ORL direct,A2 1 将直接地址的内容与累加器的值做OR 的逻辑判断,结果存回该直接地址36ORL direct,#data3 2 将直接地址的内容与常数值做OR的逻 辑判断,结果存回该直接地址37XRL A,Rn1 1 将累加器的值与寄存器的值做XOR的 逻辑判断,结果存回累加器38XRL A,direct2 1 将累加器的值与直接地址的内容做 XOR的逻辑判断,结果存回累加器39XRL A,Ri1 1 将累加器的值与间接地扯的内容做 XOR的逻辑判断,结果存回累加器40XRL A,#data2 1 将累加器的值与常数作XOR的逻辑判 断,结果存回

8、累加器XRL direct,A21 将直接地址的内容与累加器的值做XOR 的逻辑判断,结果存回该直接地址42XRL direct,#data3 2 将直接地址的内容与常数的值做XOR 的逻辑判断,结果存回该直接地址43CLR A1 1 清除累加器的值为044CPL A1 1 将累加器的值反相45RL A1 1 将累加器的值左移一位46RLC A1 1 将累加器含进位C左移一位47RR A1 1 将累加器的值右移一位48RRC A1 1 将累加器含进位C右移一位49SWAP A1 1 将累加器的高4位与低4位的内容交换。 (A)3-0(A)7-4数据转移指令50MOV A,Rn1 1 将寄存器的

9、内容载入累加器51MOV A,direct2 1 将直接地址的内容载入累加器52MOV A,Ri1 1 将间接地址的内容载入累加器53MOV 2 1 将常数载入累加器A,#data54MOV Rn,A1 1 将累加器的内容载入寄存器55MOV Rn,direct2 2 将直接地址的内容载入寄存器56MOV Rn,gdata2 1 将常数载入寄存器57MOV direct,A2 1 将累加器的内容存入直接地址58MOV direct,Rn2 2 将寄存器的内容存入直接地址59MOV direct1, direct23 2将直接地址2的内容存入直接地址 160MOV direct,Ri2 2将间接

10、地址的内容存入直接地址61MOV direct,#data3 2将常数存入直接地址62MOV Ri,A11将累加器的内容存入某间接地址63MOV Ri,direct22将直接地址的内容存入某间接地 址64MOV Ri,#data21将常数存入某间接地址65MOV DPTR,#data1 632将16位的常数存入数据指针寄存 器66MOVC A,A+DPT R12(A) (A)+(DPTR)累加器的值再加数据指针寄存器 的值为其所指定地址,将该地址 的内容读入累加器67MOV C A,A+PC1 2(PC)(PC)+1;(A)(A)+(PC)累加器 的值加程序计数器的值作为其所指定 地址,将该地

11、址的内容读入累加器68MOVX A,Ri12将间接地址所指定外部存储器的 内容读入累加器(8位地址)69MOVX A,DPTR12将数据指针所指定外部存储器的 内容读入累加器(16位地址)70MOVX Ri,A12将累加器的内容写入间接地址所 指定的外部存储器(8位地址)71MOVX DPTR,A12将累加器的内容写入数据指针所 指定的外部存储器(16位地址)72PUSH direct22将直接地址的内容压入堆栈区73POP direct22从堆栈弹出该直接地址的内容74XCH A,Rn11将累加器的内容与寄存器的内容 互换75XCH A,direct21将累加器的值与直接地址的内容 互换76

12、XCH A,Ri11将累加器的值与间接地址的内容 互换77XCHD A,Ri11将累加器的低4位与间接地址的低 4位互换布尔代数运算78CLR C11清除进位C为079CLR bit21清除直接地址的某位为080SETB C11设定进位C为181SETB bit21设定直接地址的某位为182CPL C11 将进位C的值反相83CPL bit21 将直接地址的某位值反相84ANL C,bit22将进位C与直接地址的某位做AND的 逻辑判断,结果存回进位C85ANL C,/bit22将进位C与直接地址的某位的反相值 做AND的逻辑判断,结果存回进位C86ORL C,bit22将进位C与直接地址的某

13、位做OR的逻 辑判断,结果存回进位C87ORL C,/bit22将进位C与直接地址的某位的反相值 做OR的逻辑判断,结果存回进位C88MOV C,bit21将直接地址的某位值存入进位C89MOV bit,C22将进位C的值存入直接地址的某位90JC rel22若进位C=1则跳至rel的相关地址91JNC rel22若进位C=0则跳至rel的相关地址92JB bit,rel32若直接地址的某位为1,则跳至rel的 相关地址93JNB bit,rel32若直接地址的某位为0,则跳至rel的 相关地址94JBC bit,rel32若直接地址的某位为1,则跳至rel的 相关地址,并将该位值清除为0程序

14、跳跃95ACAL L addr112 2调用2K程序存储器范围内的子程序96LCAL L addr163 2调用64K程序存储器范围内的子程序97RET1 2从子程序返回98RETI1 2从中断子程序返回99AJMP addr112 2绝对跳跃(2K内)100LJMP addr163 2长跳跃(64K内)101SJMP rel2 2短跳跃(2K内)-128+127字节102JMP A+DPTR1 2跳至累加器的内容加数据指针所指 的相关地址103JZ rel2 2累加器的内容为0,则跳至rel所指相 关地址104JNZ rel2 2累加器的内容不为0,则跳至rel所指 相关地址105CJNE

15、A,direct,rel3 2将累加器的内容与直接地址的内容 比较,不相等则跳至rel所指的相关 地址106CJNE A,#data,rel3 2将累加器的内容与常数比较,若不 相等则跳至rel所指的相关地址CJNE Rn, #data,rel3 2将寄存器的内容与常数比较,若不 相等则跳至rel所指的相关地址CJNE Ri, #data,rel3 2将间接地址的内容与常数比较,若 不相等则跳至rel所指的相关地址109DJNZ Rn,rel2 2将寄存器的内容减1,不等于0则跳 至rel所指的相关地址110DJNZ direct,rel3 2将直接地址的内容减1,不等于0则 跳至rel所指的相关地址111NOP1 1无动作符号 地址 功能介绍 BF0HB 寄存器 ACCE0H累加器 PSWD0H程序状态字 IPB8H中断优先级控制寄存器 P3B0HP3口锁存器 IEA8H中断允许控制寄存器 P2A0HP2口锁存器 SBUF99H串行口锁存器 SCON98H串行口控制寄存器 P190HP1口锁存器 TH18DH定时器/计数器1(高8位) TH08CH定时器/计数器1(低8位) TL18BH定时器/计数器0(高8位) TL08AH定时器/计数器0(低8位) TMOD89A定时器/计数器方式控制寄存器 TCON88H定时器/计数器控制寄存器 DPH83H数据地址指针(高

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号