ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°

Π―Π·Ρ‹ΠΊ ассСмблСра ΠΏΡ€ΠΎΡ‚ΠΈΠ² машинного языка

ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°. assembly language vs machine language. ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π° Ρ„ΠΎΡ‚ΠΎ. ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°-assembly language vs machine language. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° assembly language vs machine language. ВсС языки программирования ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ извСстны ΠΊΠ°ΠΊ синтаксис. Π­Ρ‚ΠΈ синтаксисы языков ΡΠ²Π»ΡΡŽΡ‚ΡΡ тСкстовыми. ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ программистами для создания Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π―Π·Ρ‹ΠΊ ассСмблСра ΠΏΡ€ΠΎΡ‚ΠΈΠ² машинного языка

ВсС языки программирования ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ извСстны ΠΊΠ°ΠΊ синтаксис. Π­Ρ‚ΠΈ синтаксисы языков ΡΠ²Π»ΡΡŽΡ‚ΡΡ тСкстовыми. ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ программистами для создания Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π―Π·Ρ‹ΠΊ программирования ΡˆΠΈΡ€ΠΎΠΊΠΎ подраздСляСтся Π½Π° 3 ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ:

Π―Π·Ρ‹ΠΊ высокого уровня программистам Π»Π΅Π³ΠΊΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ здСсь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ простой ΠΈ Π»Π΅Π³ΠΊΠΈΠΉ синтаксис для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: Python, C, C ++ ΠΈ Ρ‚. Π”. Π­Ρ‚ΠΈ синтаксисы Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ поняты процСссором; ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ½ прСобразуСтся Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ CPU ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ компилятора ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°.

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅,

ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°. assembly language vs machine language. ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π° Ρ„ΠΎΡ‚ΠΎ. ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°-assembly language vs machine language. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° assembly language vs machine language. ВсС языки программирования ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ извСстны ΠΊΠ°ΠΊ синтаксис. Π­Ρ‚ΠΈ синтаксисы языков ΡΠ²Π»ΡΡŽΡ‚ΡΡ тСкстовыми. ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ программистами для создания Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°. assembly language vs machine language 2. ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π° Ρ„ΠΎΡ‚ΠΎ. ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°-assembly language vs machine language 2. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° assembly language vs machine language 2. ВсС языки программирования ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ извСстны ΠΊΠ°ΠΊ синтаксис. Π­Ρ‚ΠΈ синтаксисы языков ΡΠ²Π»ΡΡŽΡ‚ΡΡ тСкстовыми. ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ программистами для создания Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ΠŸΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ рисунок прСдставляСт ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык, язык ассСмблСра ΠΈ язык высокого уровня Π² ясной Ρ„ΠΎΡ€ΠΌΠ΅.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ 12-Π±ΠΈΡ‚Π½ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ машинного языка. Π­Ρ‚Π° инструкция Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° Π΄Π²Π΅ части: ΠΊΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ) ΠΈ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄.

Код ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ 001, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ 010001110.

Наряду с Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ΠΌ дСсятков ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Ρ… Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, программист Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ адрСса для всСх элСмСнтов Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык считаСтся слоТным ΠΈ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Π½Ρ‹ΠΌ ошибкам.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π»ΠΈΡ†ΠΎΠΌ ΠΊ Π»ΠΈΡ†Ρƒ языка ассСмблСра с ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ языком (ΠΈΠ½Ρ„ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΊΠ°)

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ 7 Π³Π»Π°Π²Π½Ρ‹Ρ… ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ языком ассСмблСра ΠΈ языком машинного. ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°. assembly language vs machine language 2. ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π° Ρ„ΠΎΡ‚ΠΎ. ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°-assembly language vs machine language 2. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° assembly language vs machine language 2. ВсС языки программирования ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ извСстны ΠΊΠ°ΠΊ синтаксис. Π­Ρ‚ΠΈ синтаксисы языков ΡΠ²Π»ΡΡŽΡ‚ΡΡ тСкстовыми. ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ программистами для создания Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ различия ΠΌΠ΅ΠΆΠ΄Ρƒ языком ассСмблСра ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ языком

