Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄), ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык β€” систСма ΠΊΠΎΠΌΠ°Π½Π΄ (Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ΄ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ) ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, которая интСрпрСтируСтся нСпосрСдствСнно процСссором ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ этой Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. [1]

КаТдая инструкция выполняСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ элСмСнтарноС) дСйствиС, Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠ°ΠΊ опСрация с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, слоТСниС ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅; Π² рСгистрС ΠΈΠ»ΠΈ Π² памяти) ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ участку ΠΊΠΎΠ΄Π° (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ порядка исполнСния; ΠΏΡ€ΠΈ этом ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ бСзусловным ΠΈΠ»ΠΈ условным, зависящим ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… инструкций). КаТдая исполнимая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° состоит ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‚Π°ΠΊΠΈΡ… Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… инструкций.

ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ язык программирования ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ самый Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ прСдставлСния скомпилированных ΠΈΠ»ΠΈ ассСмблированных ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π₯отя Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прямо Π² машинном ΠΊΠΎΠ΄Π΅, сСйчас это дСлаСтся Ρ€Π΅Π΄ΠΊΠΎ Π² силу громоздкости ΠΊΠΎΠ΄Π° ΠΈ трудоёмкости управлСния рСсурсами процСссора, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ситуаций, ΠΊΠΎΠ³Π΄Π° трСбуСтся ΡΠΊΡΡ‚Ρ€Π΅ΠΌΠ°Π»ΡŒΠ½Π°Ρ оптимизация. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π½Π° языках Π±ΠΎΠ»Π΅Π΅ высокого уровня ΠΈ транслируСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ компиляторами. ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ (Ρ‚Π°ΠΊΠΆΠ΅ собствСнным ΠΈΠ»ΠΈ Ρ€ΠΎΠ΄Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ β€” ΠΎΡ‚ Π°Π½Π³Π». native code ), ΠΊΠΎΠ³Π΄Π° говорят ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎ-зависимых частях языка ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. [2]

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языках (Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ БСйсик ΠΈΠ»ΠΈ Python) Π½Π΅ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, вмСсто этого ΠΎΠ½ΠΈ Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ нСпосрСдствСнно ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ, Π»ΠΈΠ±ΠΎ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² псСвдокод (Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄). Однако ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ этих языков (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сами ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ процСссоры) ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ прСдставлСны Π² машинном ΠΊΠΎΠ΄Π΅.

КаТдая модСль процСссора ΠΈΠΌΠ΅Π΅Ρ‚ свой собствСнный Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄, хотя Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… модСлях эти Π½Π°Π±ΠΎΡ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ сильно ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ. Говорят, Ρ‡Ρ‚ΠΎ процСссор A совмСстим с процСссором B, Ссли процСссор A ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Β«ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Β» ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ процСссора B. Если процСссор A Π·Π½Π°Π΅Ρ‚ нСсколько ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ процСссор B, Ρ‚ΠΎ B нСсовмСстим с A.

РаньшС процСссоры просто выполняли инструкции ΠΎΠ΄Π½Ρƒ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Π½ΠΎ Π½ΠΎΠ²Ρ‹Π΅ супСрскалярныС процСссоры способны Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ нСсколько инструкций Π·Π° Ρ€Π°Π·.

Π’Π°ΠΊΠΆΠ΅ инструкции Π±Ρ‹Π²Π°ΡŽΡ‚ постоянной Π΄Π»ΠΈΠ½Ρ‹ (Ρƒ RISC-, MISC-Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€) ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π½ΠΎΠΉ (Ρƒ CISC-Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€; Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ x86 ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ ΠΎΡ‚ 8 Π΄ΠΎ 120 Π±ΠΈΡ‚ΠΎΠ²).

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° машинного ΠΊΠΎΠ΄Π° рСализуСтся Π΅Ρ‰Ρ‘ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΌ слоСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ позволяСт ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ интСрфСйс машинного языка Ρƒ всСй Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ ΠΈΠ»ΠΈ сСмСйства ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ структурныС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Π­Ρ‚ΠΎ дСлаСтся для облСгчСния пСрСноса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² машинном ΠΊΠΎΠ΄Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ модСлями ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ этого являСтся сСмСйство ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² IBM System/360 ΠΈ ΠΈΡ… ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊΠΎΠ²: нСсмотря Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ ΡˆΠΈΠ½Ρ‹ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ ΠΎΡ‚ 8 Π΄ΠΎ 64 Π±ΠΈΡ‚ ΠΈ Π²Ρ‹ΡˆΠ΅, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Ρƒ Π½ΠΈΡ… общая Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ машинного языка.

ИспользованиС слоя ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄Π° для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ эмулятора позволяСт ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Π’ Π»ΠΈΠ½Π΅ΠΉΠΊΠ΅ System/360 это использовалось для пСрСноса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΡ… машин IBM Π½Π° Π½ΠΎΠ²ΠΎΠ΅ сСмСйство β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, эмулятор IBM 1401/1440/1460 Π½Π° IBM S/360 model 40.

ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ-нСзависимый ΠΊΠΎΠ΄

ΠŸΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ-нСзависимый ΠΊΠΎΠ΄ (Π°Π½Π³Π». position-independent code ) β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π° Π² любой области памяти, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ всС ссылки Π½Π° ячСйки памяти Π² Π½Π΅ΠΉ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ счётчика ΠΊΠΎΠΌΠ°Π½Π΄). Π’Π°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая хотя ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π° Π² Π»ΡŽΠ±ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти, Π½ΠΎ послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ мСстС. [1]

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Β«Hello, world!Β»

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Β«Hello, world!Β» для процСссора Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ x86 (ОБ DOS, Π²Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ BIOS Int 10h (Π°Π½Π³Π».) выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ (Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии ΠΏΠΎΠ±Π°ΠΉΡ‚Π½ΠΎ):

BB 11 01 B9 0D 00 B4 0E 8A 07 43 CD 10 E2 F9 CD 20 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21

Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π΅Ρ‘ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΠΏΠΎ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ 10016. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ инструкции Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ Ρ†Π²Π΅Ρ‚ΠΎΠΌ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. 25px Disambig dark.svg. Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„ΠΎΡ‚ΠΎ. Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ-25px Disambig dark.svg. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 25px Disambig dark.svg. ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄), ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык β€” систСма ΠΊΠΎΠΌΠ°Π½Π΄ (Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ΄ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ) ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, которая интСрпрСтируСтся нСпосрСдствСнно процСссором ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ этой Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹.

Иногда выраТСния, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Β«ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык, Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄Β», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ взаимозамСняСмыС. Однако ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… значСния:

ОглавлСниС

Машинная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. 440px Programmcode. Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„ΠΎΡ‚ΠΎ. Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ-440px Programmcode. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 440px Programmcode. ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄), ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык β€” систСма ΠΊΠΎΠΌΠ°Π½Π΄ (Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ΄ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ) ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, которая интСрпрСтируСтся нСпосрСдствСнно процСссором ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ этой Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹.

ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ ΠΎΡ‚ языка ассСмблСра

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

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠΏΡ€ΠΈΠΌΠ΅Ρ€

