Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 15

Автор А. Π¦Π²Π΅Ρ‚ΠΊΠΎΠ²Π°

CΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρƒ с логичСскими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ:

1) and ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_1, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_2 – опСрация логичСского умноТСния;

2) or ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_1, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_2 – опСрация логичСского слоТСния;

3) xor ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_1, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_2 – опСрация логичСского ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ слоТСния;

4) test ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_1, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_2 – опСрация Β«ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΒ» (способом логичСского умноТСния)

5) not ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ – опСрация логичСского отрицания.

Π°) Π΄Π»Ρ установки ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… разрядов (Π±ΠΈΡ‚) Π² 1 примСняСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° or ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_1, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_2;

Π±) Π΄Π»Ρ сброса ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… разрядов (Π±ΠΈΡ‚) Π² 0 примСняСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° and ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_1, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_2;

Π²) ΠΊΠΎΠΌΠ°Π½Π΄Π° xor ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_1, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_2 примСняСтся:

– Π΄Π»Ρ выяснСния Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Π±ΠΈΡ‚Ρ‹ Π² ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_1 ΠΈ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_2 Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ;

– Π΄Π»Ρ инвСртирования состояния Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Π±ΠΈΡ‚ Π² ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_1.

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ состояния Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Π±ΠΈΡ‚ примСняСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° test ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_1, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_2 (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄_1).

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ являСтся установка значСния Ρ„Π»Π°Π³Π° нуля zf:

1) Π΅ΡΠ»ΠΈ zf = 0, Ρ‚ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ логичСского умноТСния получился Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Ρ‚. Π΅. ΠΎΠ΄ΠΈΠ½ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΉ Π±ΠΈΡ‚ маски, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ совпал с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΌ Π±ΠΈΡ‚ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄1;

2) Π΅ΡΠ»ΠΈ zf = 1, Ρ‚ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ логичСского умноТСния получился Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Ρ‚. Π΅. хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΉ Π±ΠΈΡ‚ маски совпалс ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΌ Π±ΠΈΡ‚ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄1.

ВсС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ сдвига ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ Π±ΠΈΡ‚Ρ‹ Π² ΠΏΠΎΠ»Π΅ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π²Π»Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π²ΠΏΡ€Π°Π²ΠΎ Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ΄Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. ВсС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ сдвига ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ структуру – ΠΊΠΎΠΏ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄, счСтчиксдвигов.

56. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ управлСния

Π’ΠΎ, какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ, микропроцСссор ΡƒΠ·Π½Π°Π΅Ρ‚ ΠΏΠΎ содСрТимому ΠΏΠ°Ρ€Ρ‹ рСгистров cs:(e)ip:

1) cs – сСгмСнтный рСгистр ΠΊΠΎΠ΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится физичСский адрСс Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сСгмСнта ΠΊΠΎΠ΄Π°;

2) eip/ip – рСгистр указатСля ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π² Π½Π΅ΠΌ находится Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ смСщСния Π² памяти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰Π΅ΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ.

БСзусловныС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹

Π§Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π½ΡƒΡ‚ΡŒΡΡ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, зависит:

1) ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ бСзусловного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° (Π±Π»ΠΈΠΆΠ½ΠΈΠΉ ΠΈΠ»ΠΈ дальний);

2) ΠΎΡ‚ указания ΠΏΠ΅Ρ€Π΅Π΄ адрСсом ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°; ΠΏΡ€ΠΈ этом сам адрСс ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π»ΠΈΠ±ΠΎ нСпосрСдствСнно Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ (прямой ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄), Π»ΠΈΠ±ΠΎ Π² рСгистрС памяти (косвСнный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄).

ЗначСния ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°:

1) near ptr – прямой ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΠΌΠ΅Ρ‚ΠΊΡƒ;

2) far ptr – прямой ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΠΌΠ΅Ρ‚ΠΊΡƒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ сСгмСнтС ΠΊΠΎΠ΄Π°;

3) word ptr – косвСнный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΠΌΠ΅Ρ‚ΠΊΡƒ;

4) dword ptr – косвСнный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΠΌΠ΅Ρ‚ΠΊΡƒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ сСгмСнтС ΠΊΠΎΠ΄Π°.

Команда бСзусловного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° jmp

jmp [ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€] адрСс_ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, β€“ это основная Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° прСдставляСт собой Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΊΠΎΠΌΠ°Π½Π΄.

УсловныС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹

ΠœΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΈΠΌΠ΅Π΅Ρ‚ 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 ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ.