一道计算题引发的血案问题
为什么7dh+0bh的sf标志寄存器是ng 也就是计算结果存在负数首先 按照国际惯例先把7d转换成2进制为1111101
最高位不是1 所以不用转换成补码形式 也就是二进制为125
b为11 所以125+11=136 结果不可能为负数
是在低8位内进行运算的
还有关于有符号运算的一个小问题 80h的补码结果根据我的技术是-128
那么为什么80h+80h=-256 结果为负数但是sf标志寄存器的结果却为pl
也就是结果不为负数?
自己顶一下希望大神看到 符号标志 SF NG/Negative/负
7d:0111 1101
d:0000 1101
8a:1000 1010
SF它记录指令执行后,其结果是否为负。结果为负,sf=1.
80h+80h=100h
8位运算最高位舍去,=00h,SF最高位为0,但是CF=1。 一念天堂 发表于 2015-12-4 20:00
符号标志 SF NG/Negative/负
7d:0111 1101
d:0000 1101
所以sf是看结果然后在来看补码的?不是说数据先转换成补码形式 然后进行运算来看结果的吗
页:
[1]