Π―Π·Ρ‹ΠΊ программирования C

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ исходном ΠΊΠΎΠ΄Π΅ Π½Π° языкС программирования Π±ΠΎΠ»Π΅Π΅ высокого уровня C вычисляСтся сумма чисСл 2 ΠΈ 3 ΠΈ возвращаСтся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄
( ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ )
связанный ΠΊΠΎΠ΄ ассСмблСрасвязанный ΠΊΠΎΠ΄ CОбъяснСниС
55
48 89 E5
push rbp

>Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ RBP ΠΊ исходному Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.

ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… IBM Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ OS / 390

Π”Π°Π½Π½Ρ‹Ρ… создаСтся Π² соотвСтствии с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ хранСния. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«12Β» ΠΌΠΎΠΆΠ΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, B. ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄ (ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ΅ прСдставлСниС минимальной Π΄Π»ΠΈΠ½Ρ‹):

F1F2 ВСкст ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ€ Π±Π΅Π· ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ 012C ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ·ΠΈΡ‚ΠΈΠ², Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡƒΠ±Π°ΠΉΡ‚Π° Π½Π° число, Π² ΠΊΠΎΠ½Ρ†Π΅ Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡƒΠ±Π°ΠΉΡ‚. 012D ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π΅Π³Π°Ρ‚ΠΈΠ² (dto) 0C Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, соотвСтствуСт B’00001100 ‘

Π’ случаС Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ Π½ΡƒΠ»ΠΈ ΠΈΠ»ΠΈ, Π² случаС тСкста, ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ прСдоставлСнного поля Π΄Π°Π½Π½Ρ‹Ρ… опрСдСляСтся «адрСс», с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ½ начинаСтся ΠΈ Π³Π΄Π΅ ΠΎΠ½ хранится Π² соотвСтствии с Π΅Π³ΠΎ Π΄Π»ΠΈΠ½ΠΎΠΉ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ.

C5.1C.92A4.8C2B (Ρ‚ΠΎΡ‡ΠΊΠΈ раздСлСния вставлСны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π»ΡƒΡ‡ΡˆΠ΅ΠΉ читаСмости):

C5 = Код ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для CLC = ЛогичСский символ сравнСния; Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ пСрсонаТСй 1C = Π΄Π»ΠΈΠ½Π° минус 1 сравниваСмых ΠΏΠΎΠ»Π΅ΠΉ (с 00 сравниваСтся 1 Π±Π°ΠΉΡ‚ ΠΈ Ρ‚. Π”., Π—Π΄Π΅ΡΡŒ 29 Π±Π°ΠΉΡ‚ΠΎΠ²) 92A4 = адрСс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°: 9 = Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ рСгистр, 2A4 = расстояниС Π΄ΠΎ рСгистра 8C2B = адрСс Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°: 8 = Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ рСгистр, C2B = расстояниС Π΄ΠΎ рСгистра

47 = Код ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для BC = ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ: Команда ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°, Ссли выполняСтся условиС (ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹) 8 = состояниС; здСсь: Ссли ‘Ρ€Π°Π²Π½ΠΎ’, мнСмоничСский ассСмблСрный ΠΊΠΎΠ΄ BE (Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ равСнствС) 0 = Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ рСгистр, содСрТимоС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ добавляСтся ΠΊ адрСсу ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°; Π½Π΅ Π½Π° «0» B = адрСс назначСния (Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ рСгистр) 654 = адрСс назначСния (расстояниС); с содСрТимым B = 6C4410 ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ адрСсу 6C4A64.

Π’ ΠΊΠΎΠ΄Π΅ ассСмблСра это ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘. выглядят Ρ‚Π°ΠΊ:

CLC FELDA (29), FIELDB Π‘Π«Π’Π¬ Π₯Π₯Π₯

Π•Π‘Π›Π˜ Field_A = Field_B, Ρ‚ΠΎ ΠΠΠ™Π’Π˜ XXX.

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

ΠžΠ±Π·ΠΎΡ€ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ машинного языка

Набор инструкций

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠΈ (сокращСния ΠΊΠΎΠΌΠ°Π½Π΄) Π±Ρ‹Π»ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΈ зависят ΠΎΡ‚ языка ассСмблСра.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: ΠΊΠΎΠΌΠ°Π½Π΄Π° слоТСния, такая ΠΊΠ°ΠΊ ADC (слоТСниС с пСрСносом), сигнализируСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‡Ρ‚ΠΎ допустимый Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π±Ρ‹Π» ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ установки Ρ„Π»Π°Π³ΠΎΠ² пСрСноса ΠΈ пСрСполнСния.

Различия: Набор ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… процСссоров отличаСтся. НС всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ доступны для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° процСссора ΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΈ процСссоров.

ΠœΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ: Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ процСссора прСдоставляСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ с Ρ€Π°Π·Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Помимо простых, одноэтапных Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΆΠ΅ доступны ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠ΅ нСсколько ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅.

ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠΠ°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΠΌ. Н. Π­. Π‘Π°ΡƒΠΌΠ°Π½Π°
Bauman National Library

ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ инструмСнты

ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык прСдставляСт собой Π½Π°Π±ΠΎΡ€ инструкций, выполняСмых нСпосрСдствСнно Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ процСссором ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° (CPU). КаТдая ΠΊΠΎΠΌΠ°Π½Π΄Π° выполняСт ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ (load), ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° (jump) ΠΈΠ»ΠΈ элСмСнтарной арифмСтичСской ΠΈΠ»ΠΈ логичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ для Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² рСгистрС процСссора ΠΈΠ»ΠΈ памяти. КаТдая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выполняСтся нСпосрСдствСнно процСссором ΠΈ состоит ΠΈΠ· ряда Ρ‚Π°ΠΊΠΈΡ… инструкций.

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

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

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ машинного ΠΊΠΎΠ΄Π° (ISA)

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ процСссор ΠΈΠ»ΠΈ сСмСйство процСссоров ΠΈΠΌΠ΅Π΅Ρ‚ свой собствСнный Π½Π°Π±ΠΎΡ€ инструкций машинного ΠΊΠΎΠ΄Π°. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°ΠΌΠΈ Π±ΠΈΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² силу физичСского устройства ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Говорят, Ρ‡Ρ‚ΠΎ процСссор A совмСстим с процСссором B, Ссли процСссор A ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Β«ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Β» ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ процСссора B. Если процСссоры A ΠΈ B ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ подмноТСство инструкций, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ΠΈ Π²Π·Π°ΠΈΠΌΠ½ΠΎ совмСстимы, Ρ‚ΠΎ говорят, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ являСтся спСцифичСским для ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса процСссоров. НовыС процСссоры ΠΎΠ΄Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ часто Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя всС инструкции ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΠ° ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅. Иногда Π½ΠΎΠ²Ρ‹Π΅ процСссоры ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°ΡŽΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для Π½ΠΎΠ²Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ), влияя Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° Π΄ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стСпСни; Π΄Π°ΠΆΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совмСстимыС процСссоры ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, Π½ΠΎ это Ρ€Π΅Π΄ΠΊΠΎ являСтся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.

