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

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

  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或者不写)