Π”Π°Π²Π°ΠΉΡ‚Π΅ обсудим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ основныС различия ΠΌΠ΅ΠΆΠ΄Ρƒ языком ассСмблСра ΠΈ языком машинного:

Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ язык ассСмблСра ΠΈ машинного языка

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° Π»ΡƒΡ‡ΡˆΠ΅Π΅ сравнСниС ΠΌΠ΅ΠΆΠ΄Ρƒ языком ассСмблСра ΠΈ языком машин.

Π’Ρ‹Π²ΠΎΠ΄

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

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ

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

3.1. ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык ΠΈ ассСмблСр

На своСм Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ микропроцСссор Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° список ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ машинной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. На рис. 3.1, Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ содСрТимоС памяти, ΡΠ²Π»ΡΡŽΡ‰Π΅Π΅ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π½Π° машинном языкС. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° начинаСтся с адрСса 2000Н с содСрТимым КОП ОО11 11102 ΠΈ оканчиваСтся адрСсом 2006Н с содСрТимым 0111 01102. Π§Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π² Ρ‚Π°ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° машинном языкС Π½Π° рис. 3.1, Π° становится нСсколько ΠΏΡ€ΠΎΡ‰Π΅ для восприятия, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° прСдставлСна Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ (Н-ΠΊΠΎΠ΄Π΅), ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рис. 3.1, Π±. Однако, хотя Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, эта Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ всСгда рассматриваСтся ΠΊΠ°ΠΊ заданная Π½Π° машинном языкС ΠΈ оказываСтся Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΠΉ для понимания.

Π’ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ записанная Π½Π° машинном языкС ΠΎΠ½Π° ΠΌΠΎΠ³Π»Π° Π±Ρ‹ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

1. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ число (1011 0100) Π² аккумулятор.

Π˜Π½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Π±ΠΈΡ‚ содСрТимого аккумулятора.

ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ инвСрсии Π² ячСйку памяти Π΄Π°Π½Π½Ρ‹Ρ… 2100Н.

Π’ этой части осущСствляСтся ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ 8-разрядного числа Π² Π΅Π³ΠΎ эквивалСнт Π² инвСрсной Ρ„ΠΎΡ€ΠΌΠ΅.

ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°. pic16 2. ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π° Ρ„ΠΎΡ‚ΠΎ. ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°-pic16 2. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° pic16 2. ВсС языки программирования ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ извСстны ΠΊΠ°ΠΊ синтаксис. Π­Ρ‚ΠΈ синтаксисы языков ΡΠ²Π»ΡΡŽΡ‚ΡΡ тСкстовыми. ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ программистами для создания Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос: ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΎΡ‚ этой Ρ„ΠΎΡ€ΠΌΡ‹ чСловСчСского языка, ΠΈΠ½ΠΎΠ³Π΄Π° Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ΠΈ слоТной, ΠΊ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ языку? ΠžΡ‚Π²Π΅Ρ‚ состоит Π² использовании языка простого программирования – ΠΎΡ‚ самого высокого уровня Π΄ΠΎ машинного, прСдставлСнного Π½Π° рис. 3.1. АссСмблСр ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ слова ΠΈ Ρ„Ρ€Π°Π·Ρ‹, прСобразуя ΠΈΡ… Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ микропроцСссора.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° языкС ассСмблСр, записанная Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, ΠΌΠΎΠ³Π»Π° Π±Ρ‹ Π±Ρ‹Ρ‚ΡŒ прСдставлСна Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π». 3.1.