БистСмы Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… дСталях, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ располоТСниС памяти, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Π΅ устройства. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ зависит ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ систСмы, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π½Π΅ запустят ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π΄Π°ΠΆΠ΅ Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ процСссора. [Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ 2]

Π’ΠΈΠ΄Ρ‹ ISA

x86 всСгда Π±Ρ‹Π» Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ с инструкциями ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΡˆΠ»Π° 64-битная эра, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ x64 Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ сильно повлияли Π½Π° ISA. ARM это RISC-процСссор Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ инструкций ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ прСимущСством Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π² самом Π½Π°Ρ‡Π°Π»Π΅ всС инструкции ARM ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ 4-мя Π±Π°ΠΉΡ‚Π°ΠΌΠΈ. Π­Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ сСйчас называСтся Β«Ρ€Π΅ΠΆΠΈΠΌ ARMΒ».

На самом Π΄Π΅Π»Π΅, самыС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ инструкции процСссора Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ c использованиСм мСньшСго количСства ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ISA с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Thumb, Π³Π΄Π΅ каТдая инструкция кодируСтся всСго лишь 2-мя Π±Π°ΠΉΡ‚Π°ΠΌΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ это называСтся Β«Ρ€Π΅ΠΆΠΈΠΌ ThumbΒ». Но Π½Π΅ всС инструкции ARM ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² Π΄Π²ΡƒΡ… Π±Π°ΠΉΡ‚Π°Ρ…, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ инструкций Thumb ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ. Код, скомпилированный для Ρ€Π΅ΠΆΠΈΠΌΠ° ARM ΠΈ Thumb ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π—Π°Ρ‚Π΅ΠΌ создатСли ARM Ρ€Π΅ΡˆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Thumb ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ: Ρ‚Π°ΠΊ появился Thumb-2 (Π² ARMv7). Thumb-2 это всё Π΅Ρ‰Ρ‘ Π΄Π²ΡƒΡ…Π±Π°ΠΉΡ‚Π½Ρ‹Π΅ инструкции, Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΎΠ²Ρ‹Π΅ инструкции ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π»ΠΈΠ½Ρƒ 4 Π±Π°ΠΉΡ‚Π°. РаспространСно Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Thumb-2 β€” это смСсь ARM ΠΈ Thumb. Π­Ρ‚ΠΎ Π½Π΅Π²Π΅Ρ€Π½ΠΎ. Π Π΅ΠΆΠΈΠΌ Thumb-2 Π±Ρ‹Π» Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ возмоТностСй процСссора ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π»Π΅Π³ΠΊΠΎ ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ ARM. ОсновноС количСство ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для iPod/iPhone/iPad скомпилировано для Π½Π°Π±ΠΎΡ€Π° инструкций Thumb-2, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Xcode Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚Π°ΠΊ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. ΠŸΠΎΡ‚ΠΎΠΌ появился 64-Π±ΠΈΡ‚Π½Ρ‹ΠΉ ARM. Π­Ρ‚ΠΎ ISA снова с 4-Π±Π°ΠΉΡ‚Π½Ρ‹ΠΌΠΈ инструкциями, Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Thumb. Но 64-Π±ΠΈΡ‚Π½Ρ‹Π΅ трСбования повлияли Π½Π° ISA, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас 3 Π½Π°Π±ΠΎΡ€Π° инструкций ARM: Ρ€Π΅ΠΆΠΈΠΌ ARM, Ρ€Π΅ΠΆΠΈΠΌ Thumb (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Thumb-2) ΠΈ ARM64. Π­Ρ‚ΠΈ Π½Π°Π±ΠΎΡ€Ρ‹ инструкций частично ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‚ΡΡ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, это скорСС Ρ€Π°Π·Π½Ρ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹, Π½Π΅ΠΆΠ΅Π»ΠΈ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ. БущСствуСт Π΅Ρ‰Ρ‘ ΠΌΠ½ΠΎΠ³ΠΎ RISC ISA с инструкциями фиксированной 32-Π±ΠΈΡ‚Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ β€” это ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ MIPS, PowerPC ΠΈ Alpha AXP. [Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ 3]

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ инструкций

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСдставляСт собой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ процСссором. Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ простыС процСссоры Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ инструкции ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ, супСрскалярныС процСссоры способны Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ нСсколько ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

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

ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ-нСзависимый ΠΊΠΎΠ΄

ΠŸΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ-нСзависимый ΠΊΠΎΠ΄ β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π° Π² любой области памяти, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ всС ссылки Π½Π° ячСйки памяти Π² Π½Π΅ΠΉ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ счётчика ΠΊΠΎΠΌΠ°Π½Π΄). Π’Π°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая хотя ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π° Π² Π»ΡŽΠ±ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти, Π½ΠΎ послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ мСстС.

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

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² памяти

Гарвардская Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° прСдставляСт собой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ с физичСски Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ для инструкций ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. На сСгодняшний дСнь, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ процСссоров Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ Гарвардская Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° исполняСмой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ· дисковой памяти Π² качСствС Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π·Π°Ρ‚Π΅ΠΌ Π΅Ρ‘ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Гарвардская Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° контрастируСт с Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ Ρ„ΠΎΠ½ НСймана, Π³Π΄Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΊΠΎΠ΄ хранятся Π² памяти вмСстС, ΠΈ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ процСссором, позволяя ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

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

Бвязь с языками программирования

АссСмблСрныС языки

Π“ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ прСдставлСниСм машинного языка называСтся язык ассСмблСра, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ мнСмоничСскиС ΠΊΠΎΠ΄Ρ‹ для обозначСния инструкций машинного ΠΊΠΎΠ΄Π°, Π° Π½Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ числовых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. НапримСр, Π½Π° процСссорС Zilog Z80, ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ 00000101, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ процСссору Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ рСгистр процСссора B, Π±ΡƒΠ΄Π΅Ρ‚ прСдставлСн Π½Π° языкС ассСмблСра ΠΊΠ°ΠΊ DEC B.

Бвязь с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄ΠΎΠΌ

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ…, ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ рСализуСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΎΠ»Π΅Π΅ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ слоя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΎΠ±Ρ‰ΠΈΠΉ интСрфСйс машинного языка для Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² с самыми Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ дСлаСтся для облСгчСния портирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° машинном языкС ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ модСлями. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠ³ΠΎ использования ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ IBM System/360 ΠΈ ΠΈΡ… наслСдники. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΡˆΠΈΡ€ΠΈΠ½Π° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… разнится ΠΎΡ‚ 8 Π΄ΠΎ 64 Π±ΠΈΡ‚ ΠΈ Π±ΠΎΠ»Π΅Π΅, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΎΠ±Ρ‰ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ машинного языка ΠΏΠΎ всСй Π»ΠΈΠ½Π΅ΠΉΠΊΠ΅.

