| SCAS |
| Сканиране на низ |
| Общи форми: |
SCAS dest SCASB SCASW SCASD SCASQ |
| Форма |
КОП |
CPUID |
I8086 |
I80386 |
I80486 |
| 16 |
32 |
64 |
Alt |
|
I8086 |
I80386 |
I80486 |
| SCASB |
AE |
AE |
AE |
F4 14 |
|
19 |
7 |
6 |
| SCASW |
AF |
66 AF |
66 AF |
F4 15 |
|
19 |
7 |
6 |
| SCASD |
66 AF |
AF |
AF |
F4 16 |
386+ |
|
7 |
6 |
| SCASQ |
|
|
48 AF |
F4 17 |
x86-64 |
|
|
|
| REPO SCASB |
|
|
|
F4 F0 14 |
|
OF = 1 |
| REPO SCASW |
|
|
|
F4 F0 15 |
|
| REPO SCASD |
|
|
|
F4 F0 16 |
|
| REPO SCASQ |
|
|
|
F4 F0 17 |
|
| REPNO SCASB |
|
|
|
F4 F1 14 |
|
OF = 2 |
| REPNO SCASW |
|
|
|
F4 F1 15 |
|
| REPNO SCASD |
|
|
|
F4 F1 16 |
|
| REPNO SCASQ |
|
|
|
F4 F1 17 |
|
| REPC SCASB |
65 AE |
|
|
F4 F2 14 |
V20 |
CF = 1 REPB SCAS, REPNAE SCAS |
| REPC SCASW |
64 AF |
|
|
F4 F2 15 |
V20 |
| REPC SCASD |
|
|
|
F4 F2 16 |
|
| REPC SCASQ |
|
|
|
F4 F2 17 |
|
| REPNC SCASB |
64 AE |
|
|
F4 F3 14 |
|
CF = 2 REPNB SCAS, REPNA SCAS |
| REPNC SCASW |
64 AF |
|
|
F4 F3 15 |
|
| REPNC SCASD |
|
|
|
F4 F3 16 |
|
| REPNC SCASQ |
|
|
|
F4 F3 17 |
|
| REPZ SCASB |
F3 AE |
F3 AE |
F3 AE |
F4 F4 14 |
|
ZF = 1 REPE SCAS |
| REPZ SCASW |
F3 AF |
F3 66 AF |
F3 66 AF |
F4 F4 15 |
|
| REPZ SCASD |
F3 66 AF |
F3 AF |
F3 AF |
F4 F4 16 |
|
| REPZ SCASQ |
|
|
F3 48 AF |
F4 F4 17 |
|
| REPNZ SCASB |
F2 AE |
F2 AE |
F2 AE |
F4 F5 14 |
|
ZF = 1 REPNE SCAS |
| REPNZ SCASW |
F2 AF |
F2 66 AF |
F2 66 AF |
F4 F5 15 |
|
| REPNZ SCASD |
F2 66 AF |
F2 AF |
F2 AF |
F4 F5 16 |
|
| REPNZ SCASQ |
|
|
F2 48 AF |
F4 F5 17 |
|
| REPBE SCASB |
|
|
|
F4 F6 14 |
|
CF OR ZF = 1 REPNA SCAS |
| REPBE SCASW |
|
|
|
F4 F6 15 |
|
| REPBE SCASD |
|
|
|
F4 F6 16 |
|
| REPBE SCASQ |
|
|
|
F4 F6 17 |
|
| REPA SCASB |
|
|
|
F4 F7 14 |
|
CF OR ZF = 2 REPNBE SCAS |
| REPA SCASW |
|
|
|
F4 F7 15 |
|
| REPA SCASD |
|
|
|
F4 F7 16 |
|
| REPA SCASQ |
|
|
|
F4 F7 17 |
|
| REPS SCASB |
|
|
|
F4 F8 14 |
|
SF = 1 |
| REPS SCASW |
|
|
|
F4 F8 15 |
|
| REPS SCASD |
|
|
|
F4 F8 16 |
|
| REPS SCASQ |
|
|
|
F4 F8 17 |
|
| REPNS SCASB |
|
|
|
F4 F9 14 |
|
SF = 2 |
| REPNS SCASW |
|
|
|
F4 F9 15 |
|
| REPNS SCASD |
|
|
|
F4 F9 16 |
|
| REPNS SCASQ |
|
|
|
F4 F9 17 |
|
| REPP SCASB |
|
|
|
F4 FA 14 |
|
PF = 1 REPPE SCAS |
| REPP SCASW |
|
|
|
F4 FA 15 |
|
| REPP SCASD |
|
|
|
F4 FA 16 |
|
| REPP SCASQ |
|
|
|
F4 FA 17 |
|
| REPNP SCASB |
|
|
|
F4 FB 14 |
|
PF = 2 REPPO SCAS |
| REPNP SCASW |
|
|
|
F4 FB 15 |
|
| REPNP SCASD |
|
|
|
F4 FB 16 |
|
| REPNP SCASQ |
|
|
|
F4 FB 17 |
|
| REPL SCASB |
|
|
|
F4 FC 14 |
|
SF XOR OF = 1 REPNGE SCAS |
| REPL SCASW |
|
|
|
F4 FC 15 |
|
| REPL SCASD |
|
|
|
F4 FC 16 |
|
| REPL SCASQ |
|
|
|
F4 FC 17 |
|
| REPGE SCASB |
|
|
|
F4 FD 14 |
|
SF XOR OF = 2 REPNL SCAS |
| REPGE SCASW |
|
|
|
F4 FD 15 |
|
| REPGE SCASD |
|
|
|
F4 FD 16 |
|
| REPGE SCASQ |
|
|
|
F4 FD 17 |
|
| REPLE SCASB |
|
|
|
F4 FE 14 |
|
SF XOR OF OR ZF = 1 REPNG SCAS |
| REPLE SCASW |
|
|
|
F4 FE 15 |
|
| REPLE SCASD |
|
|
|
F4 FE 16 |
|
| REPLE SCASQ |
|
|
|
F4 FE 17 |
|
| REPG SCASB |
|
|
|
F4 FF 14 |
|
SF XOR OF OR ZF = 2 REPNLE SCAS |
| REPG SCASW |
|
|
|
F4 FF 15 |
|
| REPG SCASD |
|
|
|
F4 FF 16 |
|
| REPG SCASQ |
|
|
|
F4 FF 17 |
|
|
| Забележка |
Операндът в асемблерското представяне на инструкцията не се кодира. Операндът единствено дава възможност на асемблера да провери правилното асоцииране на сегменти със сегментни регистри, тъй като сегментът, използван за dest е винаги ES и не може да се промени с префикс. |
| Действие |
Acc – ES:[eDI] /* Acc е AL, AX, EAX, RAX */
CASE Инструкция OF
SCASB: OperSize ← 1
SCASW: OperSize ← 2
SCASD: OperSize ← 4
SCASQ: OperSize ← 8
END CASE
IF DF = 0 THEN
eDI ← eDI + OperSize
ELSE
eDI ← eDI - OperSize
ENDIF
|
| Флагове |
| PE |
VM |
NT |
IOPL |
OF |
DF |
IF |
TF |
SF |
ZF |
AF |
PF |
CF |
| |
|
|
|
A |
T |
|
|
A |
A |
A |
A |
A |
|
| CPU |
| 8086 |
186 |
V20 |
286 |
386 |
486 |
P |
P-P |
P-II |
MMX |
SSE |
3D! |
E64 |
| • |
• |
• |
• |
• |
• |
• |
• |
• |
|
|
|
• |
|
| Изключения | ОБЩИ |