汇编;8086/8088;算术、逻辑运算指令



1)  
    ADD/ADC    dest , src ;
    SUB/SBB    dest , src ;
        (OF、CF影响:当作无符号数,溢出CF=1;当作有符号数,溢出OF=1)

        (OF=1,结果错误;CF=1,结果依然正确)
2)
    MUL/IMUL    reg/mem ;    (reg*al->ax / reg*ax->dx.ax)
    DIV/IDIV    reg/mem ;    (ax/r8 , 商->al , 余->ah)(ax/r16 , 商->ax , 余->dx)
    (unsigned/signed)
        (除法不影响标志位,但结果产生溢出时引发中断)
3)
    INC    res/mem ;
    DEC    res/mem ;
        (不影响CF)
4)
    CBW ;    (B->W)
    CWD ;    (W->D)
        (扩时补最高位数字)
5)
    AND    dest ,src
    NOT    dest , src
    OR    dest , src
    XOR    dest , src
    NOT    reg/mem(*)
    NEG    reg/mem(**)
    TEST    dest , src
        设置OF=CF=0;其他根据结果设置
        *NOT不影响标志位
        **实质是与0作减法,标志按SUB规律改变
6)
    SHL/SHR    reg/mem , 1/CL
    SAL/SAR    reg/mem , 1/CL

    RCL/RCR    reg/mem , 1/CL
    ROL/ROR    reg/mem , 1/CL

       (SCL/SCR 可用来实现32位移位中对高16位的操作)
      (移位位数1时,最高位改变,OF置1;不影响SF、ZF、PF)


你可能感兴趣的:(汇编)