ИспользованиС ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄Π° для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ эмулятора позволяСт ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ ΡΠΈΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ. БСмСйство System / 360 использовало это для портирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΡ… машин IBM Π½Π° Π½ΠΎΠ²Ρ‹Π΅ сСмСйства ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° IBM 1401/1440/1460.

Бвязь с Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄ΠΎΠΌ

ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, отличаСтся ΠΎΡ‚ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° (Ρ‚Π°ΠΊΠΆΠ΅ извСстного ΠΊΠ°ΠΊ Ρ€-ΠΊΠΎΠ΄), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΠΈΠ±ΠΎ выполняСтся ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ, ΠΈΠ»ΠΈ сам компилируСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ для Π±ΠΎΠ»Π΅Π΅ быстрого исполнСния. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ являСтся ситуация, ΠΊΠΎΠ³Π΄Π° процСссор ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для использования ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΊ машинного, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ Π² случаС с процСссорами Java. ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΈ ассСмблСрный ΠΊΠΎΠ΄ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ собствСнным (Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ) ΠΊΠΎΠ΄ΠΎΠΌ Π­Π’Πœ, ΠΊΠΎΠ³Π΄Π° ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎ-зависимыС части свойств ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ языка. [Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ 4]

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ MIPS 32-bit инструкции

Набор инструкций MIPS – ΠΏΡ€ΠΈΠΌΠ΅Ρ€ машинного ΠΊΠΎΠ΄Π° с инструкциями фиксированной Π΄Π»ΠΈΠ½Ρ‹ – 32 Π±ΠΈΡ‚Π°. Π’ΠΈΠΏ инструкции содСрТится Π² ΠΏΠΎΠ»Π΅ op (ΠΏΠΎΠ»Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ) – ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 6 Π±ΠΈΡ‚. НапримСр Ρ‚ΠΈΠΏΡ‹ инструкций ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΈΠ»ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ этим ΠΏΠΎΠ»Π΅ΠΌ. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ рСгистров Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ funct, для опрСдСлСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. ВсС поля, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ‰ΠΈΠ΅ΡΡ Π² Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… инструкций:

Rs,rt ΠΈ rd – ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ задСйствования рСгистров, shamt – ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ сдвига,Π° ΠΏΠΎΠ»Π΅ address/immediate явно содСрТит ΠΎΠΏΠ΅Ρ€Π°Π½Π΄.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: слоТСниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² рСгистрах 1 ΠΈ 2 ΠΈ запись Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² рСгистр 6:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° значСния Π² рСгистр 8, взятоС ΠΈΠ· ячСйки памяти, находящСйся Π½Π° 68 ячССк дальшС, Ρ‡Π΅ΠΌ адрСс, находящийся Π² рСгистрС 3:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ адрСсу 1024:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ для x86 (MS DOS) – β€œHello, World!”

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Β«Hello, world!Β» для процСссора Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ x86 (ОБ MS-DOS, Π²Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ BIOS прСрывания int 10h) выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ (Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии):

BB 11 01 B9 0D 00 B4 0E 8A 07 43 CD 10 E2 F9 CD 20 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21

Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π΅Ρ‘ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΠΏΠΎ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ 10016. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ инструкции Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ Ρ†Π²Π΅Ρ‚ΠΎΠΌ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

Из Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ β€” свободной энциклопСдии

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. im224 335px %D0%A6%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BE%D0%B9 %D0%BA%D0%BE%D0%B4 %D0%AD%D0%92%D0%9C %C2%AB%D0%9C%D0%B8%D0%BD%D1%81%D0%BA 22%C2%BB. Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„ΠΎΡ‚ΠΎ. Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ-im224 335px %D0%A6%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BE%D0%B9 %D0%BA%D0%BE%D0%B4 %D0%AD%D0%92%D0%9C %C2%AB%D0%9C%D0%B8%D0%BD%D1%81%D0%BA 22%C2%BB. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° im224 335px %D0%A6%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BE%D0%B9 %D0%BA%D0%BE%D0%B4 %D0%AD%D0%92%D0%9C %C2%AB%D0%9C%D0%B8%D0%BD%D1%81%D0%BA 22%C2%BB. ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄), ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык β€” систСма ΠΊΠΎΠΌΠ°Π½Π΄ (Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ΄ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ) ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, которая интСрпрСтируСтся нСпосрСдствСнно процСссором ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ этой Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹.

ΠœΠ°ΡˆΠΈΜΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (платфо́рмСнно-ориСнти́рованный ΠΊΠΎΠ΄), ΠΌΠ°ΡˆΠΈΜΠ½Π½Ρ‹ΠΉ язы́к β€” систСма ΠΊΠΎΠΌΠ°Π½Π΄ (Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ΄ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ) ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, которая интСрпрСтируСтся нСпосрСдствСнно процСссором ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ этой Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. [1]

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, записанная Π½Π° машинном языкС, состоит ΠΈΠ· ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… инструкций, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… прСдставлСна Π² машинном ΠΊΠΎΠ΄Π΅ Π² Π²ΠΈΠ΄Π΅ Ρ‚. Π½. ΠΎΠΏΠΊΠΎΠ΄Π° β€” Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ· систСмы ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Для удобства программирования вмСсто числовых ΠΎΠΏΠΊΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ процСссор, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΈΡ… условныС Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹Π΅ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠΈ. Набор Ρ‚Π°ΠΊΠΈΡ… ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊ, вмСстС с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ возмоТностями (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°ΠΌΠΈ), называСтся языком ассСмблСра.

