8086汇编指令简表.docx
《8086汇编指令简表.docx》由会员分享,可在线阅读,更多相关《8086汇编指令简表.docx(13页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、8086/8088汇编指令简表(按字母顺序)AAA未组合的十进制加法调整指令AAA (ASCII Adgust for Addition)格式:AAA功能:对两个组合的十进制数相加运算(存 在AL中)的结果进行调整,产生一个未组 合的十进制数放在AX中说明:1 .组合的十进制数和未组合的十进制数:在计算中,十进制数 可用4位二进制数编码,称为BCD码当一个节(8位)中存放一位BCD码,且放在字节的低4位,高4 位时称为未组合的BCD码2 . AAA的调整操作若(AL) and 0FH9或AF= 1,则调整如下:(AL)-(AL)+6, (AH)-(AH)+1, AF=1, CF-AF, (AL
2、)-(AL) and OFHAAD未组合十进制数除法调整指令AAD (ASCII Adjust for Division)格式:AAD功能:在除法指令前对AX中的两个未组合十 进制数进行调整,以便能用DIV指令实现两 个未组合的十进制数的除法运算,其结果为未 组合的十进制数,商(在AL中)和余数(在 AH中)说明:1 . AAD指令是在执行除法DIV之前使用的,以便得到二进制 结果存于AL中,然后除以OPRD,得到的商在AL中,余数在 AH中2 .示例:MOV BL,5MOV AX,0308HAAD; (AL)-1EH+08H=26H,(AH)0DIV BL;商二07Hr(AL),余数=03H
3、r(AH).AAM未组合十进制数乘法调整指令AAM(ASCIIAdjust MULtiply)格式:AAM功能:对两个未组合的十进制数相乘后存于 AX中的结果进行调整,产生一个未组合的 十进制数存在AL中说明:1 .实际上是两个未组合的十进制数字节相乘,一个。9的数与另 一个09的数相乘其积最大为81。为了得到正确的结果,应进行 如下调整:乘积:(AH)*-(AL)/10(AL) 9 或 AF=1,贝|J(AL)(AL)-6, (AH)(AH)-1, CFAF, (AL)-(AL) and OFH, 否则(AL)(AL) and OFHADC带进位力口法指令ADC (Addition Carr
4、y)格式:ADC OPRD1,OPRD2功能:OPRD1-OPRD1+OPRD2 + CF说明:1 . OPRD1为任一通用寄存器或存储器操作数,可以是任意一个 通用寄存器,而且还可以是任意一个存储器操作数OPRD2为立即数,也可以是任意一个通用寄存器操作数。立即 数只能用于源操作数2 . OPRD1和OPRD2均为寄存器操作数是允许的,一个为寄存 器操作数而另一个为存储器操作数也是允许的,但不允许两个都 是存储器操作数3 .加法指令运算的结果对CF、SF、OF、PF、ZF、AF都会有 影响,以上标志也称为结果标志4 .该指令对标志位的影响同ADD指令ADD加法指令 ADD (Addition
5、) 格式:ADD OPRD1,OPRD2 功能:两数相加说明:1. OPRD1为任一通用寄存器或存储器操作数,可以是任意一个 通用寄存器,还可以是任意一个存储器操作数OPRD2为立即数,也可以是任意一个通用寄存器操作数。立即 数只能用于源操作数格式:ROL OPRD1,COUNT;不含进位标志位CF在循环中的左循环移位指令ROR OPRD1,COUNT;不含进位标志位 CF 在循环中的右循环移位指令RCL OPRD1,COUNT;带进位的左循环移位指 令RCR OPRD1,COUNT;带进位的右循环移位指 令1 .本指令组只影响标志CF、OF、OF由移入CF的内容决定, OF取决于移位一次后符
6、号位是否改变,如改变,则OF=12 .由于是循环移位,所以对字节移位8次;对字移位16次,就 可恢复为原操作数。由于带CF的循环移位,可以将CF的内容 移入,所以可以利用它实现多字节的循环RCR循环移位指令格式:ROL OPRD1,COUNT;不含进位标志位CF在循环中的左循环移位指令ROR OPRD1,COUNT;不含进位标志位CF 在循环中的右循环移位指令RCL OPRD1,COUNT;带进位的左循环移位指 令RCR OPRDI,COUNT;带进位的右循环移位指 令说明:1 .本指令组只影响标志CF、OF、OF由移入CF的内容决定, OF取决于移位一次后符号位是否改变,如改变,则OF=12
7、 .由于是循环移位,所以对字节移位8次;对字移位16次,就 可恢复为原操作数。由于带CF的循环移位,可以将CF的内容 移入,所以可以利用它实现多字节的循环注意:以上程序中的指令SHR AL,CL如改为SAR AL,CL,虽然 最高4位可移入低4位,但最高位不为0,故应加入一条指令 AND AL,0FHo否则,若最高位不为。时,将得到错误结果REP重复前缀的说明格式:REP;CX/)重复执行字符串指令REPZ/REPE; CXO且ZF=1重复执行字符串指 令REPNZ/REPNE; CX/)且 ZF=0 重复执行字 符串指令功能:在串操作指令前加上重复前缀,可以 对字符串进行重复处理。由于加上重
8、复前缀 后,对应的指令代码是不同的,所以指令的 功能便具有重复处理的功能,重复的次数存 放在CX寄存器中说明:1. REP与MOVS或STOS串操作指令相结合使用,完成一组字 符的传送或建立一组相同数据的字符串2. REPZ/REPE常用与CMPS串操作指令结合使用,可以完成 两组字符串的比较3. REPZ/REPE常与SCAS指令结合使用,可以完成在一个字符 串中搜索一个关键字4. REPNZ/REPNE与CMPS指令结合使用,表示当串未结束 (CX=1)且当对应串元素不相同(ZF=0)时,继续重复执行串 比较指令REPE重复前缀的说明格式:REP; CX/0重复执行字符串指令REPZ/RE
9、PE; CXO且ZF=1重复执行字符串 指令REPNZ/REPNE; CX#0 且 ZF=0 重复执行字 符串指令功能:在串操作指令前加上重复前缀,可以对 字符串进行重复处理。由于加上重复前缀后, 对应的指令代码是不同的,所以指令便具有重 复处理的功能,重复的次数存放在CX寄存器 中说明:1. REPZ/REPE常与CMPS串操作指令结合使用,可以完成两组 字符串的比较2. REPZ/REPE常与SCAS指令结合使用,可以完成在一个字符 串中搜索一个关键字3. REPNZ/REPNE与CMPS指令结合使用,表示当串未结束(CX=1) 且当对应串元素不相同(ZF=0)时,继续重复执行串比较指令4
10、. REPNZ/REPNE与SCAS指令结合使用,表示串未结束(CX=1) 且当关键字与串元素不相同(ZF=()时,继续重复执行串搜索 指令REPNE重复前缀的说明格式:REP; CXO重复执行字符串指令REPZ/REPE; CX#)且ZF=1重复执行字符串 指令REPNZ/REPNE; CX/0 且 ZF=0 重复执行字 符串指令说明:1. REPZ/REPE常与CMPS串操作指令结合使用,可以完成两组 字符串的比较2. REPZ/REPE常与SCAS指令结合使用,可以完成在一个字符 串中搜索一个关键字3. REPNZ/REPNE与CMPS指令结合使用,表示当串未结束(CX-1) 且当对应串
11、元素不相同(ZF=0)时,继续重复执行串比较指令4. REPNZ/REPNE与SCAS指令结合使用,表示串未结束(CX=1 ) 且当关键字与串元素不相同(ZF=0)时,继续重复执行串搜索 指令续表REPNZ重复前缀的说明格式:REP;CXR0重复执行字符串指令说明:1. REPZ/REPE常与CMPS串操作指令结合使用,可以完成两REPZ/REPE; CX翔 且ZF=1重复执行字符串 指令REPNZ/REPNE; CX#0 且 ZF=0 重复执行字 符串指令组字符串的比较2. REPZ/REPE常与SCAS指令结合使用,可以完成在一个字符 串中搜索一个关键字3. REPNZ/REPNE与CMP
12、S指令结合使用,表示当串未结束(CX= 1) 且当对应串元素不相同(ZF=0)时,继续重复执行串比较指令4. REPNZ/REPNE与SC AS指令结合使用,表示串未结束(CX=1) 且当关键字与串元素不相同(ZF=0)时,继续重复执行串搜索 指令REPZ重复前缀的说明格式:REP; CXoO重复执行字符串指令REPZ/REPE; CX()且ZF=1重复执行字符 串指令REPNZ/REPNE; CX0 且 ZF=0 重复执行字 符串指令功能:在串操作指令前加上重复前缀,可以对 字符串进行重复处理。由于加上重复前缀后, 对应的指令代码是不同的,所以指令便具有重 复处理的功能,重复的次数存放在CX
13、寄存器说明:1. REPZ/REPE常与CMPS串操作指令结合使用,可以完成两组 字符串的比较2. REPZ/REPE常与SCAS指令结合使用,可以完成在一个字符 串中搜索一个关键字3. REPN27REPNE与CMPS指令结合使用,表不当串未结束(CX-1) 且当对应串元素不相同(ZF=0)时,继续重复执行串比较指令4. REPNZ/REPNE与SCAS指令结合使用,表示串未结束(CX=1) 且当关键字与串元素不相同(ZF=0)时,继续重复执行串搜索 指令RET返回指令RET格式:RET功能:当调用的过程结束后实现从过程返回至 原调用程序的下一条指令,本指令不影响标志 位说明:由于在过程定义
14、时,已指明其近(NEAR)或远(FAR)的属性, 所以RET指令根据段内调用与段间调用,执行不同的操作 对段内调用:返回时,由堆栈弹出一个字的返回地址的段内偏移量至 IP对段外调用:返回时,由堆栈弹出的第一个字为返回地址的段内 偏移量,将其送入IP中,由堆栈弹出第二个字为返回地址的段 基址,将其送入CS中ROL循环移位指令格式:ROL OPRD1,COUNT;不含进位标志位CF在循环中的左循环移位指令ROR OPRD1,COUNT;不含进位标志位CF 在循环中的右循环移位指令RCL OPRD1,COUNT;带进位的左循环移位指 令RCR OPRD1,COUNT;带进位的右循环移位指 令说明:1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8086 汇编 指令 简表
限制150内