Число Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ микропроцСссора Ρ€Π°Π²Π½ΠΎ 78 ΠΈ для Π½ΠΈΡ… ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ 78 ΠΈΠΌΠ΅Π½ ΠΊΠΎΠΌΠ°Π½Π΄. МногиС Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‚ нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, поэтому ΠΎΠ±Ρ‰Π΅Π΅ число ΠΊΠΎΠ΄ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ Ρ€Π°Π²Π½ΠΎ 244.

Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ 244 Π²ΠΎΡΡŒΠΌΠΈΡ€Π°Π·Ρ€ΡΠ΄Π½Ρ‹Ρ… Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠ΄Π° ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ, ΠΈ поэтому ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ ставится Π² соотвСтствиС мнСмоничСскоС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ (ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠ°) ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ являСтся сокращСниСм ΠΎΡ‚ английских слов, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π΅Π΅ дСйствиС. НапримСр, IN 25 – input data at accumulator from port 25. На русский язык пСрСводится Ρ‚Π°ΠΊ – ввСсти Π΄Π°Π½Π½Ρ‹Π΅ Π² аккумулятор ΠΈΠ· ΠΏΠΎΡ€Ρ‚Π° с адрСсом 25.

ΠœΠ½Π΅ΠΌΠΎΠ½ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄ позволяСт Π»Π΅Π³Ρ‡Π΅ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ написаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π’Π°ΠΊΠΎΠΉ язык написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ называСтся языком ассСмблСра.

А Π·Π°Ρ‚Π΅ΠΌ эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ассСмблСрС Π½Π°Π΄ΠΎ пСрСвСсти Π½Π° язык, понятный микропроцСссору, Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Π²ΠΎΡΡŒΠΌΠΈΡ€Π°Π·Ρ€ΡΠ΄Π½Ρ‹Ρ… чисСл.

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ автоматичСски с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ-трансляторов (кросс-ассСмблСров ΠΈΠ»ΠΈ ассСмблСров) ΠΈΠ»ΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΊΠΎΠ΄ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ микропроцСссор Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° список ΠΊΠΎΠΌΠ°Π½Π΄, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ машинной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. На рис. 3.1 ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: Π°) Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ машинном ΠΊΠΎΠ΄Π΅; Π±) Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ машинном ΠΊΠΎΠ΄Π΅.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° рис. 3.1, Π° начинаСтся с адрСса 2000Н с содСрТимым КОП 001111100 ΠΈ оканчиваСтся адрСсом 2006 с содСрТимым 01110110. Π§Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π² Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅. Π₯отя любая микропроцСссорная систСма Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, прСдставлСнная Π½Π° рис. 3.1, Π±, нСсколько ΠΏΡ€ΠΎΡ‰Π΅ для восприятия, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° прСдставлСна Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, Π½ΠΎ всС Ρ€Π°Π²Π½ΠΎ ΠΎΠ½Π° Ρ‚Ρ€ΡƒΠ΄Π½Π° для понимания. ОбС эти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ написаны Π½Π° машинном языкС.

А ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, записанная Π½Π° машинном языкС, ΠΌΠΎΠ³Π»Π° Π±Ρ‹Ρ‚ΡŒ описана Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ?

1 – Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ число 10110100 Π² аккумулятор;

2 – ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄Π²
ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Π±ΠΈΡ‚ содСрТимого аккумулятора;

3 – ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ инвСрсии Π² ячСйку памяти Π΄Π°Π½Π½Ρ‹Ρ… 2100Н;

4 – ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ микропроцСссор.

Π—Π΄Π΅ΡΡŒ осущСствляСтся ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Π²ΠΎΡΡŒΠΌΠΈΡ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΠ³ΠΎ числа.

Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос: ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΎΡ‚ этой Ρ„ΠΎΡ€ΠΌΡ‹ чСловСчСского языка, ΠΈΠ½ΠΎΠ³Π΄Π° Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ΠΈ слоТной, ΠΊ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ языку.

Π―Π·Ρ‹ΠΊ ассСмблСр ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ слова ΠΈ Ρ„Ρ€Π°Π·Ρ‹, прСобразуя ΠΈΡ… Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ микропроцСссора.

