haiouda 发表于 2014-9-9 21:42:23

11.2

检测点11.2

mov al,0fch
add al,05h

1、执行之后,CF肯定是进位了;
2、当作有符号数加后1000 0001 ,最前位是1 和没加前一样,所以没有溢出,是这么理解的么???
3、1000 0001,最前面一位是1,应该是负数,为什么SF还是零(答案是这么写的)???

FCh=111 111 00 d第位是1 ,也可以看成一个负数
05H=101 d            

二者相加得:1 0000 0001(无符号)
                     1000 0001   (有符号)   ?? 这里最前面为1,是负数,SF 应该是1呀

haiouda 发表于 2014-9-9 22:05:29

11 111 00 取反后得什么?

是:10000 011 还是 0000 011?

haiouda 发表于 2014-9-9 22:10:47

FCH= 111 111 00 D
把它看成一个负数为: -100b =-4d ??

haiouda 发表于 2014-9-9 22:14:41

11 111 00 取反后得什么?

是:10000 011 还是 0000 011?

请说明原因

haiouda 发表于 2014-9-9 23:40:33

把 111 111 00 看成一个负数 即 -4 D 加上5H 等于 1 ,第八位符号位由1变成了0,OF=1

可是答案为什么是:OF=0 ????

haiouda 发表于 2014-9-10 00:02:37

FC H + 5 H 后OF=0
FC H = 111 111 00 B
111 111 00 B按位取反加1 ,再加负号后为: -4D

-4 +5=1

原来第八位的符号位由1变成了0,OF应该等于1呀;


我上面的,过程哪里有问题

小靚同学Leon 发表于 2014-9-10 18:46:53

haiouda 发表于 2014-9-10 00:02
FC H + 5 H 后OF=0
FC H = 111 111 00 B
111 111 00 B按位取反加1 ,再加负号后为: -4D


计算结果没有产生溢出,只产生进位。

haiouda 发表于 2014-9-10 22:08:39

小靚同学Leon 发表于 2014-9-10 18:46
计算结果没有产生溢出,只产生进位。

谢谢,我懂了,最高位和次高位进位异或,就是OF的值

haiouda 发表于 2014-9-10 22:09:11

在泥泞中,前行 :loveliness:
页: [1]
查看完整版本: 11.2