请问CPU如何判断计算后SF标志位0或1

发布网友 发布时间:2022-04-22 09:39

我来回答

1个回答

热心网友 时间:2023-09-22 11:32

符号标志SF用来反映运算结果的符号位,它与运算结果的最高位相同。在微机系统中,有符号数采用补码表示法,所以,SF也就反映运算结果的正负号。运算结果为正数时,SF的值为0,否则其值为1。
但你要了解,不同CPU步长不同,代表负数的补码位数也是不同的
1111111B+1B=10000000B
你这个若是8位的,它就是负数了
所以主要要看你运算的位数
你若用
mov
al,7f
add
al,1
结果AL=80,且SF就是1
(不知你怎么得到SF=0的)
(NG表示SF=1为负)
而对22H-0A0H,若是8位的,结果不是82,是负数,所以也是SF=1

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com