Π‘ΡƒΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ассСмблирования ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½Π° рис. 3.2, Π³Π΄Π΅ вторая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСдставлСна СдинствСнной ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠΎΠΉ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π±ΡƒΠΊΠ² CMA – complement accumulator – ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ содСрТимоС аккумулятора.

Π₯ΠΎΠ΄ ассСмблирования. Π‘Π½Π°Ρ‡Π°Π»Π° Ρ‚Ρ€ΠΈ Π±ΡƒΠΊΠ²Ρ‹ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Ρ‹ Π² ΠΈΡ… эквивалСнт Π² ΠΊΠΎΠ΄Π΅ АБКИ, Π·Π°Ρ‚Π΅ΠΌ эти Ρ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π° АБКИ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ порядок ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ассСмблСра, которая Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΊΠΎΠ΄ инвСрсии содСрТимого аккумулятора Π½Π° машинном языкС – 2FH.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, записанная Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ Π½Π° языкС ассСмблСра, выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° 4 поля:

1 – ΠΏΠΎΠ»Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ; ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅ всСгда;

2 – ΠΏΠΎΠ»Π΅ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠΈ, содСрТит Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΡƒ, ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ. Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ассСмблСра ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ для выполнСния;

3 – ΠΏΠΎΠ»Π΅ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°, содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ рСгистрах, Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ адрСсах, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ;

4 – ΠΏΠΎΠ»Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², Π½Π΅ учитываСтся ассСмблСром ΠΈ ограничиваСтся Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΎΠΉ. ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ позволяСт ΠΏΠΎΠ½ΡΡ‚ΡŒ события Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

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

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ собствСнным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΊΠΎΠ΄ΠΎΠΌ сборки?

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ? Они ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹?

Π­Ρ‚ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ±ΠΈΠ²Π°ΡŽΡ‚ с Ρ‚ΠΎΠ»ΠΊΡƒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π΅ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

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

БобствСнный ΠΊΠΎΠ΄: этот Ρ‚Π΅Ρ€ΠΌΠΈΠ½ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ‚Π΅Ρ… мСстах, Π³Π΄Π΅ имССтся Π² Π²ΠΈΠ΄Ρƒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (см. Π’Ρ‹ΡˆΠ΅). Однако ΠΈΠ½ΠΎΠ³Π΄Π° это слово Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для обозначСния нСуправляСмого ΠΊΠΎΠ΄Π° (см. НиТС).

Π’ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Debug + Windows + Disassembly ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° C #, являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ руководством для этих Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ². Π’ΠΎΡ‚ Π΅Π³ΠΎ аннотированная вСрсия, ΠΊΠΎΠ³Π΄Π° я ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ hello world, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π½Π° C #, Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Release с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ JIT:

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΎΠΊΠ½ΠΎ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈ установитС Ρ„Π»Π°ΠΆΠΎΠΊ Β«ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π±Π°ΠΉΡ‚Ρ‹ ΠΊΠΎΠ΄Π°Β», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

Π― Π½Π΅ Π°Π½Π½ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Π» Π΅Π³ΠΎ, Π² основном ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, сгСнСрированный ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ C #. Π’Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf () сильно отличаСтся ΠΎΡ‚ Π²Ρ‹Π·ΠΎΠ²Π° Console.WriteLine (), Π½ΠΎ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚ΠΎ ΠΆΠ΅ самоС. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ адрСс машинного ΠΊΠΎΠ΄Π° ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠΌΠ½Π΅Π΅ относится ΠΊ символам. ΠŸΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΉ эффСкт Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ послС Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ машинного ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΊ часто Π΄Π΅Π»Π°ΡŽΡ‚ нСуправляСмыС компиляторы. Π― Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ я ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΠ» нСсколько ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ машинного ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ выглядСл ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ C / C ++ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ часто Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. И ΠΎΡ‡Π΅Π½ΡŒ слоТно ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ.

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

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ языком сборки

ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°. what is the difference between machine code and assembly language 3. ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π° Ρ„ΠΎΡ‚ΠΎ. ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°-what is the difference between machine code and assembly language 3. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° what is the difference between machine code and assembly language 3. ВсС языки программирования ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ извСстны ΠΊΠ°ΠΊ синтаксис. Π­Ρ‚ΠΈ синтаксисы языков ΡΠ²Π»ΡΡŽΡ‚ΡΡ тСкстовыми. ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ программистами для создания Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

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

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ области ΠΏΠΎΠΊΡ€Ρ‹Ρ‚Ρ‹

1. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄
— ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ
2. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ язык ассСмблСра
— ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ
3. Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ языком сборки
— Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ основных Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ условия

АссСмблСр, ассСмблСр, ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, языки программирования

ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°. what is the difference between machine code and assembly language 4. ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π° Ρ„ΠΎΡ‚ΠΎ. ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°-what is the difference between machine code and assembly language 4. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° what is the difference between machine code and assembly language 4. ВсС языки программирования ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ извСстны ΠΊΠ°ΠΊ синтаксис. Π­Ρ‚ΠΈ синтаксисы языков ΡΠ²Π»ΡΡŽΡ‚ΡΡ тСкстовыми. ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ программистами для создания Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

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

ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°. what is the difference between machine code and assembly language 3. ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π° Ρ„ΠΎΡ‚ΠΎ. ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°-what is the difference between machine code and assembly language 3. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° what is the difference between machine code and assembly language 3. ВсС языки программирования ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ извСстны ΠΊΠ°ΠΊ синтаксис. Π­Ρ‚ΠΈ синтаксисы языков ΡΠ²Π»ΡΡŽΡ‚ΡΡ тСкстовыми. ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ программистами для создания Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Рисунок 1: ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΊΠ°ΠΊ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык, Он состоит ΠΈΠ· Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ†ΠΈΡ„Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ нулями ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌΠΈ. «Один» ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° истинноС состояниС, Π° «ноль» ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π»ΠΎΠΆΠ½ΠΎΠ΅ состояниС.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ язык ассСмблСра

АссСмблСр являСтся ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ языком ΠΌΠ΅ΠΆΠ΄Ρƒ языком высокого уровня ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. Π­Ρ‚ΠΎ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π²Ρ‹ΡˆΠ΅ машинного ΠΊΠΎΠ΄Π° ΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π½ΠΈΠΆΠ΅ языков высокого уровня. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ синтаксис, ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° английский, Π½ΠΎ ΠΎΠ½ слоТнСС, Ρ‡Π΅ΠΌ языки программирования высокого уровня.

ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°. what is the difference between machine code and assembly language 5. ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π° Ρ„ΠΎΡ‚ΠΎ. ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°-what is the difference between machine code and assembly language 5. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ассСмблСр Ρ€Π°Π·Π½ΠΈΡ†Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° what is the difference between machine code and assembly language 5. ВсС языки программирования ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ извСстны ΠΊΠ°ΠΊ синтаксис. Π­Ρ‚ΠΈ синтаксисы языков ΡΠ²Π»ΡΡŽΡ‚ΡΡ тСкстовыми. ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ программистами для создания Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Рисунок 2: Π―Π·Ρ‹ΠΊ ассСмблСра

Π―Π·Ρ‹ΠΊ ассСмблСра Π±Π»ΠΈΠΆΠ΅ ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ½ считаСтся языком Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня. ΠŸΡ€ΠΈ этом программист Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ структуру рСгистра для написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ассСмблСрС. Π—Π°Ρ‚Π΅ΠΌ ассСмблСр ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ассСмблСрС Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, этот язык Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½ для построСния встроСнных систСм Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ языком ассСмблСра

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅

Бинтаксис

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

ΡƒΡΠ²ΠΎΡΠ΅ΠΌΠΎΡΡ‚ΡŒ

Волько процСссор ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄; ΠΎΠ΄Π½Π°ΠΊΠΎ программист ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ язык ассСмблСра.

Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ

Π”Ρ€ΡƒΠ³ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ языком ассСмблСра состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ зависит ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Но язык ассСмблСра состоит ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° стандартных инструкций.