КаТдая модСль процСссора ΠΈΠΌΠ΅Π΅Ρ‚ собствСнный Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄, хотя Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… модСлях эти Π½Π°Π±ΠΎΡ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ сильно ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ. Говорят, Ρ‡Ρ‚ΠΎ процСссор A совмСстим с процСссором B, Ссли процСссор A ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Β«ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Β» ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ процСссора B. Если процСссоры A ΠΈ B ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ подмноТСство инструкций, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ΠΈ Π²Π·Π°ΠΈΠΌΠ½ΠΎ совмСстимы, Ρ‚ΠΎ говорят, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Β«Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹Β» (ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠΌΠ°Π½Π΄).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π’Ρ‹ Ρ‡ΠΈΡ‚Π°Π»ΠΈ «Π₯Ρ€ΠΎΠ½ΠΈΠΊΠΈ АмбСра» Π ΠΎΠ΄ΠΆΠ΅Ρ€Π° ЖСлязны? Π’Π°ΠΌ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ эпизод:
Π“Π»Π°Π²Π½Ρ‹ΠΉ Π³Π΅Ρ€ΠΎΠΉ находится Π² Π·Π°Ρ‚ΠΎΡ‡Π΅Π½ΠΈΠΈ. Π’ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠΉ Ρ‚ΡŒΠΌΠ΅. Π£ Π½Π΅Π³ΠΎ Π±Ρ‹Π»ΠΈ Π²Ρ‹ΠΊΠΎΠ»ΠΎΡ‚Ρ‹ Π³Π»Π°Π·Π°, Π½ΠΎ Π·Π° Π³ΠΎΠ΄ ΠΎΠ½ΠΈ Ρ€Π΅Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ, ΠΈ Π·Ρ€Π΅Π½ΠΈΠ΅ постСпСнно ΠΊ Π½Π΅ΠΌΡƒ возвращаСтся.
И ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ Ρ‡ΡƒΠ΄ΠΎΠΌ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΠΌΠ΅Ρ€Π΅ с Π½ΠΈΠΌ оказываСтся Π·Π°Π³Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΉ Π”Π²ΠΎΡ€ΠΊΠΈΠ½ β€” ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ Π›Π°Π±ΠΈΡ€ΠΈΠ½Ρ‚Π°. ИмСнно «Ρ‡ΡƒΠ΄ΠΎΠΌ» β€” ΠΎΠ½ просто появился нСизвСстно ΠΎΡ‚ΠΊΡƒΠ΄Π°. Он Ρ‚ΠΎΠΆΠ΅ находится «Π² Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ», Π½ΠΎ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠšΠΎΡ€Π²ΠΈΠ½Π° (Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ гСроя), ΠΌΠΎΠΆΠ΅Ρ‚ спокойно Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°ΠΌΠ΅Π½Π½Ρ‹Π΅ стСны.
Π£Π΄ΠΈΠ²Π»Π΅Π½Π½Ρ‹ΠΉ ΠšΠΎΡ€Π²ΠΈΠ½ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π΅Π³ΠΎ:
β€” Как Ρ‚Ρ‹ оказался Π² ΠΌΠΎΠ΅ΠΉ ΠΊΠ°ΠΌΠ΅Ρ€Π΅? Π’Π΅Π΄ΡŒ здСсь Π½Π΅Ρ‚ Π΄Π²Π΅Ρ€Π΅ΠΉ.
Π”Π²ΠΎΡ€ΠΊΠΈΠ½ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚:
β€” Π”Π²Π΅Ρ€ΠΈ Π΅ΡΡ‚ΡŒ Π²Π΅Π·Π΄Π΅. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π² Π½ΠΈΡ… Π²ΠΎΠΉΡ‚ΠΈ.
Π‘ΡƒΠ΄Π΅ΠΌ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ это эпиграфом.

1.1. БистСма счислСния

#4. ΠžΡ‡Π΅Π½ΡŒ наглядно это ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ ΠΎΠ±Ρ‹ΠΊΠ½ΠΎΠ²Π΅Π½Π½Ρ‹Π΅ счСты. НабранноС Π½Π° Π½ΠΈΡ… число 35672 Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ. см. рисунок слСва Π² ΠΎΠ±Ρ‰Π΅ΠΌ.

Π­Ρ‚ΠΎ (Ссли свСрху Π²Π½ΠΈΠ· ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ) сколько Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ «ΠΏΡ€ΡƒΡ‚ΠΈΠΊΠ΅» «ΠΊΠΎΡΡ‚ΡΡˆΠ΅ΠΊ» Π²Π»Π΅Π²ΠΎ ΠΎΡ‚ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎ.

#5. ΠŸΠ°Π»ΡŒΡ†Π΅Π² Π½Π° Ρ€ΡƒΠΊΠ°Ρ… Ρƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° 10, поэтому ΠΈ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ Π² систСмС счислСния с основаниСм 10, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² дСсятичной. Если Π²Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ прСдставляСтС сСбС счСты ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡƒΠΏΡ€Π°ΠΆΠ½ΡΠ»ΠΈΡΡŒ Π² Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ чисСл Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ 1, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° систСму счислСния с основаниСм, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΡ‚ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΉ, особого Ρ‚Ρ€ΡƒΠ΄Π° для вас Π½Π΅ составит. НуТно всСго лишь ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбС счСты, Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΡƒΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°Π½ΠΈΠ·Π°Π½ΠΎ Π½Π΅ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Π΅ 10 ΠΊΠΎΡΡ‚ΡΡˆΠ΅ΠΊ, Π°. скаТСм, 9 ΠΈΠ»ΠΈ 8, ΠΈΠ»ΠΈ 16, ΠΈΠ»ΠΈ 32, ΠΈΠ»ΠΈ 2 ΠΈ. ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ мыслСнно ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π° Π½ΠΈΡ….

#6. Для обозначСния дСсятичных чисСл ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΎΡ‚ 0 Π΄ΠΎ 9, для обозначСния чисСл Π² систСмах счислСния с основаниСм ΠΌΠ΅Π½Π΅Π΅ 10 ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‚Π΅ ΠΆΠ΅ Ρ†ΠΈΡ„Ρ€Ρ‹:

Если ΠΆΠ΅ основаниС систСмы счислСния большС дСсяти, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ большС, Ρ‡Π΅ΠΌ Π΄Π΅ΡΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Ρ… Π½Π°ΠΌ чисСл, Ρ‚ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±ΡƒΠΊΠ²Ρ‹ английского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°. НапримСр, для обозначСния чисСл Π² систСмС счислСния с основаниСм 11 «ΠΊΠ°ΠΊ Ρ†ΠΈΡ„Ρ€Π°» Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±ΡƒΠΊΠ²Π° А:

ΠŸΡ€Π°Π²Π΄Π°, ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ основании (ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΎΠΌ?) Π±ΡƒΠΊΠ²Ρ‹ Π°Π³Π»ΠΈΡ†ΠΊΠΎΠ³ΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° закончатся.
Но Π½Π°ΠΌ это, ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ, Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Ρ„ΠΈΠΎΠ»Π΅Ρ‚ΠΎΠ²ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с трСмя radix-Π°ΠΌΠΈ: 10 (Π½Ρƒ СстСствСнно), 16 ΠΈ 2. ΠŸΡ€Π°Π²Π΄Π°, Ссли ΠΊΡ‚ΠΎ Π½Π° Π”Π’Πš ΠΏΠΎΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ это Π΄Π΅Π»ΠΎ собираСтся, Ρ‚ΠΎΠΌΡƒ Π΅Ρ‰Π΅ ΠΈ radix 8 понадобится.

