2022年汇编指令详解[参 .pdf
《2022年汇编指令详解[参 .pdf》由会员分享,可在线阅读,更多相关《2022年汇编指令详解[参 .pdf(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 4 章 51 汇编指令详解1.指令的定义指令是规定计算机进行某种操作的指令。一条指令只能完成有限的功能,为了使计算机完成一定的或者复杂的功能,就需要一系列指令。计算机能够执行各种指令的集合称为“指令系统”。计算机的主要功能也是由指令系统来体现的。80C51使用了 7 种寻址方式,共有111条指令。如果按照字节分:49条单字节,46 条双字节,16 条 3 字节。如果按照运算速度分:单周期指令 64 条,双周期 45 条,4 周期 2 条。用助记符形式来表示的机器指令称为“汇编语言指令”。计算机的指令一般用汇编语言指令来表示。80C51系列单片机的指令共有111 条指令,按照其功能特点分为5
2、 大类,即是:数据传送指令类、算术运算类、逻辑运算类、控制转移类和位操作类。名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 25 页 -符号定义表符号含义RnR0 R7寄存器 n=07 Direct 直接地址,内部数据区的地址RAM(00H 7FH)SFR(80H FFH)B,ACC,PSW,IP,P3,IE,P2,SCON,P1,TCON,P0 Ri 间接地址 Ri=R0或R18051/31RAM 地址(00H7FH)8052/32RAM地址(00HFFH)#data8 位常数#data1616 位常数Addr1616 位的目标地址Addr1111 位的目标地址Rel 相关地址
3、bit 内部数据 RAM(20H 2FH),特殊功能寄存器的直接地址的位指令介绍指令字节 周期 动作说明一、算数运算指令2.指令的详解(字节周期)1ADD A,Rn11 将累加 8 器与寄存器的内容相加,结果存回累加名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 25 页 -器2ADD A,direct21 将累加器与直接地址的内容相加,结果存回累加器3ADD A,Ri11 将累加器与间接地址的内容相加,结果存回累加器4ADD A,#data21 将累加器与常数相加,结果存回累加器5ADDC A,Rn11 将累加器与寄存器的内容及进位C相加,结果存回累加器6ADDC A,dire
4、ct21 将累加器与直接地址的内容及进位C相加,结果存回累加器7ADDC A,Ri11 将累加器与间接地址的内容及进位C相加,结果存回累加器8ADDC A,#data21 将累加器与常数及进位C相加,结果存回累加器/减法指令,如下,都是带借位减法,其中 A为被减数,即 A-Rn-CY=A 9SUBB A,Rn 11 将累加器的值减去寄存器的值减借位C,结果存回累加器10SUBB A,direct21 将累加器的值减直接地址的值减借位C,结果存回累加器11SUBB A,Ri11 将累加器的值减间接地址的值减借位C,结名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 25 页 -果存回
5、累加器12SUBB A,#data21 将累加器的值减常数值减借位C,结果存回累加器/INC 将操作数所在指定单元内容加一,其中操作除了第一条13指令影响就标志为外,其余指令操作均不影响PSW 13INC A11 将累加器的值加1;14INC Rn11 将寄存器的值加l 15INC direct21 将直接地址的内容加1 16INC Ri11 将间接地址的内容加1 17 INC DPTR11 数据指针寄存器值加1 说明:将16 位的DPTR加1,当DPTR 的低字节(DPL)从FFH溢出至00H时,会使高字节(DPH)加 1,不影响任何标志位,此是唯一一条 16 位加一指令,如果低 8 位有进
6、位,可以直接向高位进位。/假发指令与假发指令类似,是将其操作数所指定的调用内容减一。18DEC A 1 1 将累加器的值减1 19DEC Rn 1 1 将寄存器的值减1 20DEC direct 21 将直接地址的内容减1 21DEC Ri 1 1 将间接地址的内容减1 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 25 页 -/乘除法指令都是 1 个字节,4 个周期22MUL AB 1 4 将累加器的值与B寄存器的值相乘,乘积的低位字节存回累加器,高位字节存回,注意AB中间没有空格。B寄存器说明:将累加器A和寄存器B内的无符号整数相乘,产生16 位的积,低位字节存入A,高位字
7、节存入B寄存器。如果积大于FFH,则溢出标志位(OV)被设定为1,而进位标志位为0 23DIV AB 1 4 将累加器的值除以B寄存器的值,结果的商存回累加器,余数存回B寄存器说明:无符号的除法运算,将累加器A除以B寄存器的值,商存入A,余数存入B。执行本指令后,进位位(C)及溢出位(OV)被清除为024 DA A 11 将累加器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二、逻辑运算指令/汇编指令中的十进制调整指令:/这条指令在进行 BCD 码加减法运算时,跟在 ADD 和 ADDC 指令之后
8、,用来对压缩 BCD 码就行结果自动修正,使其仍然为压缩BCD 码。在80C51单片机中,DA A不能对减法指令结果进行修正。名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 25 页 -/该指令是针对十进制的运算结果进行调整的,其实现的功能如下*当低 4 位 A0A39或者半进位位 AC=1 时,自动执行(A)+6-A*当结果的高四位 A4-A79或者进位位 CY=1 时,自动执行(A)+60H-A*当结果的高四位 A4-A79,低 4 位 A0A39时,自动执行(A)+66H-A/这种操作主要用于两个数安位进行逻辑操作,操作结果送至累加器A或者直接寻址单元。主要逻辑操作有“与”
9、,“或”,“非”,以及位移、取反、清除等。25ANL A,Rn 11 将累加器的值与寄存器的值做AND 的逻辑判断,结果存回累加器26ANL A,direct 2 1 将累加器的值与直接地址的内容做AND的逻辑判断,结果存回累加器27ANL A,Ri 11 将累加器的值与间接地址的内容做AND 的逻辑判断,结果存回累加器28ANL A,#data 21 将累加器的值与常数做AND的逻辑判断,结果存回累加器29ANL direct,A2 1 将直接地址的内容与累加器的值做AND的逻辑判断,结果存回该直接地址30ANL direct,#data3 2 将直接地址的内容与常数值做AND的逻辑判断,结
10、果存回该直接地址名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 25 页 -/29,30两条指令,如果direct为 I/O 口,则进行“读-改-写”操作。/逻辑或操作,31 ORL A,Rn 11 将累加器的值与寄存器的值做OR 的逻辑判断,结果存回累加器32ORL A,direct2 1 将累加器的值与直接地址的内容做OR的逻辑判断,结果存回累加器33ORL A,Ri 1 1 将累加器的值与间接地址的内容做OR的逻辑判断,结果存回累加器34ORL A,#data2 1 将累加器的值与常数做OR的逻辑判断,结果存回累加器35ORL direct,A2 1 将直接地址的内容与累加
11、器的值做OR的逻辑判断,结果存回该直接地址36ORL direct,#data 32 将直接地址的内容与常数值做OR的逻辑判断,结果存回该直接地址/逻辑异或操作37XRL A,Rn 11 将累加器的值与寄存器的值做XOR 的逻辑判断,结果存回累加器名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 25 页 -38XRL A,direct2 1 将累加器的值与直接地址的内容做XOR 的逻辑判断,结果存回累加器39XRL A,Ri 1 1 将累加器的值与间接地扯的内容做XOR 的逻辑判断,结果存回累加器40 XRL A,#data2 1 将累加器的值与常数作XOR 的逻辑判断,结果存回
12、累加器41XRL direct,A2 1 将直接地址的内容与累加器的值做XOR 的逻辑判断,结果存回该直接地址42XRL direct,#data 32 将直接地址的内容与常数的值做XOR 的逻辑判断,结果存回该直接地址43CLR A 1 1 清除累加器的值为0 44CPL A 1 1 将累加器的值反相/RL,RR 循环移位指令,RRC,RLC 带进位循环以移位指令45RL A 1 1 将累加器的值左移一位46RLCA 1 1 将累加器含进位C 左移一位名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 25 页 -47RRA 11 将累加器的值右移一位48RRC A 1 1 将累加
13、器含进位C 右移一位49SWAP A 1 1 将累加器的高4 位与低4 位的内容交换。(A)3-0(A)7-4 数据转移指令/内部数据传送指令50MOV A,Rn 11 将寄存器的内容载入累加器51MOV A,direct 2 1 将直接地址的内容载入累加器52MOV A,Ri 1 1 将间接地址的内容载入累加器53MOV A,#data 2 1 将常数载入累加器54MOV Rn,A1 1 将累加器的内容载入寄存器55MOV Rn,direct 2 2 将直接地址的内容载入寄存器56MOV Rn,gdata 2 1 将常数载入寄存器57MOV direct,A2 1 将累加器的内容存入直接地址
14、58MOV direct,Rn2 2 将寄存器的内容存入直接地址59MOV direct1,direct23 2 将直接地址2 的内容存入直接地址1 60MOV direct,Ri 22 将间接地址的内容存入直接地址61MOV direct,#data 32 将常数存入直接地址62MOV Ri,A 1 1 将累加器的内容存入某间接地址63MOV Ri,direct 22 将直接地址的内容存入某间接地址名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 25 页 -64MOV Ri,#data 2 1 将常数存入某间接地址65MOV DPTR,#data16 3 2 将16 位的常数存
15、入数据指针寄存器/查表指令,注意是在程序存储区查表。66MOVC A,A+DPTR1 2(A)(A)+(DPTR)累加器的值再加数据指针寄存器的值为其所指定地址,将该地址的内容读入累加器67MOVC A,A+PC12(PC)(PC)+1;(A)(A)+(PC)累加器的值加程序计数器的值作为其所指定地址,将该地址的内容读入累加器。修正值是从下一条语句开始算起。/CPU 对片外 RAM 访问(既是外部数据传送指令)68MOVX A,Ri 1 2 将间接地址所指定外部存储器的内容读入累加器(8 位地址)69MOVX A,DPTR1 2 将数据指针所指定外部存储器的内容读入累加器(16 位地址)70M
16、OVX Ri,A 1 2将累加器的内容写入间接地址所指定的外部存储器(8 位地址)71MOVX DPTR,A1 2将累加器的内容写入数据指针所指定的外部存储器(16 位地址)名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 25 页 -72PUSH direct 22将直接地址的内容压入堆栈区73POP direct 22从堆栈弹出该直接地址的内容/调用时有自动入栈出栈操作,而且是 PC低位先入栈,高位后入栈。出栈时 PC高位先出栈,低位后出栈。/PC 入栈时,低位先入栈,高位后入栈。74XCH A,Rn 11将累加器的内容与寄存器的内容互换75XCH A,direct 21将累
17、加器的值与直接地址的内容互换76XCH A,Ri 1 1 将累加器的值与间接地址的内容互换77XCHD A,Ri 11 将累加器的低 4 位与间接地址的低4 位互换布尔代数运算78CLR C 11清除进位 C为 0 79CLR bit 2 1清除直接地址的某位为0 80SET B C 11 设定进位 C为 1 81SET B bit 2 1设定直接地址的某位为1 名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 25 页 -82CPL C 11 将进位 C的值反相83CPL bit 21将直接地址的某位值反相/注意:在位与与位或运算中,目标操作数只能是C 84ANL C,bit
18、2 2将进位 C与直接地址的某位做AND的逻辑判断,结果存回进位 C 85ANL C,/bit 2 2将进位 C与直接地址的某位的反相值做AND 的逻辑判断,结果存回进位C 86ORL C,bit 2 2将进位 C与直接地址的某位做OR的逻辑判断,结果存回进位 C 87ORL C,/bit 22将进位 C与直接地址的某位的反相值做OR的逻辑判断,结果存回进位C 88MOV C,bit 2 1将直接地址的某位值存入进位C 89MOV bit,C2 2 将进位 C的值存入直接地址的某位90JC rel 2 2若进位 C=1则跳至 rel 的相关地址91JNC rel 2 2若进位 C=0则跳至 r
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年汇编指令详解参 2022 汇编 指令 详解
限制150内