微机原理与接口技术第三章4.ppt

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

* 3、?乘法和除法指令 乘法和除法指令分别实现两个二进制操作数的相乘和相除运算,并针对有符号数和无符号数设计了不同的指令。而加减指令不分有符号数和无符号数。(为什么?) MUL r8/m8 ;无符号字节乘法(unsigned multiple) ;AX?AL*r8/m8 MUL r16/m16 ;无符号字乘法 ;DX,AX?AX*r16/m16 IMUL r8/m8 ;有符号字节乘法(signed multiple) ;AX?AL*r8/m8 IMUL r16/m16 ;有符号字节乘法 ;DX,AX?AX*r16/m16 注意: [1]乘法指令的目的操作数必须为AL或AX,源操作数则显式给出;源操作数不能为立即数。 乘积 存放在AX或DX、AX中。 [2]乘法指令对除CF和OF以外的状态标志位 无定义。 无定义:指 指令执行后 标志位的状态不确定; 不影响:标志位维持原状态 不变。 [3]对于 MUL 指令,若乘积的高一半(AH或DX)为零, 则 CF = OF = 0 ; 否则,CF = OF = 1 。 对于 IMUL 指令,若乘积的高一半为低一半的符号扩展, 则 CF = OF = 0 ; 否则,CF = OF = 1 。 作用:可用来检查 字节相乘的结果是 字节 还是 字; 字相乘的结果 是 字 还是 双字。 [4]有符号数乘法指令执行过程: 绝对值相乘 ? 异号则求补 例:若 AL = 0B4H , BL = 11H , 求 指令 IMUL BL 和 MUL BL 执行后的乘积值 和 CF、OF的状态。 解:AL=0B4H 是无符号数的 180D,有符号数的-76D BL=11H 是无符号数的 17D,有符号数 +17D执行IMUL BL 的结果为 AX=0FAF4H=-1292D, CF=OF=1; 执行MUL BL 的结果为 AX=0BF4H=3060D, CF=OF=1; ?除法指令(Divide) DIV r8/m8 ;无符号数字节除法:AL?AX?r8/m8的商 ;AH? AX?r8/m8的余数 DIV r16/m16 ;无符号数字除法:AX?DX,AX?r16/m16的商 ;DX? DX,AX?r16/m16的余数 IDIV r8/m8 ;有符号数字节除法:AL?AX?r8/m8的商 ;AH? AX?r8/m8的余数 IDIV r16/m16 ;有符号数字除法:AX?DX,AX?r16/m16的商 ;DX? DX,AX?r16/m16的余数 注意: [1]除法指令的目的操作数(也是被除数)必须为AX或DX、AX,源操作数则显式给出;源操作数不能为立即数。 对于有符号数的除法运算,余数的符号和被除数相同。 [2]除法指令对所有的状态标志位 无定义。 [3] 对于DIV指令,除数为0,或者字节除时商超过8位,或者在字除时商超过16位,则发生除法溢出; 对于IDIV指令,除数为0,或者在字节除时商不在-128~127范围内,或者在字除时商不在-32768~32767范围内,则发生除法溢出。 除运算发生溢出时,微处理器就产生编号为0的内部中断(除法错中断)。实际编程中应注意这个问题,应进行溢出判断及处理,避免发生溢出情况。 例:若 AX = 0400H , BL = 0B4H , 求 指令 IDIV BL 和 DIV BL 执行后的结果 。 解:AX=400H 是无符号数的1024D,有符号数的+1024D BL=0B4H 是无符号数的 180D,有符号数 -76D 执行DIV BL 的结果为: AH = 7CH = 124D 余数 AL = 05H 商 执行IDIV BL 的结果为: AH = 24H = 36D 余数 AL = 0F3H = -13D 商 [例] 计算(W-(X*Y+Z-220))/X,设W、X、Y、Z均为16位有符号数,分别存放在变量名W、X、Y、Z所指向的存储单元中。要求将计算结果的商存入AX,余数存入DX,或者存放到变量名RESULT指向的内存区域中。 DATA SEGMENT ;数据段 W

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档