某字长为8位的计算机中,带符号整数采用补码表示,x=—68,y=—80,x和y分别存放在寄存器A和B中,请回答下列问题(最终要求用十六进制表示二进制序列)。 若x和y相减后的结果存放在寄存器D中,则寄存器D中的内容是什么?运算结果是否正确?此时,溢出标志

admin2017-04-28  38

问题 某字长为8位的计算机中,带符号整数采用补码表示,x=—68,y=—80,x和y分别存放在寄存器A和B中,请回答下列问题(最终要求用十六进制表示二进制序列)。
若x和y相减后的结果存放在寄存器D中,则寄存器D中的内容是什么?运算结果是否正确?此时,溢出标志OF、符号标志SF和零标志ZF各是什么?加法器最高位的进位Cn是什么?

选项

答案[x—y]+=[x]+[—y]=10111100B+01010000B=(1)00001100B=CH,最高位前面的一位1被丢弃,因此,寄存器D中的内容为OCH,对应的真值为+12,结果正确。 两个加数的符号位相异一定不会溢出,因此溢出标志OF为0,说明寄存器D中的内容是真正的结果。 结果的第一位0为符号标志SF,表示结果为正数;因为结果不为0,所以零标志ZF=0;加法器最高位向前的进位Cn为1。

解析
转载请注明原文地址:https://jikaoti.com/ti/XKfjFFFM
0

随机试题
最新回复(0)