#7. Числа Π² любой систСмС счислСния строятся Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ дСсятичной. Волько Π½Π° «ΡΡ‡Π΅Ρ‚Π°Ρ…» Π½Π΅ с 10, Π° с Π΄Ρ€ΡƒΠ³ΠΈΠΌ количСством ΠΊΠΎΡΡ‚ΡΡˆΠ΅ΠΊ.
НапримСр, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ пишСм дСсятичноС число 123, Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅ΠΌ Π² Π²ΠΈΠ΄Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Если ΠΆΠ΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ символы 123 для прСдставлСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ числа, Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π˜ΡΡ‚ΠΈΠ½Π° Π³Π΄Π΅-Ρ‚ΠΎ рядом.

#8. Π’Ρ€ΡƒΠ΄Π½ΠΎΡΡ‚ΡŒ Ρƒ вас ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΈ использовании символов A, B, C ΠΈ Ρ‚. Π΄. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Ρ€Π°Π· ΠΈ навсСгда, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Π·ΡƒΠ±ΠΎΠΊ Π²Ρ‹Π·ΡƒΠ±Ρ€ΠΈΡ‚ΡŒ ΠΌΠ°-Π°-Π°Π»Π΅Π½ΡŒΠΊΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ‡ΠΊΡƒ «ΡΠΎΠΎΡ‚вСтствия» ΠΌΠ΅ΠΆΠ΄Ρƒ употрСбляСмыми Π² «ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌ Π΄Π΅Π»Π΅» систСм счислСния:

radix 100123456789101112131415
radix 160123456789ABCDEF
radix 201101110010111011110001001101010111100110111101111

БлСдуя этой Ρ‚Π°Π±Π»ΠΈΡ†Π΅, число 5BC Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ «ΡΡ‚роится» Ρ‚Π°ΠΊ:

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли ΠΏΠΎΡ€Π°ΡΠΊΠΈΠ½ΡƒΡ‚ΡŒ ΠΌΠΎΠ·Π³Π°ΠΌΠΈ, с Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅ΠΌ 5BC ΠΈΠ· ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ Π² Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ систСму счислСния:

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ чисСл Π² систСмы счислСния с Π΄Ρ€ΡƒΠ³ΠΈΠΌ основаниСм проводятся Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ. Π‘Ρ‡Π΅Ρ‚Ρ‹! ΠžΠ±Ρ‹ΠΊΠ½ΠΎΠ²Π΅Π½Π½Ρ‹Π΅ счСты, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с «ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠΌ» числом «ΠΊΠΎΡΡ‚ΡΡˆΠ΅ΠΊ» Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ «ΠΏΡ€ΡƒΡ‚ΠΈΠΊΠ΅».

ΠŸΡ€Π°Π²Π΄Π°, этим Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ затрудняСтся ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ происходящСго? А вСдь Ρ‚ΠΎΠΆΠ΅ дСсятичная систСма! И рисунок Ρ†ΠΈΡ„Ρ€ ΠΊΠ°ΠΊ Π±Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΉ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. smile3. Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„ΠΎΡ‚ΠΎ. Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ-smile3. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° smile3. ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄), ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык β€” систСма ΠΊΠΎΠΌΠ°Π½Π΄ (Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ΄ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ) ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, которая интСрпрСтируСтся нСпосрСдствСнно процСссором ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ этой Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹.))
Или Π²ΠΎΠΎΠ±Ρ‰Π΅ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² 256-Ρ€ΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π² качСствС «Ρ€ΠΈΡΡƒΠ½ΠΊΠ° Ρ†ΠΈΡ„Ρ€» Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ASCII-символов! (По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π²Π°ΠΌΠΈ, ΠΈΠ·Π²Ρ€Π°Ρ‰Π΅Π½Ρ†Π°ΠΌΠΈ, любой БиллгСйтс Π±ΡƒΠ΄Π΅Ρ‚ дСвствСнником ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ!!).

#12. Π’Π΅ΠΏΠ΅Ρ€ΡŒ самая интСрСсная Ρ‡Π°ΡΡ‚ΡŒ ΠœΠ°Ρ€Π»Π΅Π·ΠΎΠ½ΡΠΊΠΎΠ³ΠΎ Π±Π°Π»Π΅Ρ‚Π°.
ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, ΠΊΠ°ΠΊ извСстно, считаСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния. Π§Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Π° дСсятичная. Π’Π°ΠΊ Π½Π°Ρ…Ρ€Π΅Π½Π° Π΅Ρ‰Π΅ ΠΈ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΡƒΡŽ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Π·Π½Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ?
ВсС ΠΎΡ‡Π΅Π½ΡŒ просто. Π’ ΡƒΠΌΠ½Ρ‹Ρ… ΠΊΠ½ΠΈΠΆΠΊΠ°Ρ… ΠΏΠΈΡˆΡƒΡ‚, Ρ‡Ρ‚ΠΎ «ΡˆΠ΅ΡΡ‚надцатСричная нотация являСтся ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ прСдставлСния Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… чисСл». Π§Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚?
ΠŸΠ΅Ρ€Π΅Π²Π΅Π΄ΠΈΡ‚Π΅ число A23F ΠΈΠ· ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ «Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ» Π² Π΄Π²ΠΎΠΈΡ‡Π½ΡƒΡŽ. (Один ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² ΠΏ.10.). Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… манипуляций Ρƒ вас Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ 1010001000111111.
А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅Ρ‰Π΅ Ρ€Π°Π· посмотритС Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² ΠΏ. 8. (ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΊΠ°ΠΊ Π±Ρ‹ ΡƒΠΆΠ΅ ΠΈ Π²Ρ‹ΡƒΡ‡ΠΈΠ»ΠΈ) ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎ ΠΆΠ΅ самоС ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² ΡƒΠΌΠ΅ :

#13. ΠšΡΡ‚Π°Ρ‚ΠΈ (навСрняка Π²Ρ‹ это ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅):

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

О спСциализации Π½Π°ΠΌ ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π½ΠΎ, описаниС Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ «Ρ€Π΅Π³ΠΈΡΡ‚Ρ€-ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π±Π°Π·Ρ‹ ΠΊΠ°Π΄Ρ€Π° стСка» Π²Π°ΠΌ вряд Π»ΠΈ ΠΎ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ скаТСт. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для Π½Π°Ρ‡Π°Π»Π° познакомимся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ рСгистрами ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния (РОН), ΠΈ Ρ‚ΠΎ Π½Π΅ со всСми, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ основными, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ своСго Ρ€ΠΎΠ΄Π° «Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌΠΈ лошадками» микропроцСссора.

А сСйчас ΠΌΡ‹ ΠΏΠΎΠ±Π»ΠΈΠΆΠ΅ посмотрим Π½Π° эти «Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ лошадки» микропроцСссора.

НС ΠΏΡ€Π°Π²Π΄Π° Π»ΠΈ, вСсьма ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π² худоТСствСнных Ρ„ΠΈΠ»ΡŒΠΌΠ°Ρ… ΠΏΡ€ΠΎ Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠ²?

