ΠΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΈΠΌΠ΅Π΅Ρ 18 ΠΊΠΎΠΌΠ°Π½Π΄ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π°. ΠΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ: 1) ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π°ΠΌΠΈ ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ («Π±ΠΎΠ»ΡΡΠ΅ — ΠΌΠ΅Π½ΡΡΠ΅»);
- 2) ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π°ΠΌΠΈ Π±Π΅Π· Π·Π½Π°ΠΊΠ°
- («Π²ΡΡΠ΅ — Π½ΠΈΠΆΠ΅»); 3) ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ»Π°Π³ΠΎΠ² ZF, SF, CF, OF, PF (Π½ΠΎ Π½Π΅ AF).
ΠΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ: jcc ΠΌΠ΅ΡΠΊΠ°ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° ΠΠΎΠΌΠ°Π½Π΄Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ cmp ΠΈΠΌΠ΅Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ. ΠΠ½ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΡΠΈΡΠ°Π½ΠΈΡ — sub ΠΎΠΏΠ΅ΡΠ°Π½Π΄1, ΠΎΠΏΠ΅ΡΠ°Π½Π΄2.
ΠΠΎΠΌΠ°Π½Π΄Π° cmp ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° sub, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ² ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ»Π°Π³ΠΈ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΠ΅Π³ΠΎ ΠΎΠ½Π° Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ — ΡΡΠΎ Π·Π°ΠΏΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π²ΡΡΠΈΡΠ°Π½ΠΈΡ Π½Π° ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π°.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ cmp — cmp ΠΎΠΏΠ΅ΡΠ°Π½Π΄1, ΠΎΠΏΠ΅ΡΠ°Π½Π΄2 (compare) — ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ Π΄Π²Π° ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π° ΠΈ ΠΏΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ»Π°Π³ΠΈ.
ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ²
ΠΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠ»ΠΎΠ²Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° jmp:
- 1) loop ΠΌΠ΅ΡΠΊΠ°ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° (Loop) — ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΡΠΈΠΊΠ». ΠΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ»Ρ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠΈΠΊΠ»Π°ΠΌ for Π² ΡΠ·ΡΠΊΠ°Ρ
Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠΈΠΊΠ»Π°;
- 2) loope/loopz ΠΌΠ΅ΡΠΊΠ°ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π°
ΠΠΎΠΌΠ°Π½Π΄Ρ loope ΠΈ loopz — Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠ΅ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΡ;
3) loopne/loopnz ΠΌΠ΅ΡΠΊΠ°ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π°
ΠΠΎΠΌΠ°Π½Π΄Ρ loopne ΠΈ loopnz ΡΠ°ΠΊΠΆΠ΅ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠ΅ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΡ. ΠΠΎΠΌΠ°Π½Π΄Ρ loope/loopz ΠΈ loopne/loopnz ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π»ΡΡΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠΎΠ±ΡΠ°ΡΠ½ΡΠΌΠΈ.