zoukankan      html  css  js  c++  java
  • 标志寄存器的状态标志

    百度百科说明https://baike.baidu.com/item/%E7%8A%B6%E6%80%81%E6%A0%87%E5%BF%97/2186277?fr=aladdin#5

    状态标志是16位标志寄存器PSW用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。其中7位没用,9位标志位分成两类:一类为状态标志,表示运算后结果的状态特征,它影响后面的操作。状态标志有CF PF AF ZF SF和OF等6个。另一类为控制标志,用来控制CPU操作,控制标志有TF IF和DF等3个。 状态标志位记录了算术和逻辑运算的一些特征。如:结果是否为0,是否有进位,借位,结果是否溢出等。不同指令对标志位具有不同的影响。

    进位标志位(CF)

    当进行加(减)法运算时,若最高位向前有进(借)位,则CF=1,否则CF=0。

    奇偶标志位(PF)

    当运算结果中的“1”的个数为偶数时PF=1,为奇数时,PF=0。

    辅助进位(AF)

    在加(减)法操作中,bit3向bit4有进位(借位)发生时,AF=1,否则AF=0。DAA和DAS指令测试这个标志位,以便在BCD加法或减法之后调整AL中的值。
    1字节为8bit 对应为 bit7|bit6|bit5|bit4 bit3|bit2|bit1|bit0 前四个为高4位,后四个为低4位

    零标志位(ZF)

    当运算结果为零时ZF=1,否则ZF=0。

    符号标志位(SF)

    当运算结果的最高位为1时SF=1,否则SF=0。

    溢出标志位(OF)

    当算术运算结果超出了带符号数的范围,即溢出时,OF=1,否则OF=0.
     
     
    上一道例题:
     
    某机器有一个标志寄存器,其中有进位/借位标志CF、零标志ZF、符号标志SF和溢出标志OF,条件转移指令bgt(无符号整数比较大于时转移)的转移条件是
    A.CF+OF=1              B./ SF+ ZF =1            
    C. / (CF+ ZF) =1             D./ (CF+ SF) =1

    判断无符号整数A>B成立,满足的条件是结果不等于0,即零标志ZF=0,且不发生 进位,即进位/借位标志CF=0。所以正确选项为C。其余选项中用到了符号标志SF和溢出标志OF,显然可以排除掉

     
  • 相关阅读:
    c++(基数排序)
    halcon算子翻译——gen_measure_arc
    halcon算子翻译——fuzzy_measure_pos
    Halcon算子翻译——fuzzy_measure_pairs
    halcon算子翻译——fuzzy_measure_pairing
    halcon算子翻译——deserialize_measure
    Halcon算子翻译——close_measure
    Halcon算子翻译——dev_update_windowg
    Halcon算子翻译——dev_update_var
    Halcon算子翻译——dev_unmap_var
  • 原文地址:https://www.cnblogs.com/wkfvawl/p/10772890.html
Copyright © 2011-2022 走看看