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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ: конспСкт Π»Π΅ΠΊΡ†ΠΈΠΉΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 18

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

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ адрСсных Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ привязаны ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ адрСсу физичСской памяти. БСгмСнтная ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ адрСса ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° нСизвСстна ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ для выполнСния.

Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ адрСса – спСцифичСский Π²ΠΈΠ΄ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°. Он обозначаСтся Π·Π½Π°ΠΊΠΎΠΌ S. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ° этого ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° транслятор ассСмблСра встрСчаСт Π² исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ этот символ, Ρ‚ΠΎ ΠΎΠ½ подставляСт вмСсто Π½Π΅Π³ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика адрСса. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика адрСса ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚, счСтчика размСщСния прСдставляСт собой смСщСниС Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ машинной ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ‡Π°Π»Π° сСгмСнта ΠΊΠΎΠ΄Π°. Π’ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ листинга счСтчику адрСса соотвСтствуСт вторая ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° (Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, присутствуСт ΠΈΠ»ΠΈ Π½Π΅Ρ‚ Π² листингС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° с ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ влоТСнности). Если Π²Π·ΡΡ‚ΡŒ Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° любой листинг, Ρ‚ΠΎ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ транслятором ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ассСмблСра счСтчик адрСса увСличиваСтся Π½Π° Π΄Π»ΠΈΠ½Ρƒ сформированной машинной ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π’Π°ΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² ассСмблСра Π½Π΅ Π²Π»Π΅Ρ‡Π΅Ρ‚ Π·Π° собой измСнСния счСтчика. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄ ассСмблСра, β€“ это лишь указания транслятору Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… дСйствий ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ машинного прСдставлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ для Π½ΠΈΡ… транслятором Π½Π΅ гСнСрируСтся Π½ΠΈΠΊΠ°ΠΊΠΈΡ… конструкций Π² памяти.

ΠŸΡ€ΠΈ использовании ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ выраТСния для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΎ Π΄Π»ΠΈΠ½Π΅ самой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ это Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика адрСса соотвСтствуСт ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ Π² сСгмСнтС ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π°Π½Π½ΠΎΠΉ, Π° Π½Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π° Π½Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° jmp Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 2 Π±Π°ΠΉΡ‚Π°. Но Π±ΡƒΠ΄ΡŒΡ‚Π΅ остороТны, Π΄Π»ΠΈΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Π² Π½Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹. Команда с рСгистровыми ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°ΠΌΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΡ€ΠΎΡ‡Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ располоТСн Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, зная Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ машинной ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ анализируя ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ листинга с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹;

4) рСгистровый ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ – это просто имя рСгистра. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° ассСмблСрС ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° всСх рСгистров ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° систСмных рСгистров;

5) Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΈ индСксный ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹. Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ косвСнной Π±Π°Π·ΠΎΠ²ΠΎΠΉ, косвСнной индСксной адрСсации ΠΈΠ»ΠΈ ΠΈΡ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ;

6) ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для доступа ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ элСмСнту слоТного Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ структурой.

Записи (Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ структурному Ρ‚ΠΈΠΏΡƒ) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для доступа ΠΊ Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΌΡƒ полю Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ записи.

ΠžΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ элСмСнтарными ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… формируСтся Ρ‡Π°ΡΡ‚ΡŒ машинной ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π°Ρ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ выполняСтся опСрация. Π’ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ составныС части Π² Π±ΠΎΠ»Π΅Π΅ слоТныС образования, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ выраТСниями. ВыраТСния ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², рассматриваСмыС ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ вычислСния выраТСния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ адрСс Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ячСйки памяти ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ константноС (Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅) Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΌΡ‹ ΡƒΠΆΠ΅ рассмотрСли. ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ассСмблСра ΠΈ синтаксичСскиС ΠΏΡ€Π°Π²ΠΈΠ»Π° формирования Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ассСмблСра, ΠΈ Π΄Π°Π΄ΠΈΠΌ ΠΊΡ€Π°Ρ‚ΠΊΡƒΡŽ характСристику ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².

1. ΠΡ€ΠΈΡ„мСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹. К Π½ΠΈΠΌ относятся:

