CMPS - Compare String Operands |
* |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
? |
Code | Mnemonic | Description |
A6 | CMPS m8, m8 | Compares byte at address DS:(E)SI with byte at address ES:(E)DI and sets the status flags accordingly |
A7 | CMPS m16, m16 | Compares word at address DS:(E)SI with word at address ES:(E)DI and sets the status flags accordingly |
A7 | CMPS m32, m32 | Compares doubleword at address DS:(E)SI with doubleword at address ES:(E)DI and sets the status flags accordingly |
A6 | CMPSB | Compares byte at address DS:(E)SI with byte at address ES:(E)DI and sets the status flags accordingly |
A7 | CMPSW | Compares word at address DS:(E)SI with word at address ES:(E)DI and sets the status flags accordingly |
A7 | CMPSD | Compares doubleword at address DS:(E)SI with doubleword at address ES:(E)DI and sets the status flags accordingly |
Operands | Bytes | Clocks | |
cmpsb | 1 | 5 | NP |
cmpsw | 1 | 5 | NP |
cmpsd | 1 | 5 | NP |
repe/repz/ repne/ repnz cmpsb | 2 | 9 + 4n | NP |
repe/repz/ repne/ repnz cmpsw | 2 | 9 + 4n | NP |
repe/repz/ repne/ repnz cmpsd | 2 | 9 + 4n | NP |
ID | unaffected | DF | unaffected |
VIP | unaffected | IF | unaffected |
VIF | unaffected | TF | unaffected |
AC | unaffected | SF | sets according to the temporary result of the comparison |
VM | unaffected | ZF | sets according to the temporary result of the comparison |
RF | unaffected | AF | sets according to the temporary result of the comparison |
NT | unaffected | PF | sets according to the temporary result of the comparison |
IOPL | unaffected | CF | sets according to the temporary result of the comparison |
OF | sets according to the temporary result of the comparison |