Мова асэмблера | |
---|---|
Дата заснавання / стварэння | 1949 |
Вытворная праца | GNU assembler[d] |
Парадыгма праграмавання | неструктураванае праграмаванне[d] |
Пашырэнне файла |
.asm або .s [1] |
Медыяфайлы на Вікісховішчы |
Мова асэмблера (скарочана ASM або asm) — гэта мова праграмавання нізкага ўзроўню, у якой інструкцыі, зразумелыя чалавеку, адпавядаюць інструкцыям машыннага кода ў пэўнай архітэктуры камп’ютара. Мова асэмблера звычайна мае адзін аператар на машынную інструкцыю, але таксама падтрымлівае канстанты, каментарыі, меткі адрасоў у памяці і іншы дапаможны функцыянал.
Паколькі мова асэмблера залежыць ад інструкцый машыннага кода, для кожнай канкрэтнай архітэктуры камп’ютара існуе ўласная мова асэмблера. Часам існуе некалькі моў асэмблера для адной і той жа архітэктуры, а часам мова асэмблера спецыфічная для аперацыйнай сістэмы або пэўных аперацыйных сістэм. Большасць моў асэмблера можа ўніверсальна выкарыстоўвацца з любой аперацыйнай сістэмай, бо мова дае доступ да ўсіх рэальных магчымасцей працэсара без неабходнасці выкарыстання сістэмных выклікаў. У адрозненне ад праграм на мовах асэмблера, большасць праграм на мовах праграмавання высокага ўзроўню можна перанесці на розныя архітэктуры, але для гэтага патрэбна рэалізаваць інтэрпрэтатар або кампілятар на ўзроўні аперацыйнай сістэмы.
У першыя дзесяцігоддзі стварэння камп’ютарных праграм і сістэмныя, і прыкладныя праграмы звычайна былі напісаны цалкам на мове асэмблера. На цяперашні час мовы асэмблера незаменныя для некаторых мэт, аднак большасць праграм пішуцца на мовах высокага ўзроўню. У кнізе «No Silver Bullet» Фрэд Брукс рэзюмаваў наступствы адыходу ад праграмавання на мовах асэмблера: «Безумоўна, самым моцным штуршком для прадукцыйнасці, надзейнасці і прастаты праграмнага забеспячэння стала прагрэсіўнае выкарыстанне моў высокага ўзроўню для праграмавання. Большасць назіральнікаў звязваюць яго з прынамсі 5-кратным ростам прадукцыйнасці і адначасовым ростам надзейнасці, прастаты і зразумеласці».
Сёння невялікая колькасць кода асэмблера выкарыстоўваецца ў вялікіх сістэмах, рэалізаваных на мове больш высокага ўзроўню, для павелічэння прадукцыйнасці або для непасрэднага ўзаемадзеяння з камп’ютарным абсталяваннем, якое немагчыма на мове больш высокага ўзроўню. Напрыклад, у зыходным кодзе ядра Linux версіі 4.9 мова асэмблера займае крыху менш за 2 %; больш за 97 % напісана на C[2].