要完成下述运算或控制,用什么标志位判别?其值是什么? (1)比较两数是否相等 (2)两数运算后结果是正数还是负数 (3)两数相加后是否溢出 (4)采用偶校验方式,判定是否要补1 (5)两数相减后比较大小 (6)中断信号能否允许
(1)ZF,两数相减,若ZF=1,则相等。(2)SF,SF=1 则为负,否则为正(3)对有符号数:OF,OF=1 为溢出;对无符号数:CF,CF=1 为溢出(4)PF,PF=1,不补1(5)对有符号数:无溢出时(OF=0),如 ZF=1,则两数相等;如 ZF=0 且 SF=0,则 被减数大;如 ZF=0 且 SF=1,则减数大; 有溢出时(OF=1),如 SF=1,则被减数大;如 SF=0,则减数大; 对无符号数:如 ZF=1,则两数相等;如 CF=0,则被减数大;如 CF=1, 则减数大(6)IF,IF=1,允许中断
举一反三
内容
- 0
中国大学MOOC: 完成两数相减后结果是为0,用( )标志位判别。
- 1
CMP主要用于() A: 求两数之和 B: 求两数之积 C: 判断两数是否相等 D: 求某一位是否为0或1
- 2
两数补码运算判断是否溢出,看符号位进位与最高数值位进位是否相同。
- 3
当两数运算时,结果发生溢出,下列标志位中结果一定为1的是( )
- 4
数值运算中,要避免相近两数相减