Мова асэмблера
Мова асэмблера (скарочана ASM або asm) - гэта мова праграмавання нізкага ўзроўню, у якой інструкцыі, зразумелыя чалавеку, адпавядаюць інструкцыям машыннага кода ў пэўнай архітэктуры камп’ютара. Мова асэмблера звычайна мае адзін аператар на машынную інструкцыю, але таксама падтрымлівае канстанты, каментарыі, меткі адрасоў у памяці і іншы дапаможны функцыянал.
Паколькі мова асэмблера залежыць ад інструкцый машыннага кода, для кожнай канкрэтнай архітэктуры камп’ютара існуе ўласная мова асэмблера. Часам існуе некалькі моў асэмблера для адной і той жа архітэктуры, а часам мова асэмблера спецыфічная для аперацыйнай сістэмы або пэўных аперацыйных сістэм. Большасць моў асэмблера можа ўніверсальна выкарыстоўвацца з любой аперацыйнай сістэмай, бо мова дае доступ да ўсіх рэальных магчымасцей працэсара без неабходнасці выкарыстання сістэмных выклікаў. У адрозненне ад праграм на мовах асэмблера, большасць праграм на мовах праграмавання высокага ўзроўню можна перанесці на розныя архітэктуры, але для гэтага патрэбна рэалізаваць інтэрпрэтатар або кампілятар на ўзроўні аперацыйнай сістэмы.
У першыя дзесяцігоддзі стварэння камп’ютарных праграм і сістэмныя, і прыкладныя праграмы звычайна былі напісаны цалкам на мове асэмблера. На цяперашні час мовы асэмблера незаменныя для некаторых мэт, аднак большасць праграм пішуцца на мовах высокага ўзроўню. У кнізе «No Silver Bullet» Фрэд Брукс рэзюмаваў наступствы адыходу ад праграмавання на мовах асэмблера: «Безумоўна, самым моцным штуршком для прадукцыйнасці, надзейнасці і прастаты праграмнага забеспячэння стала прагрэсіўнае выкарыстанне моў высокага ўзроўню для праграмавання. Большасць назіральнікаў звязваюць яго з прынамсі 5-кратным ростам прадукцыйнасці і адначасовым ростам надзейнасці, прастаты і зразумеласці».
Сёння невялікая колькасць кода асэмблера выкарыстоўваецца ў вялікіх сістэмах, рэалізаваных на мове больш высокага ўзроўню, для павялічэння прадукцыйнасці або для непасрэднага ўзаемадзеяння з камп’ютарным абсталяваннем, якое немагчыма на мове больш высокага ўзроўню. Напрыклад, ў зыходным кодзе ядра Linux версіі 4.9 мова асэмблера займае крыху менш за 2 %; больш за 97% напісана на C.[1]
Зноскі
- ↑ linux kernel mainline 4.9 sloccount.txt (англ.). Gist.
Гл. таксама[правіць | правіць зыходнік]
Спасылкі[правіць | правіць зыходнік]
- Праграмаванне на мове асэмблера Unix (англ.)
- Мова асэмблера Linux (англ.)
- NASM – The Netwide Assembler (англ.)
- Прыклады праграмавання на мове асэмблера (англ.)