Instruction Set
4-220
SCAS
SCAS
Operation It Performs
Flag Settings After Instruction
if (size(
destination) == 8)
/* compare bytes */
{
temp = AL - ES:[DI];
if (DF == 0)
/* forward */
increment = 1;
else
/* backward */
increment = -1;
}
if (size(
destination) == 16)
/* compare words */
{
temp = AX - ES:[DI];
if (DF == 0)
/* forward */
increment = 2;
else
/* backward */
increment = -2;
}
/* point to next string component */
DI = DI + increment;
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Processor Status
Flags Register
reserved
OF DF
IF TF SF ZF
AF
PF
CF
? = undefined; – = unchanged
OF=1 if result larger than destination operand
OF=0 otherwise
AF=1 if carry or borrow to low nibble
AF=0 otherwise
PF=1 if low byte of result has even number of set bits
PF=0 otherwise
CF=1 for carry or borrow to high-order bit
CF=0 otherwise
–
–
–
res
res
res
SF=1 if result is 0 or positive
SF=0 if result is negative
ZF=1 if result equal to 0
ZF=0 if result not equal to 0
Содержание Am186 Series
Страница 1: ...Am186 and Am188 Family Instruction Set Manual February 1997...
Страница 10: ...Table of Contents x...
Страница 18: ...Programming 1 8...
Страница 40: ...Instruction Set Listing 3 14...