1079629687 发表于 2012-4-7 08:08:30

关于11章标志寄存器

11章的标志寄存器一直不知道怎么判断符号的正负,一直纠结在这里,希望各位多多指教,感谢!

莫名其妙 发表于 2012-4-7 09:45:25

本帖最后由 莫名其妙 于 2012-4-7 09:54 编辑

怎么说呢 计算机所有的运算都是转化成加法运算的 如果一个数是负数那么要和一个正数相加 那么 这个负数就必须先转换成补码形式 然后再进行加法运算
数据进入系统的时候都是把他当成两个数据来看:一个是有符号数也就是负数就把他看成其补码形式正数是他本身,另一个是无符号数所有的数都是正数.
如果你的数据是进行无符号数运算的 那么就不用看sf标志位只把数据当成    正数+正数=正数
如果你的数据是进行有符号数运算的 那么你就必须看着sf的标志位的值                标志位的改变表示其符号的改变
比如:sf为1的时候 表示结果是负数的 : 负数+正数=负数 负数+负数=负数      sf为0的时候表示结果为正数:   负数+正数=正数
书上介绍的应该很详细了 在看看把!~

页: [1]
查看完整版本: 关于11章标志寄存器