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

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

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

1) Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎΠ΅ – ΠΎΠ±Ρ‰Π΅Π΅ для всСх Π·Π°Π΄Π°Ρ‡;

2) Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ – ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. Π­Ρ‚ΠΈΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ присутствиС Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ микропроцСссора ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… систСмных рСгистров:

1) Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… дСскрипторов gdtr (Global Descriptor Table Register), ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ 48 Π±ΠΈΡ‚ ΠΈ содСрТащСго 32-Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ (Π±ΠΈΡ‚Ρ‹ 16–47) Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ адрСс глобальной дСскрипторной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ GDT ΠΈ 16-Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ (Π±ΠΈΡ‚Ρ‹ 0β€”15) Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π΅Π»Π°, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ собой Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² Π±Π°ΠΉΡ‚Π°Ρ… Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ GDT;

2) Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… дСскрипторов ldtr (Local Descriptor Table Register), ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ 16 Π±ΠΈΡ‚ ΠΈ содСрТащСго Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ сСлСктор дСскриптора локальной дСскрипторной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ LDT. Π­Ρ‚ΠΎΡ‚ сСлСктор являСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ GDT, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ описываСт сСгмСнт, содСрТащий Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄Π΅ΡΠΊΡ€ΠΈΠΏΡ‚ΠΎΡ€Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ LDT;

3) Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ дСскрипторов ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ idtr (Interrupt Descriptor Table Register), ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ 48 Π±ΠΈΡ‚ ΠΈ содСрТащСго 32-Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ (Π±ΠΈΡ‚Ρ‹ 16–47) Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ адрСс дСскрипторной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ IDT ΠΈ 16-Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ (Π±ΠΈΡ‚Ρ‹ 0β€”15) Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π΅Π»Π°, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ собой Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² Π±Π°ΠΉΡ‚Π°Ρ… Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ IDT;

4) 16-Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ рСгистра Π·Π°Π΄Π°Ρ‡ΠΈ tr (Task Register), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ рСгистру ldtr, содСрТит сСлСктор, Ρ‚. Π΅. ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° дСскриптор Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ GDT. Π­Ρ‚ΠΎΡ‚ дСскриптор описываСт Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ сСгмСнт состояния Π·Π°Π΄Π°Ρ‡ΠΈ (TSS – Task Segment Status). Π­Ρ‚ΠΎΡ‚ сСгмСнт создаСтся для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π² систСмС, ΠΈΠΌΠ΅Π΅Ρ‚ ТСстко Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ структуру ΠΈ содСрТит контСкст (Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС) Π·Π°Π΄Π°Ρ‡ΠΈ. ОсновноС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сСгмСнтов TSS – ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ.

46. Π Π΅Π³ΠΈΡΡ‚Ρ€Ρ‹ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ

Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ интСрСсная Π³Ρ€ΡƒΠΏΠΏΠ° рСгистров, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. БрСдства Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ появились Π² микропроцСссорС i486. Аппаратно микропроцСссор содСрТит восСмь рСгистров ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π½ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΠΈΠ· Π½ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡˆΠ΅ΡΡ‚ΡŒ.

РСгистры dr0, dr1, dr2, dr3 ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ 32 Π±ΠΈΡ‚Π° ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для задания Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… адрСсов Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ прСрывания. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΈ этом ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ: любой Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ адрСс сравниваСтся с адрСсами Π² рСгистрах dr0 … dr3, ΠΈ ΠΏΡ€ΠΈ совпадСнии гСнСрируСтся ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 1.

РСгистр dr6 называСтся рСгистром состояния ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Π‘ΠΈΡ‚Ρ‹ этого рСгистра ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² соотвСтствии с ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·Π²Π°Π»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ послСднСго ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 1.

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌ эти Π±ΠΈΡ‚Ρ‹ ΠΈ ΠΈΡ… Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

1) b0 – Ссли этот Π±ΠΈΡ‚ установлСн Π² 1, Ρ‚ΠΎ послСднСС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ (ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅) Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ достиТСния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π² рСгистрС dr0;

