第3章3 算术指令.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章3 算术指令

算术指令: 算术运算指令包括二进制运算及十进制运算指令。算术指令用来执行算术运算,它们中有双操作数指令,也有单操作数指令。如前所述,双操作数指令的两个操作数不允许同时使用存储器寻址方式。单操作数指令不允许使用立即数方式。算术指令的寻址方式,均遵循这一规则。 举例 ADD AX,BX ADD AX,12 ADD AL,BH ADD AX,[BX] ADD [SI],BX ADD [BX],AL ADD BYTE PTR [BX],34H 加法指令 加法指令对条件标志位的影响 加法指令对条件标志位的影响 例: ADD DX,0F0F0H 如指令执行前(DX)=4652H则 ? ? 指令执行后(DX)=3742H,ZF=0,SF=0,CF=1,OF=0 MOV  BX,9B8AH  ; (BX)=9B8AH  ADD  BX,6476H  ; now (BX)=0000H      9B8A      1001 1011 1000 1010    + 6476     + 0110 0100 0111 0110    -----------   --------------------------    1← 0000    1← 0000 0000 0000 0000 条件码设置: SF=0  最高有效位(D15)为0       ZF=1  结果为0       CF=1  最高有效位向高位有进位       OF=0  不同符号数相加,不产生溢出 例:双精度数的加法 错误格式举例 减法指令 注意: 减法指令对条件标志位(CF/OF/ZF/SF)的影响: NEG 指令对CF/OF的影响 例:字长为8位的两数相减,其可表示数的范围为:带符号数 -128~127(80H~7FH),无符号数0~255(0~FFH)。运算结果超出可表示数范围即为溢出,说明结果错误。   ① 43H-16H=2DH     0100 0011     0100 0011   条件码设置:CF=0   - 0001 0110    + 1110 1010         OF=0   --------------    --------------     0010 1101   1← 0010 1101   说明:机器作减法运算时,先将减数求补,然后转化为加法运算,所以实际上机器设置CF的方法是:最高有效位不产生进位时,CF=1;最高有效位产生进位时,CF=0。这和做减法时有借位CF=1,无借位CF=0是一致的。   本例参加运算的数无论是看作带符号数还是无符号数,运算结果均有效。 ② 0C8H-66H=62H     1100 1000     1100 1000   条件码设置:CF=0   - 0110 0110     + 1001 1010         OF=1   --------------    ------------    0110 0010   1← 0110 0010   说明:如果是无符号数的运算,被减数够减无借位,所以CF置0,表明结果有效。如果操作数是带符号数,且被减数与减数符号相反,而结果符号与减数符号相同,所以OF置1,表明结果无效。 ③ 54H-76H=0DEH     0101 0100     0101 0100    条件码设置:CF=1    - 0111 0110   + 1000 1010          OF=0    -------------    -------------     1101 1110    1101 1110   说明:如果是无符号数的运算,本例中被减数<减数,减运算向高位有借位(或加运算无进位),则CF置1,表明结果无效。如果是带符号数的运算,同符号数相减,OF置0,结果有效。 ④ 4BH-0B6H=0DEH     0100 1011     0100 1011    条件码设置:CF=1    - 1011 0110    + 0100 1010     OF=1    ---------------    -----------     1001 0101    1001 0101   说明:如果是无符号数的运算,本例中被减数<减数,减运算向高位有借位(或加运算无进位),则CF置1,表明结果无效。如果是带符号数的运算,不同符号数相减,且结果符号与减数符号相同,OF置1,结果也是无效的 例: 例: 计算: x+y+24-z CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档