Assembly补码运算.pdfVIP

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

Assembly 补码运算 就像我们早些时候看到的,add指令执⾏加法操作,⽽sub指令的执⾏减法操作。在 FLAGS寄存器中的两位能 这些指令设置,它们是:overflow(溢出位) 和carry flag(进 位标志位) 。如果操作的正确结果太⼤了以致于不匹配有符号数运算的⽬的操作数,溢 出标志位将 置位。如果在加法中的最⾼有效位有⼀个进位或在减法中的最⾼有效位 有⼀个借位,进位标志位将 置位。因此,它可以⽤来检查⽆符号数运算的溢出。进 位标志位在有符号数运算中的使⽤将看起来⾮常简单。补码的⼀个最⼤的优点是加法 和减法的规则实际上就与⽆符号整形的⼀样。因此,add和sub可以同时 ⽤在有符号 和⽆符号整形上。 这⼉有⼀个进位产⽣,但是它不是结果的⼀部分。 这有两个不同的乘法和除法指令。 ⾸先,使⽤MUL或IMUL 指令来进⾏乘法运算。MUL指令⽤于⽆符号数之间相乘,⽽ IMUL指令⽤于有符号数之间相乘。为什么需要两个不同的指令呢?⽆符号数和有符 号数补码的乘法规则是不同的。为什么会这样?考虑字节FF乘以它本⾝产⽣⼀个字的 结果。使⽤⽆符号乘法这就是255乘上255 ,得65025 (或⼗六进制的FE0 ) 。使⽤有 符号数乘法这就是¡ 乘上¡ ,得 (或⼗六进制的000 ) 。这⼉有乘法指令的⼏种格式。 最⽼的格式是像这样的: mul source source要么是⼀个寄存器,要么是⼀个指定的内存。它不可以是⼀个⽴即数。实际 上,乘法怎么执⾏取决于源操作数的⼤⼩。如果操作数⼤⼩是⼀个字节,它乘以在AL 寄存器中的字节,⽽结果 储存到了 6位寄存器AX 中。如果源操作数是 6位,它乘 以在AX 中的字,⽽32位的结果 储存到了DX:AX 。如果源操作数是32位的,它乘以 在EAX 中的数,⽽结果 储存到了EDX:EAX 。 IMUL指令拥有与MUL指令相同的格式,但是同样增加了其它⼀些指令格式。这有两 个和三个操作数的格式: imul dest ( ⽬的操作数), source (源操作数 ) imul dest ( ⽬的操作数), source (源操作数 ), source2(源操作数2) 表2.2展⽰可能的组合。 两个除法运算符是DIV和IDIV 。它们分别执⾏⽆符号整形和有符号整形的除法。普遍 的格式是: div source如果源操作数为8位,那么AX就除以这个操作数。商储存在AL 中,⽽余数 储存在AH 中。如果源操作数为 6位,那么DX:AX就除以这个操作数。商储存在AX 中,⽽余数储存在DX 中。如果源操作数为32位,那么EDX:EAX就除以这个操作数, 同时商储存在EAX 中,余数储存在EDX 中。IDIV 指令以同样的⽅法进⾏⼯作。这没 有像IMUL指令⼀样的特殊的IDIV指令。如果商太⼤了,以致于不匹配它的寄存器, 或除数为0 ,那么这个程序将 中断和中⽌。⼀个普遍的错误是在进⾏除法之前忘记了 初始化DX或EDX 。 NEG 指令通过计算它的单⼀的操作数补码来得到这个操作数的相反数。它的操作数可 以是任意的8位, 6位或32位寄存器或内存区域。 程序例⼦ ________________________________math .asm______________________________ W3Cschool ( )最⼤的技术知识分享与学习平台 此篇内容来⾃于 站⽤户上传并发布。

文档评论(0)

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

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

1亿VIP精品文档

相关文档