ΠŸΡ€ΠΈΡ€ΠΎΠ΄Π° Π½Π΅ Ρ‚Π΅Ρ€ΠΏΠΈΡ‚ пустоты. ΠŸΠΈΡΠ°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ Π² уТас чистый лист Π±ΡƒΠΌΠ°Π³ΠΈ.

Π’Π΅ΡΡŒΠΌΠ° скоро ΠΈ Π²Ρ‹ ΠΏΡ€ΠΈ Π²ΠΈΠ΄Π΅ «ΠΏΡƒΡΡ‚Ρ‹Ρ…» рСгистров Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΡ‹Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»ΠΈΠΌΠΎΠ΅ наркотичСскоС ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Ρ‡Π΅ΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈΡ… Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ.

Однако ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ сдСлаСм это Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π·, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΠΌ Ρ‚ΠΈΠΏ этих «ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…».

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, Π² ΡƒΠΌΠ½Ρ‹Ρ… ΠΊΠ½ΠΈΠΆΠΊΠ°Ρ… Ρ€ΠΈΡΡƒΡŽΡ‚ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΡ‚ «Π½Π΅Π·Π΄ΠΎΡ€ΠΎΠ²ΡƒΡŽ» схСмку 3 :

А ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΠ½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅.

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ AX Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 72F9h, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ способами:

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 78h рСгистру AH ΠΌΠΎΠΆΠ½ΠΎ двумя способами:

Π’ΠΎ ΠΆΠ΅ самоС, Π½ΠΎ для рСгистра AL:

Π’Π΅Ρ…, ΠΊΠΎΠ³ΠΎ ΡΠΌΡƒΡ‰Π°ΡŽΡ‚ числа с Π±ΡƒΠΊΠ²Π°ΠΌΠΈ, ΠΌΡ‹ со Π·Π»ΠΎΠ²Ρ€Π΅Π΄Π½ΠΎΠΉ ΡƒΡ…ΠΌΡ‹Π»ΠΊΠΎΠΉ отсылаСм ΠΊ 1.1. БистСма счислСния :-]

AX2F4D
AHAL2F4D
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΠΈΡ‚Π°0010111101001101
НомСр Π±ΠΈΡ‚Π°1514131211109876543210
Π’Π΅Ρ‚Ρ€Π°Π΄Ρ‹Π‘Ρ‚Π°Ρ€ΡˆΠ°Ρ AHМладшая AHΠ‘Ρ‚Π°Ρ€ΡˆΠ°Ρ ALМладшая AL

#4. «ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ» ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ рСгистру Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «R», Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ «ΠΈΠΌΡ собствСнноС рСгистра».

выбросит Π²Π°ΠΌ Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ послС двоСточия, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, число 123 ΠΈ снова Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Enter:

На дисплСС ΠΎΠΏΡΡ‚ΡŒ появится ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ «-«, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ «R» Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ вновь просматриваСм значСния Π½Π°ΡˆΠΈΡ… рСгистров:

4). «ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ справа» Π±ΠΈΡ‚ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ «Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ». Однако Π½Π°ΠΌ попадались руководства, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… это ΠΆΠ΅ Π±ΠΈΡ‚ ΠΎΠ±ΠΎΠ·Π²Π°Π½ ΠΊΠ°ΠΊ «ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ». МоТно Π΄ΠΎΠ»Π³ΠΎ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ тонкости русского языка (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΊ соТалСнию, Π½Π΅ всСгда ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ), ΠΎΠ΄Π½Π°ΠΊΠΎ это Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΈΠΌΠ΅ΠΉΡ‚Π΅ это Π²Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ с этим ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ, ΠΈ Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π±Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅, читая Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ.

НапримСр, ΠΊΠΎΠΌΠ°Π½Π΄Π° (ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ L8 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ «Π²Ρ‹Π²Π΅ΡΡ‚ΠΈ 8 Π±Π°ΠΉΡ‚ΠΎΠ²»):

ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ Π΄Π°Ρ‚Ρƒ Π² ΠΏΡ€Π°Π²ΠΎΠΌ столбцС Π΄Π°ΠΌΠΏΠ°.

Π˜Ρ‚Π°ΠΊ, Ρƒ нас Π΅ΡΡ‚ΡŒ опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ загруТаСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ (сразу ΠΆΠ΅ ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π½Π° Enter ΠΈΠ· Norton Commander). ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма, которая, собствСнно, ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, сообщаСт процСссору, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² памяти Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Ρ‚Π°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ адрСса. И здСсь ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹ΠΉ камСнь, Π²Π΅Ρ€Π½Π΅Π΅ скала, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π½Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ.

Каким ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ? А ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ! ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ «Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ‚» ΠΊΠ°ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°ΠΉΡ‚ΠΎΠ². НапримСр, для исполнимых Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‚ΠΈΠΏΠ° com (ΠΈΠΌΠ΅Π½Π½ΠΎ с этим Ρ‚ΠΈΠΏΠΎΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ этапС) достаточно ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ CD ΠΈ 20.

ΠŸΡ€ΠΎΠ±ΡƒΠ΅ΠΌ-провСряСм? Ну ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅! Волько для этого Π²Π°ΠΌ понадобится ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, HexWorkshop.

Π—Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ это вашС ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈΠ΅ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΠ· Norton ΠΈΠ»ΠΈ Volcov Commander (всС ΠΆΠ΅ это ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ DOS’овская ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒΠ»ΡŒΠΊΠ°).

ПослСднСС ΠΈ являСтся СдинствСнным, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ ΠΈΠ· памяти).

Π’ΠΎΡ‚ ΠΈ Π΄Π°Π²Π°ΠΉΡ‚Π΅ создадим Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‚ΠΈΠΏΠ° com со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ «ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΌ содСрТимым»:

На высоком ΡƒΡ€ΠΎΠ²Π½Π΅ это Π΄Π΅Π»Π°Π΅Ρ‚ опСрационная систСма. НапримСр, ΠΎΠ½Π° Π½Π΅ пытаСтся Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ для выполнСния Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΎΡ‚ COM, EXE ΠΈ BAT (послСдний Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΈΠ· этой ΠΎΠΏΠ΅Ρ€Ρ‹, Π½ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ сохраняСтся).

ΠŸΠΎΡ‡Ρ‚ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ эффСкт, Π½ΠΎ с ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ большСй Ρ€Π°Π·Ρ€ΡƒΡˆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ силой ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ, Ссли ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π˜Π‘ΠŸΠžΠ Π§Π•ΠΠΠ«Π™ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ «Π² основном» ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ, Π½ΠΎ Ρ‡Π°ΡΡ‚ΡŒ Π΅Π³ΠΎ вмСсто ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… дСйствий Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚, Π° Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ ΠΏΠΎΡ€Ρ‚ΠΈΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ΄ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅.

