检测点11.2
本帖最后由 西殴 于 2017-6-7 23:21 编辑答案是这样的
add al,80H ; cf 1of 1sf 0zf 1 pf 1
这里的 zf怎么会是1呢 1的话不就是结果为0么难道把 1000 0000(80H) 的1当做有符号 然后它结果就为0了?
如果当做有符号的话 sf 不是应该为1而这里为0 为0的话不就是非负么
我也想知道这个1000 0000(80H)在这里到底是补码还是原码, 试试
xor al, al
add al, 80h
本帖最后由 西殴 于 2017-6-10 23:01 编辑
人造人 发表于 2017-6-10 19:29
试试
xor al, al
add al, 80h
图片里的红是部分 都是 add 然而 CF OF SF ZF 标志位的值会不一样呢 90H = 10010000b80H = 10000000B我就想不明白这里除了奇偶不一样外 还有哪里不一样的 西殴 发表于 2017-6-10 22:58
图片里的红是部分 都是 add 然而 CF OF SF ZF 标志位的值会不一样呢 90H = 10010000b80H = 100 ...
一个是10h + 90h
另一个是80h + 80h 人造人 发表于 2017-6-10 23:23
一个是10h + 90h
另一个是80h + 80h
一直以为这些代码是单独的 西殴 发表于 2017-6-11 10:23
一直以为这些代码是单独的
哦 因为al已经赋值为80h了,
在加上80h就等于100h,进位并且溢出,
此时的al==00,所以此时的zf=1
页:
[1]