2) b1 – Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ b0, Π½ΠΎ для ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ Π² рСгистрС dr1;

3) b2 – Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ b0, Π½ΠΎ для ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ Π² рСгистрС dr2;

4) b3 – Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ b0, Π½ΠΎ для ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ Π² рСгистрС dr3;

5) bd (Π±ΠΈΡ‚ 13) β€“ слуТит для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ рСгистров ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ;

6) bs (Π±ΠΈΡ‚ 14) β€“ устанавливаСтся Π² 1, Ссли ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ 1 Π±Ρ‹Π»ΠΎ Π²Ρ‹Π·Π²Π°Π½ΠΎ состояниСм Ρ„Π»Π°Π³Π° tf = 1 Π² рСгистрС eflags;

7) bt (Π±ΠΈΡ‚ 15) устанавливаСтся Π² 1, Ссли ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ 1 Π±Ρ‹Π»ΠΎ Π²Ρ‹Π·Π²Π°Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π½Π° Π·Π°Π΄Π°Ρ‡Ρƒ с установлСнным Π±ΠΈΡ‚ΠΎΠΌ Π»ΠΎΠ²ΡƒΡˆΠΊΠΈ Π² TSS t = 1. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹ Π² этом рСгистрС Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ нулями. Об-Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ 1 ΠΏΠΎ содСрТимому dr6 Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ дСйствия.

РСгистр dr7 называСтся рСгистром управлСния ΠΎΡ‚Π»Π°Π΄ΠΊΠΎΠΉ. Π’ Π½Π΅ΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… рСгистров ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ поля, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ условия, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слСдуСт ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅:

1) ΠΌΠ΅ΡΡ‚ΠΎ рСгистрации ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ – Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡Π΅ ΠΈΠ»ΠΈ Π² любой Π·Π°Π΄Π°Ρ‡Π΅. Π­Ρ‚ΠΈ Π±ΠΈΡ‚Ρ‹ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ младшиС 8 Π±ΠΈΡ‚ рСгистра dr7 (ΠΏΠΎ 2 Π±ΠΈΡ‚Π° Π½Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ (фактичСски Ρ‚ΠΎΡ‡ΠΊΡƒ прСрывания), Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡƒΡŽ рСгистрами dr0, drl, dr2, dr3 соотвСтствСнно).

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π±ΠΈΡ‚ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€Ρ‹ – это Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ локальноС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅; Π΅Π³ΠΎ установка Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‡ΠΊΠ° прСрывания дСйствуСт, Ссли ΠΎΠ½Π° находится Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… адрСсного пространства Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π±ΠΈΡ‚ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€Π΅ опрСдСляСт глобальноС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ данная ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ° дСйствуСт Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… адрСсных пространств всСх Π·Π°Π΄Π°Ρ‡, находящихся Π² систСмС;

2) Ρ‚ΠΈΠΏ доступа, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ инициируСтся ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅: Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΏΡ€ΠΈ записи ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ записи / Ρ‡Ρ‚Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΈΡ‚Ρ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ возникновСния прСрывания, Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Π² ΡΡ‚Π°Ρ€ΡˆΠ΅ΠΉ части Π΄Π°Π½Π½ΠΎΠ³ΠΎ рСгистра. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· систСмных рСгистров ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ доступно.

47. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ассСмблСрС

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° ассСмблСрС прСдставляСт собой ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π±Π»ΠΎΠΊΠΎΠ² памяти, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… сСгмСнтами памяти. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚Π°ΠΊΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ²-сСгмСнтов. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ сСгмСнт содСрТит ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ языка, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ строку ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ассСмблСра Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Ρ‚ΠΈΠΏΠΎΠ².

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ»ΠΈ инструкции, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ собой символичСскиС Π°Π½Π°Π»ΠΎΠ³ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄.