1) ΡƒΠ½Π°Ρ€Π½Ρ‹Π΅ Β«+Β» ΠΈ Β«β€”Β»;

2) Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Β«+Β» ΠΈ Β«β€”Β»;

3) ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Β«*Β»;

4) Ρ†Π΅Π»ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ дСлСния Β«/Β»;

5) ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ остатка ΠΎΡ‚ дСлСния Β«modΒ».

Π­Ρ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ располоТСны Π½Π° уровнях ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° 6,7,8 Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 4.

Рис. 8. Бинтаксис арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ


2. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сдвига Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ сдвиг выраТСния Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ количСство разрядов (рис. 9).

Рис. 9. Бинтаксис ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² сдвига


3. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния (Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «истина» ΠΈΠ»ΠΈ «лоТь») ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для формирования логичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (рис. 10 ΠΈ Ρ‚Π°Π±Π». 3). ЛогичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «истина» соотвСтствуСт Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅, Π° «лоТь» – Π½ΡƒΠ»ΡŽ.

Рис. 10. Бинтаксис ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² сравнСния

Π’Π°Π±Π»ΠΈΡ†Π° 3. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния

4. Π›ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π½Π°Π΄ выраТСниями ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (рис. 11). ВыраТСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΌΠΈ, Ρ‚. Π΅. Ρ‚Π°ΠΊΠΈΠΌΠΈ, числСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ вычислСно транслятором.

Рис. 11. Бинтаксис логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²


5. Π˜Π½Π΄Π΅ΠΊΡΠ½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ []. Π‘ΠΊΠΎΠ±ΠΊΠΈ Ρ‚ΠΎΠΆΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ, ΠΈ транслятор ΠΈΡ… Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ воспринимаСт ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅_1 Π·Π° этими скобками с Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅_2, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ Π² скобки (рис. 12).

Рис. 12. Бинтаксис индСксного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°


Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ ΠΏΠΎ ассСмблСру принято ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: ΠΊΠΎΠ³Π΄Π° Π² тСкстС Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ содСрТимом рСгистра, Ρ‚ΠΎ Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±Π΅Ρ€ΡƒΡ‚ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ этого обозначСния.

6. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ пСрСопрСдСлСния Ρ‚ΠΈΠΏΠ° ptr примСняСтся для пСрСопрСдСлСния ΠΈΠ»ΠΈ уточнСния Ρ‚ΠΈΠΏΠ° ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, опрСдСляСмых Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ (рис. 13).

Π’ΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: byte, word, dword, qword, tbyte, near, far.

Рис. 13. Бинтаксис ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° пСрСопрСдСлСния Ρ‚ΠΈΠΏΠ°


7. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ пСрСопрСдСлСния сСгмСнта Β«:Β» (Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅) заставляСт Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ физичСский адрСс ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ сСгмСнтной ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ: «имя сСгмСнтного рСгистра», «имя сСгмСнта» ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ SEGMENT ΠΈΠ»ΠΈ «имя Π³Ρ€ΡƒΠΏΠΏΡ‹Β» (рис. 14). ΠŸΡ€ΠΈ обсуТдСнии сСгмСнтации ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ микропроцСссор Π½Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° сСгмСнтов – ΠΊΠΎΠ΄Π°, стСка ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ такая аппаратная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°? К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ микропроцСссор Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ содСрТимоС сСгмСнтного рСгистра cs ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Π³ΠΎ. А Π² этом рСгистрС, ΠΊΠ°ΠΊ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, содСрТится (ΠΏΠΎΠΊΠ° Π΅Ρ‰Π΅ Π½Π΅ сдвинутый) физичСский адрСс Π½Π°Ρ‡Π°Π»Π° сСгмСнта ΠΊΠΎΠΌΠ°Π½Π΄. Для получСния адрСса ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ микропроцСссору остаСтся ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ содСрТимоС cs Π½Π° 16 (Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ сдвиг Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ разряда) ΠΈ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ 20-Π±ΠΈΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с 16-Π±ΠΈΡ‚Π½Ρ‹ΠΌ содСрТимым рСгистра ip. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚ΠΎ ΠΆΠ΅ самоС происходит ΠΈ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° микропроцСссор ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ Π² машинной ΠΊΠΎΠΌΠ°Π½Π΄Π΅. Если ΠΎΠ½ Π²ΠΈΠ΄ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ – это адрСс (эффСктивный адрСс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒΡŽ физичСского адрСса), Ρ‚ΠΎ ΠΎΠ½ Π·Π½Π°Π΅Ρ‚, Π² ΠΊΠ°ΠΊΠΎΠΌ сСгмСнтС Π΅Π³ΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ, β€“ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ это сСгмСнт, адрСс Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ записан Π² сСгмСнтном рСгистрС ds.

