急!三道关于标志位OF和CF的题(1)十六进制数4321H和十六进制数62A0H求和,结果为A5C1H,OF=1 ;十六进制数9090H与十六进制数4AE0H的求差,结果为45B0H,OF=1.请问这两道题的结果为什么溢出了?(2)十
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/25 08:01:23
急!三道关于标志位OF和CF的题(1)十六进制数4321H和十六进制数62A0H求和,结果为A5C1H,OF=1 ;十六进制数9090H与十六进制数4AE0H的求差,结果为45B0H,OF=1.请问这两道题的结果为什么溢出了?(2)十
急!三道关于标志位OF和CF的题
(1)十六进制数4321H和十六进制数62A0H求和,结果为A5C1H,OF=1 ;十六进制数9090H与十六进制数4AE0H的求差,结果为45B0H,OF=1.请问这两道题的结果为什么溢出了?
(2)十六进制数1234H与十六进制数4AE0H求差,差值为C754H,CF=1.这道题的结果最高位应该是没有进位吧?
急!三道关于标志位OF和CF的题(1)十六进制数4321H和十六进制数62A0H求和,结果为A5C1H,OF=1 ;十六进制数9090H与十六进制数4AE0H的求差,结果为45B0H,OF=1.请问这两道题的结果为什么溢出了?(2)十
记:最低位为第0位,共16位,最高位为第15位.
OF被置为1是因为把两操作数当作有符号数运算时结果超出了有符号数所能表示的范围,也即向最高(15)位发生了进位或借位.
看15位即可知道:
4321H= 0100 0011 0010 0001 b
62A0H= 0110 0010 1010 0000 b
和 = 1010 0101 1100 0001 b
向15位进位了,OF=1
1234H = 0001 0010 ...
4ae0H = 0100 1010 ...
相减时显然向15位借位了,OF=1
CF被置为1是因为把两操作数当作无符号数运算时结果超出了无符号数所能表示的范围,也即向更高(16)位发生了进位或借位.
相减时显然向16位借位了,CF=1
参看附件第11章的11.4和11.5