использованиС

Учитывая использованиС, ЦП ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ для выполнСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, систСмы Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ встроСнныС систСмы Π½Π° основС ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… язык ассСмблСра.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

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

Бсылка:

1. Β«ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄Β». ВикипСдия, Π€ΠΎΠ½Π΄ Π’ΠΈΠΊΠΈΠΌΠ΅Π΄ΠΈΠ°, 24 сСнтября 2018 Π³.

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

Какова связь ΠΌΠ΅ΠΆΠ΄Ρƒ ассСмблСром ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ языком?

Π­Ρ‚ΠΎ язык ассСмблСра ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык (для ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠΉ систСмы), ΠΏΡ€Π°Π²Π΄Π° ΠΆΠ΅? Π•ΡΡ‚ΡŒ Π»ΠΈ различия ΠΌΠ΅ΠΆΠ΄Ρƒ этими двумя понятиями?

9 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²

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

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

Π’Π°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ символичСски:

становится Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ:

ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ «ΠΎΠ΄ΠΈΠ½ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ», ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ языки сборки Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ инструкции ΠΏΠΎ сборкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с нСсколькими инструкциями машинного ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Как использованиС ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΊΠΎΠ΄ «xor R1, R1» ΠΊΠ°ΠΊ «clr R1» ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅.

ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, языки сборки Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ «ΠΌΠ°ΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅», ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π² 80-Ρ… Π³ΠΎΠ΄Π°Ρ…, ΠΊΠΎΠ³Π΄Π° сборка ΡˆΠΈΡ€ΠΎΠΊΠΎ использовалась, ΠΏΡ€ΠΈΠ΄Π°Π²Π°Π»ΠΎ исходному ΠΊΠΎΠ΄Ρƒ Π±ΠΎΠ»Π΅Π΅» высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ». Π― Π»ΠΈΡ‡Π½ΠΎ написал макросы сборки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ выглядСли ΠΊΠ°ΠΊ «plot x, y» ΠΈ «Hex Val», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π― нашСл Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ объяснСниС, ΠΏΠΎΠ΄ΡƒΠΌΠ°Π» ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ здСсь, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ:

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

ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° языкС ассСмблСра (Ρ‚. Π΅. тСкстовый Ρ„Π°ΠΉΠ») пСрСводится Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ язык ассСмблСра. Ля дизассСмблСр выполняСт ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ функция (хотя ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈ ΠΈΠΌΠ΅Π½Π° ярлыков Π±ΡƒΠ΄ΡƒΡ‚ отбрасываСтся Π² процСссС ассСмблСра).

Π² сборкС инструкции Π»Π΅Π³Ρ‡Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ прСдставлСния инструкций CPU.

Π½ΠΎ ассСмблСр Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΡŽ:

Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ сборку Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»Π΅Π³Ρ‡Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ, особСнно ΠΊΠΎΠ³Π΄Π° расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ адрСсами ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

каТдая инструкция ΠΏΠΎ сборкС ΠΈΠΌΠ΅Π΅Ρ‚ эквивалСнт машинного языка. x86 ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… инструкций, Π½ΠΎ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π»ΠΈΠ½ΠΎΠΉ Π΄ΠΎ 15 Π±Π°ΠΉΡ‚ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ прСфиксы)

язык уровня сборки-ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΡΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ шаг ΠΊ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΡŽ программирования, позволяя программистам ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΡƒ вмСсто Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (машинного ΠΊΠΎΠ΄Π°).

Машина Π―Π·Ρ‹ΠΊ:

АссСмблСра:

язык ассСмблСра сначала прСобразуСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык сборщиком. ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ хранится Π² памяти (RAM) процСссор / Ρ‡Π°ΡˆΠΊΠ° принСсти Π΅Π³ΠΎ ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² памяти для рСгистрации ΠΈ слСдуйтС инструкциям, установлСнным ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ.

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

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

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

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