微机原理与接口技术除法指令.ppt

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

微机原理与接口技术除法指令

进行除法时:16位/8位→8位商,8位余数 32位/16位→16位商,16位余数对被除数、商及余数存放有如下规定: 被除数 商 余数16位/8位AXAL AH字节操作32位/16位 DX:AX AX DX字操作

4.1除法指令——无符号数的除法指令格式:DIVSRC操作:字节操作(AL)?(AX)/(SRC)的商(AH)?(AX)/(SRC)的余数字操作(AX)?(DX,AX)/(SRC)的商(DX)?(DX,AX)/(SRC)的余数例: DIVCL DIVWORDPTR[BX]

4.2除法指令——有符号数的除法指令格式:IDIVSRC操作与DIV类似。商及余数均为有符号数,且余数符号总是与被除数符号相同。注意:对于DIV/IDIV指令AX(DX:AX)为隐含的被除数寄存器。AL(AX)为隐含的商寄存器。AH(DX)为隐含的余数寄存器。SRC不能为立即数。对所有标志位均无定义。

关于除法操作中的字长扩展问题除法运算要求被除数字长是除数字长的两倍,若不满足则需对被除数进行扩展,否则产生错误。1)无符号数除法扩展,只需将AH或DX清零即可。2)有符号数而言,则是符号位的扩展。可使用符号扩展指令CBW和CWD。

格式:CBW功能:将AL中的符号位扩展到AH中,即当AL80H,执行CBW后,AH=0;AL=80H时,执行CBW指令后,AH=FFH。注意:不影响标志位4.3扩展指令格式:CWD功能:将AX中的符号位扩展到DX中,即当AX8000H,执行CWD后,DX=0;AX=8000H时,执行CWD指令后,DX=FFFFH。注意:不影响标志位

例题:二进制四则混合算术运算试计算:AX (V-(X*Y+Z-540))/X之商DX 余数(X,Y,Z,V均为有符号字变量)MOVAX,X;MOVBX,YIMULY;MOVCX,AX;MOVBX,DX;MOVAX,Z;CWDADDCX,AX;ADCBX,DX;将符号扩展后的Z加到BX:CX中的乘积中去X*Y,结果在DX:AX中将乘积存在BX:CX中

SUBCX,540;SBBBX,0;MOVAX,V;CWD;SUBAX,CX;SBBDX,BX;MOVBX,XIDIVBX;从BX:CX中减去540从符号扩展后的V中减去(BX:CX)并除以X,商在AX中,余数在DX中。

二算术运算指令1加法指令2减法指令3乘法指令4除法指令5十进制调整指令十进制调整指令压缩BCD码加法调整指令DAA压缩BCD码减法调整指令DAS非压缩BCD码加法调整指令AAA非压缩BCD码减法调整指令AAS乘法的BCD码调整指令AAM除法的BCD码调整指令AAD

共6条,均为隐含寻址方式,隐含的操作数是AL或AL、AH;不能单独使用,要紧跟在相应的算术运算指令之后;执行结果为压缩BCD码或非压缩BCD码表示的十进制数。BCD码调整指令的说明

例:将十进制数8762用压缩型BCD码表示,则为:1000011101100010非压缩型BCD码:PC机中,根据在存储器中的不同存放格式,BCD码又分为压缩(组合)BCD码:1字节(8位)中存放2个十进制数码非压缩(分离)BCD码:1个字节只存放1个十进制数

格式:DAA ;调整AL中的和为压缩BCD码DAS ;调整AL中的差为压缩BCD码AF=1或AL寄存器低4位是A~F,则AL寄存器内容加/减06H;CF=1或AL寄存器高4位是A~F,则AL寄存器内容加/减60H;5.1压缩BCD码调整指令

举例:48+29=77010010010111011001110111++AF=1加6调整MOV AL,48HMOV BL,29HA

文档评论(0)

【晓娣】 + 关注
实名认证
内容提供者

好文档大家想

1亿VIP精品文档

相关文档