Investor's wiki

Язык ассемблера

Язык ассемблера

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

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

Π―Π·Ρ‹ΠΊΠΈ программирования Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ язык ассСмблСра, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ ΡΠ²ΡΠ·ΡƒΡŽΡ‰ΠΈΠΌ Π·Π²Π΅Π½ΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ обСспСчСниСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ языками программирования Π±ΠΎΠ»Π΅Π΅ высокого уровня, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Python ΠΈΠ»ΠΈ JavaScript, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΈΡˆΡƒΡ‚ΡΡ соврСмСнныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Как Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ языки ассСмблСра

По сути, самыС основныС инструкции, выполняСмыС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹, состоящиС ΠΈΠ· Π΅Π΄ΠΈΠ½ΠΈΡ† ΠΈ Π½ΡƒΠ»Π΅ΠΉ. Π­Ρ‚ΠΈ ΠΊΠΎΠ΄Ρ‹ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ пСрСводятся Π² состояния Β«Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎΒ» ΠΈ Β«Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎΒ» элСктричСства, проходящСго Ρ‡Π΅Ρ€Π΅Π· физичСскиС схСмы ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. По сути, эти простыС ΠΊΠΎΠ΄Ρ‹ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ основу «машинного языка», самой Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ разновидности языка программирования.

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

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

Π Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ языка ассСмблСра

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

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

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ

  • Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ мост ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ ΠΈ Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΌΠΈ Π² ΠΈΡ… основС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ.

  • Π―Π·Ρ‹ΠΊ ассСмблСра β€” это Ρ‚ΠΈΠΏ языка программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ языки высокого уровня Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык.

  • БСгодня языки ассСмблСра Ρ€Π΅Π΄ΠΊΠΎ ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, хотя ΠΎΠ½ΠΈ всС Π΅Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΠΈΡˆΠ΅Π²Ρ‹Ρ… прилоТСниях, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° трСбования ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ особСнно высоки.