微机原理的问题!若AX=0ABCDH 这个0有什么作用?为什么用这个0

1个回答

  • 1.计算机里的数字都是以补码的形式放的,因为计算机不知道你要做的是有符号还是无符号计算,所以它有两份结果,一个是以cf为标志的无符号结果,一个是以si为标志的有符号结果,程序员需要当成有符号就取si,当无符号就不用管si,只管cf就行.

    2.of是溢出判断标志位,只对有符号数有效,故它默认你的数据是有符号的,而0ABCDH是负数—21555的补码,7F8FH最高位为0是正数32655,用—21555减32655= —54210,16位寄存器最大只能表示—32768到+32767的有符号数,—54210很明显超出范围了,所以溢出了,OF为1.

    3.只有在最高一个数为字母时,前面才加0,这个0并没有存放到内存,只是编译的时候要用,目的在于区别其他的数.

    不明白的我话再联系,祝你好运~