第3章-8086^8088指令系统1.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章-8086^8088指令系统1

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 应用程序例 MOV BL,2 NEXT1 :MOV CX,0FFFFH NEXT2: DEC CX JNZ NEXT2 ; ZF=0转NEXT2 DEC BL JNZ NEXT1 ; ZF=0转NEXT1 HLT ; 暂停执行 * 4. NEG指令 格式: NEG OPRD 操作: 0 - OPRD OPRD 8/16位寄存器或存储器操作数 用0减去操作数,相当于对该操作数求补码 两点注意请见教材p114 * 5. CMP指令 格式: CMP OPRD1,OPRD2 操作: OPRD1- OPRD2 指令执行的结果不影响目标操作数,仅影响标志位! * CMP指令 用途: 用于比较两个数的大小,可作为条件转移指令转移的条件 指令对操作数的要求及对标志位的影响与SUB指令相同 * CMP指令 两个无符号数的比较: CMP AX,BX 若 则 AX BX 若 则 AX BX CF=0 CF=1 * CMP指令 两个带符号数的比较 CMP AX,BX 两个数的大小由OF和SF共同决定 OF和SF状态相同 AX BX OF和SF状态不同 AX BX * CMP指令例 LEA BX,MAX LEA SI,BUF MOV CL,20 MOV AL,[SI] NEXT:INC SI CMP AL,[SI] JNC GOON ;CF=0转移 XCHG [SI],AL GOON:DEC CL JNZ NEXT MOV [BX],AL HLT 程序功能 ? * 程序功能 ┇ ┇ ┇ MAX BUF XXH XXH XXH 在20个数中找最大的数,并将其存放在MAX单元中。 * 三、乘法指令 无符号的乘法指令MUL 带符号的乘法指令IMUL 注: 乘法指令采用隐含寻址,隐含的是存放被乘数的累加器AL或AX及存放结果的AX,DX; 若运算结果的高位全为0或1,表示其为无效数据,OF=CF=0 例:3×(-2)= -6(FAH) 和 3×14 = 42(2AH) * 1. 无符号数乘法指令 格式: MUL OPRD 不能是立即数 AL×OPRD AX×OPRD DXAX AX 操作: OPRD为字节数 OPRD为16位数 * 无符号数乘法指令例 MUL BYTE PTR[BX] ┇ BX XXH AL ×XXH AX * 2. 带符号数乘法指令 格式: IMUL OPRD 说明: IMUL指令将OPRD视为带符号数,运算时若操作 数为负数,要先将操作数求补码,运算后再将结果 求补。 * 两条乘法指令的比较 例: 设:AL=FEH,CL=11H,求AL与CL的乘积。 执行:MUL CL 结果:AX=10DEH 执行:IMUL CL 结果:AX=FF22H=-34。 若设为无符号数 若将两操作数看作有符号数 * 四、除法指令 无符号除法指令 格式: DIV OPRD 有符号除法指令 格式: IDIV OPRD 注意:除法指令不影响6个标志 * 除法指令的操作 若OPRD是字节数 执行:AX/OPRD 结果:AL=商 AH=余数 若OPRD是双字节数 执行: DXAX/OPRD 结果:AX=商 DX=余数 指令要求被除数是除数的双倍字长 * 五、BCD码调整

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档