А Ρ‡Ρ‚ΠΎ ΠΆΠ΅ с сСгмСнтом стСка? Π’ контСкстС нашСго рассмотрСния нас ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ рСгистры sp ΠΈ ΠͺΡ€. Если микропроцСссор Π²ΠΈΠ΄ΠΈΡ‚ Π² качСствС ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° (ΠΈΠ»ΠΈ Π΅Π³ΠΎ части, Ссли ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ – Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅) ΠΎΠ΄ΠΈΠ½ ΠΈΠ· этих рСгистров, Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ½ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ физичСский адрСс ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π² качСствС Π΅Π³ΠΎ сСгмСнтной ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ содСрТимоС рСгистра ss. Π­Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² Π±Π»ΠΎΠΊΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ управлСния, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… выполняСт ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄ Π² систСмС ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ микропроцСссора. КаТдая ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎ своСму Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, нСльзя, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ДСлаСтся это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ поля прСфикса машинной ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Если ΠΌΡ‹ согласны с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π°, Ρ‚ΠΎ это ΠΏΠΎΠ»Π΅ отсутствуСт. Если ΠΆΠ΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ внСсти ΠΏΠΎΠΏΡ€Π°Π²ΠΊΡƒ (Ссли, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΎΠ½Π° допустима для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹) Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ прСфикс.

ΠŸΡ€Π΅Ρ„ΠΈΠΊΡ прСдставляСт собой ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²ΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ, числСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ опрСдСляСт Π΅Π΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠœΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ распознаСт ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, Ρ‡Ρ‚ΠΎ этот Π±Π°ΠΉΡ‚ являСтся прСфиксом, ΠΈ дальнСйшая Ρ€Π°Π±ΠΎΡ‚Π° ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ выполняСтся с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΠ²ΡˆΠ΅Π³ΠΎ указания Π½Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΡƒ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹. БСйчас нас интСрСсуСт ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… – прСфикс Π·Π°ΠΌΠ΅Π½Ρ‹ (пСрСопрСдСлСния) сСгмСнта. Π•Π³ΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ микропроцСссору (Π° ΠΏΠΎ сути, ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅) Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСгмСнт ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. ВозмоТности для ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ пСрСопрСдСлСния, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹. Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ нСльзя, адрСс ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ исполняСмой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ опрСдСляСтся ΠΏΠ°Ρ€ΠΎΠΉ cs: ip. А Π²ΠΎΡ‚ сСгмСнты стСка ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… – ΠΌΠΎΠΆΠ½ΠΎ. Для этого ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Β«:Β». Вранслятор ассСмблСра, обрабатывая этот ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ прСфикс Π·Π°ΠΌΠ΅Π½Ρ‹ сСгмСнта.

Рис. 14. Бинтаксис ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° пСрСопрСдСлСния сСгмСнта


8. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ имСнования Ρ‚ΠΈΠΏΠ° структуры Β«.Β»(Ρ‚ΠΎΡ‡ΠΊΠ°) Ρ‚Π°ΠΊΠΆΠ΅ заставляСт транслятор ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ вычислСния, Ссли ΠΎΠ½ встрСчаСтся Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ.

9. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ получСния сСгмСнтной ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ адрСса выраТСния seg Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ физичСский адрСс сСгмСнта для выраТСния (рис. 15), Π² качСствС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΠ°, пСрСмСнная, имя сСгмСнта, имя Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ символичСскоС имя.