Compare two Operands                             

86/88

Y

186

Y

286

Y

386

Y

486

Y

CMP destination, source

Ovfl

Y

Dir

N

Int

N

Trap

N

Sign

Y

Zero

Y

Aux

Y

Prty

Y

Carry

Y

    CMP compares two numbers by subtracting the source from the
    destination and updates the flags. CMP does not change the source or
    destination. The operands may be bytes or words.

------------------------------------ Timing ----------------------------------

OpCode          Instruction             386     286     86
3C ib           CMP AL, imm8            2       3       4
3D iw           CMP AX, imm16           2       3       4
3D id           CMP EAX, imm32          2
80/7 ib         CMP r/m8, imm8          2/5     3/6     4/10+EA
81/7 iw         CMP r/m16, imm16        2/5     3/6     4/10+EA
81/7 id         CMP r/m32, imm32        2/5
83/7 ib         CMP r/m16, imm8         2/5     3/6     4/10+EA
83/7 ib         CMP r/m32, imm8         2/5
38/r            CMP r/m8, r8            2/5     2/7     3/9+EA
39/r            CMP r/m16, r16          2/5     2/7     3/9+EA
39/r            CMP r/m32, r32          2/5
3A/r            CMP r8, r/m8            2/6     2/6     3/9+EA
3B/r            CMP r16, r/m16          2/6     2/6     3/9+EA
3B/r            CMP r32, r/m32          2/6

------------------------------------ Logic -----------------------------------

        Flags set according to result of
            (destination - source)

See Also CMPS SCAS SUB TEST Flags


Copyright © 1985 to 2022 Beta Systems                            Last modified: Wednesday, January 05, 2022 .