Π’ процСссС трансляции инструкции ассСмблСра ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ систСмы ΠΊΠΎΠΌΠ°Π½Π΄ микропроцСссора. Одна ΠΊΠΎΠΌΠ°Π½Π΄Π° АссСмблСра, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, соотвСтствуСт ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ микропроцСссора, Ρ‡Ρ‚ΠΎ, Π²ΠΎΠΎΠ±Ρ‰Π΅ говоря, являСтся Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ΠΌ для Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… языков.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ инструкции, которая осущСствляСт ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ числа, хранящСгося Π² рСгисрС eax, Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ:

inc eax

– ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ – оформляСмыС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ прСдлоТСния тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹Π΅ Π²ΠΎ врСмя трансляции Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ прСдлоТСниями.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ макрос ΠΊΠΎΠ½Ρ†Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

exit macro

mov ax,4c00h

int 21h

endm

– Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ транслятору ассСмблСра Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… дСйствий.

Π£ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² Π½Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ² Π² машинном прСдставлСнии; Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ TITLE, которая Π·Π°Π΄Π°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ„Π°ΠΉΠ»Π° листинга: %TITLE «Листинг 1Β»

– ΡΡ‚Ρ€ΠΎΠΊΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², содСрТащиС Π»ΡŽΠ±Ρ‹Π΅ символы, Π² Ρ‚ΠΎΠΌ числС ΠΈ Π±ΡƒΠΊΠ²Ρ‹ русского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ транслятором. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

; эта строчка являСтся ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅ΠΌ

48. Π‘интаксис ассСмблСра

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄Π΅, Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡŽ. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ транслятор ассСмблСра ΠΌΠΎΠ³ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ ΠΈΡ…, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ синтаксичСским ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ. Для этого Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ описаниС синтаксиса языка Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ» Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ. НаиболСС распространСнныС способы ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ описания языка программирования – синтаксичСскиС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ Бэкуса-Наура. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с синтаксичСскими Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ…ΠΎΠ΄Π°, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ стрСлками. БинтаксичСскиС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ транслятора ΠΏΡ€ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ДопустимыС символы:

1) Π²ΡΠ΅ латинскиС Π±ΡƒΠΊΠ²Ρ‹: A – Z, a – z;

2) Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΎΡ‚ 0 Π΄ΠΎ 9;

3) Π·Π½Π°ΠΊΠΈ? @, $, &;

4) Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ.

ЛСксСмами ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅.

1. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ – ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ допустимых символов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ для обозначСния ΠΊΠΎΠ΄ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠΊ. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ Ρ†ΠΈΡ„Ρ€ΠΎΠΉ.

2. Π¦Π΅ΠΏΠΎΡ‡ΠΊΠΈ символов – ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ символов, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ.

3. Π¦Π΅Π»Ρ‹Π΅ числа.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ассСмблСра.

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

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

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

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

4) Ρ†Π΅Π»ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ дСлСния Β«/Β»; 5) получСния остатка ΠΎΡ‚ дСлСния Β«modΒ».

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

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

4. Π›ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π½Π°Π΄ выраТСниями ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

5. Π˜Π½Π΄Π΅ΠΊΡΠ½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ [].

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

7. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ пСрСопрСдСлСния сСгмСнта Β«:Β» (Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅) заставляСт Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ физичСский адрСс ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ сСгмСнтной ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ.

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

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

10. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ получСния смСщСния выраТСния offset позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ смСщСния выраТСния Π² Π±Π°ΠΉΡ‚Π°Ρ… ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ‡Π°Π»Π° Ρ‚ΠΎΠ³ΠΎ сСгмСнта, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ.

49. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ сСгмСнтации

БСгмСнтация являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°, связанного с ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ программирования. Она ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΡƒΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ оформлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, создаваСмых компилятором, Π² Ρ‚ΠΎΠΌ числС с Ρ€Π°Π·Π½Ρ‹Ρ… языков программирования. Π­Ρ‚ΠΎ позволяСт ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках. ИмСнно для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ‚Π°ΠΊΠΎΠ³ΠΎ объСдинСния ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ SEGMENT.