Мова асэмблера

З Вікіпедыі, свабоднай энцыклапедыі

Мова асэмблера (скарочана ASM або asm) — гэта мова праграмавання нізкага ўзроўню, у якой інструкцыі, зразумелыя чалавеку, адпавядаюць інструкцыям машыннага кода ў пэўнай архітэктуры камп’ютара. Мова асэмблера звычайна мае адзін аператар на машынную інструкцыю, але таксама падтрымлівае канстанты, каментарыі, меткі адрасоў у памяці і іншы дапаможны функцыянал.

Паколькі мова асэмблера залежыць ад інструкцый машыннага кода, для кожнай канкрэтнай архітэктуры камп’ютара існуе ўласная мова асэмблера. Часам існуе некалькі моў асэмблера для адной і той жа архітэктуры, а часам мова асэмблера спецыфічная для аперацыйнай сістэмы або пэўных аперацыйных сістэм. Большасць моў асэмблера можа ўніверсальна выкарыстоўвацца з любой аперацыйнай сістэмай, бо мова дае доступ да ўсіх рэальных магчымасцей працэсара без неабходнасці выкарыстання сістэмных выклікаў. У адрозненне ад праграм на мовах асэмблера, большасць праграм на мовах праграмавання высокага ўзроўню можна перанесці на розныя архітэктуры, але для гэтага патрэбна рэалізаваць інтэрпрэтатар або кампілятар на ўзроўні аперацыйнай сістэмы.

У першыя дзесяцігоддзі стварэння камп’ютарных праграм і сістэмныя, і прыкладныя праграмы звычайна былі напісаны цалкам на мове асэмблера. На цяперашні час мовы асэмблера незаменныя для некаторых мэт, аднак большасць праграм пішуцца на мовах высокага ўзроўню. У кнізе «No Silver Bullet» Фрэд Брукс рэзюмаваў наступствы адыходу ад праграмавання на мовах асэмблера: «Безумоўна, самым моцным штуршком для прадукцыйнасці, надзейнасці і прастаты праграмнага забеспячэння стала прагрэсіўнае выкарыстанне моў высокага ўзроўню для праграмавання. Большасць назіральнікаў звязваюць яго з прынамсі 5-кратным ростам прадукцыйнасці і адначасовым ростам надзейнасці, прастаты і зразумеласці».

Сёння невялікая колькасць кода асэмблера выкарыстоўваецца ў вялікіх сістэмах, рэалізаваных на мове больш высокага ўзроўню, для павелічэння прадукцыйнасці або для непасрэднага ўзаемадзеяння з камп’ютарным абсталяваннем, якое немагчыма на мове больш высокага ўзроўню. Напрыклад, у зыходным кодзе ядра Linux версіі 4.9 мова асэмблера займае крыху менш за 2 %; больш за 97 % напісана на C[1].

Зноскі

  1. linux kernel mainline 4.9 sloccount.txt (англ.). Gist. Праверана 5 студзеня 2023.

Гл. таксама[правіць | правіць зыходнік]

Спасылкі[правіць | правіць зыходнік]