#4. Π•Ρ‰Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΠΈ. О ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, которая выполняСтся Π² памяти.

БоотвСтствСнно, ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° состоит ΠΈΠ· Ρ‚Ρ€Π΅Ρ… частСй (сСгмСнтов): сСгмСнта Π΄Π°Π½Π½Ρ‹Ρ… (data), сСгмСнта ΠΊΠΎΠ΄Π° (code) ΠΈ сСгмСнта стСка (stack).

ΠžΡΡ‚Π°Π²ΠΈΠΌ ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ «Π³Π½ΠΈΠ»ΠΎΠΉ Π±Π°Π·Π°Ρ€» ΠΏΡ€ΠΎ смысл словосочСтаний «Ρ€Π΅Π΅Π½Ρ‚Π΅Ρ€Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΉ/рСкурсивный ΠΊΠΎΠ΄» ΠΈ «Π°Π΄Ρ€Π΅Ρ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°». Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡ‚ΡŒ сСбС ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ происходящСго, ΠΌΡ‹ попытаСмся Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ всСх этих ΡƒΠΆΠ°ΡΠ°ΡŽΡ‰ΠΈΡ… Π²Π΅Ρ‰Π΅ΠΉ ΠΈ для Π½Π°Ρ‡Π°Π»Π° Π·Π°Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ΄ΠΎΠΌ.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹, ΠΈ «Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚» Π² #2. НСмноТко Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠΌ эту «ΠΏΡ€ΠΎΡΡ‚Ρ‹Π½ΡŽ». НапримСр, ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ «Π²Π½Π΅ΡΡ‚ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅» 1234 ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· «Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΎΠ² ΠΎΠ±Ρ‰Π΅Π³ΠΎ пользования»:

Π’ этом Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ² Π²Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ myprg_1.com Π² debug (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой

А Π²ΠΎΡ‚ дальшС начинаСтся самоС интСрСсноС Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. smile3. Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„ΠΎΡ‚ΠΎ. Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ-smile3. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° smile3. ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄), ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык β€” систСма ΠΊΠΎΠΌΠ°Π½Π΄ (Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ΄ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ) ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, которая интСрпрСтируСтся нСпосрСдствСнно процСссором ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ этой Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹.))

#7. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ:

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΠ²ΡˆΠΈΡΡŒ ΠΊ #2, пСрСнСсСм сюда «ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅» ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄.

БоотвСтствСнно, вмСсто ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ² ΠΌΡ‹ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠ³Π»ΠΈ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «A» (ΠΎΠ΄Π½Π°ΠΊΠΎ этим ΠΌΡ‹ займСмся ΠΏΠΎΠ·ΠΆΠ΅).

Π˜Ρ‚Π°ΠΊ, Π²Π²ΠΎΠ΄ΠΈΠΌ «T» ΠΈ ΠΆΠΌΠ΅ΠΌ Π½Π° Enter!

Π’Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «T» снова:.

Π’Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «T» снова:.

Π’Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «T» снова:

«ΠŸΡ€ΠΈΠ±Π°Π²ΠΈΡ‚ΡŒ содСрТимоС AX ΠΊ BX». Оно? А Ρ‚ΠΎ!

Π’Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «T» снова:

«ΠŸΠ΅Ρ€Π΅ΡΠ»Π°Ρ‚ΡŒ содСрТимоС BX Π² CX». Π‘Π΄Π΅Π»Π°Π½ΠΎ!

Π’Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «T» снова:

«ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° AX»? И Ρ‚ΠΎΡ‡Π½ΠΎ: AX=0000!

Π’Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «T» снова. И Π“Π ΠžΠœΠšΠž Π Π£Π“ΠΠ•ΠœΠ‘Π―!!

Для Ρ‚Π΅Ρ…, ΠΊΠΎΠΌΡƒ лСнь ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ ΠΆΠ°Ρ‚ΡŒ Π½Π° Π±ΡƒΠΊΠ²Ρƒ «T», Π²Π²Π΅Π΄ΠΈΡ‚Π΅ для разнообразия ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «G» (ΠΎΡ‚ английского GO). На ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π²Π°Π»ΠΈΡ‚ΡŒΡΡ надпись «ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹».

#9. Волько нСпонятно Π²ΠΎΡ‚, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²Π΄Ρ€ΡƒΠ³ ΠΌΠ΅ΠΆΠ΄Ρƒ int 20 (CD 20) ΠΈ надписью «ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹» ΠΊΡƒΡ‡Π° всяких «Π»Π΅Π²Ρ‹Ρ…» нСпонятных ΠΊΠΎΠΌΠ°Π½Π΄ (Π² Ρ‚ΠΎΠΌ случаС, Ссли Π²Ρ‹ ΠΈ дальшС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»ΠΈ тарассировку, Π° Π½Π΅ воспользовались «Ρ…алявной» ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ «G»)?

А ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Π΄ΠΎΡ€ΠΎΠ³ΠΈΠ΅ наши, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΠΌΠ΅Π»ΠΈ ΡΡ‡Π°ΡΡ‚ΡŒΠ΅ Π½Π°Ρ€Π²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ (interrupt)!

Ну, посудитС сами, Π΄ΠΎΠ»ΠΆΠ½Π° ΠΆΠ΅ опСрационная систСма Π½Ρƒ Ρ…ΠΎΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ!!

Π˜Ρ‚Π°ΠΊ, я Π΄ΠΎΡΡ‚Π°ΡŽ свой толстый Ρ‚Π°Π»ΠΌΡƒΠ΄ с описаниСм ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽ, ΠΊΠ°ΠΊΠΈΠΌ Π±Ρ‹ это ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ΠΌ вас Π·Π°Π½ΡΡ‚ΡŒ Π½Π° блиТайшиС 1/2 часа ;).

Ну, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎΡ‚ ΠΎΠ΄Π½ΠΎ симпатичноС, ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ «ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ Π²Π²Π΅Ρ€Ρ… Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ страницу».

Π’Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌ описаниС (ΠΈ наши ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ):

Π”Π°Π»Π΅Π΅ прСдставим Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ‡ΠΊΠΈ: (_7)

AH06hALЧисло строк
BHАтрибутBLНС ΠΈΠΌΠ΅Π΅Ρ‚ значСния
CHΠ‘Ρ‚Ρ€ΠΎΠΊΠ° (Π²Π΅Ρ€Ρ…)CLΠ‘Ρ‚ΠΎΠ»Π±Π΅Ρ† (Π²Π΅Ρ€Ρ…)
DHΠ‘Ρ‚Ρ€ΠΎΠΊΠ° (Π½ΠΈΠ·)DLΠ‘Ρ‚ΠΎΠ»Π±Π΅Ρ† (Π½ΠΈΠ·)

Плюс ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅ΠΉΡˆΠ΅Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ подразумСваСтся ΠΏΠΎΠ΄ словом «Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚» (рСгистр BH):

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *