汇编语言的加法超过寄存器的最大值会怎样?

Posted 努力努力再努力²

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编语言的加法超过寄存器的最大值会怎样?相关的知识,希望对你有一定的参考价值。

  1. 先判断是多少位运算,根据add 后面的al还是ax寄存器,al是8位,ax是16位。
  2. 第一个红框,是8位运算,93H+85H=118H,结果已经超过了8位寄存器最大值FF,所以ax中只保存后两位数0018H
  3. 第二个红框,是16位运算,所以ax中保存0118H.

例:
最后运算结果,ax=8226H,bx=8226H
add ax,bx 运算结果就是ax=8226H+8226H=1044CH, 已经超过16位寄存器的最大值FFFFH.所以最后结果只保存后4位值,即ax=044C。那个1并不是消失,而是保存在其他地方,后面会讲到。

注意:
(后面的H代表16进制,B代表二进制,O代表八进制,十进制D或者不写)

以上是关于汇编语言的加法超过寄存器的最大值会怎样?的主要内容,如果未能解决你的问题,请参考以下文章

汇编基础 汇编指令

王爽 汇编语言 检测点 14.2

c语言 %d %f %lf %d可表示的最大和最小范围是多少?超过了范围 计算机怎么显示

怎样克服神经网络训练中argmax的不可导性?

《程序是怎样跑起来的》第一章读后感

汇编,将单个字节从寄存器写入内存会覆盖其他字节