www.wikidata.uk-ua.nina.az
Ne plutati z Asemblerom komp yuternoyu programoyu translyatorom Mova asemblera angl assembly language mova programuvannya nizkogo rivnya dlya programovanoyi obchislyuvalnoyi sistemi mikroprocesora mikrokontrolera komp yutera abo inshogo programovanogo pristroyu v yakij isnuye suvora vidpovidnist mizh operatorami movi ta mashinnimi komandami 2 Asembler takozh nazivayut simvolichnim mashinnim kodom abo mnemokodom Mova asembleraParadigma nestrukturovane programuvannyadData poyavi 1949Zvichajni rozshirennya fajliv asm abo s 1 Mova asemblera u VikishovishiListing Motorola MC6800 Assembly yakij pokazuye originalnij tekst programi ta zgenerovani mashinni kodiKozhna mova asemblera specifichna dlya konkretnoyi komp yuternoyi arhitekturi Na vidminu vid cogo programi na movah programuvannya visokogo rivnya yak pravilo zdatni vikonuvatisya na dekilkoh arhitekturah hocha vimagayut specifichnoyi dlya platformi interpretaciyi abo kompilyaciyi Programa movoyu asemblera peretvoryuyetsya u vikonuvanij mashinnij kod za dopomogoyu programi asemblera Proces peretvorennya nazivayut asemblyuvannyam abo zbirkoyu angl assembly assembling U bilshosti vipadkiv cej proces vidbuvayetsya u dva etapi asemblyuvannya i komponuvannya 3 angl linking Zmist 1 Asembler 2 Opis movi asemblera 2 1 Perevagi i nedoliki 2 2 Direktivi 3 Vikoristannya movi 3 1 Istorichni vidomosti 3 2 Zastosuvannya u ninishnij chas 3 3 Prikladi zastosuvan 4 Prikladi 5 Div takozh 6 Dzherela 7 Primitki 8 PosilannyaAsembler RedaguvatiDokladnishe AsemblerAsembler angl assembler skladalnik komp yuterna programa sho generuye ob yektnij dvijkovij kod z zadanoyi yak pravilo u tekstovomu viglyadi poslidovnosti mashinnih instrukcij Kozhna instrukciya maye svoyu mnemoniku i skladayetsya z simvolichnoyi nazvi napriklad MOV vid angl move peremistiti za yakoyu opcionalno mozhut sliduvati operandi Asembler takozh obchislyuye znachennya konstant i zdijsnyuye rezolving simvolichnih imen i yaksho potribno zapisuye u ob yektnij fajl adresi yaki potribno modifikuvati pid chas komponuvannya chi zavantazhuvannya programi 4 Vikoristannya simvolnih posilan i avtomatizaciya obchislen adres ye odniyeyu z klyuchovih osoblivostej asemblera yaka zvilnyaye programista vid kropitkih ruchnih obchislen yaki dovodilosya b robiti navit pri dodavanni chi viluchenni odniyeyi instrukciyi programi Bilshist asembleriv takozh mayut makrokomandi sho dozvolyayut zaminyuvati u programi povtoryuvani fragmenti kodu viklikom makrosa U prostomu vipadku asembler perevodit odnu operaciyu mashinnu komandu z parametrami pochatkovoyi programi u vidpovidnij mashinnij kod tak zvana translyaciya odin v odin Pri comu vzayemne roztashuvannya kodiv instrukcij u ob yektnomu moduli viznachayetsya poryadkom operacij u pochatkovij programi i povnistyu zalezhit vid programista Dlya rozshirennya mozhlivostej nizkorivnevogo programuvannya asembleri mozhut realizovuvati pidtrimku makrokomand grup komand sho mozhut vstavlyatisya do programi potribnu kilkist raziv V comu vipadku pered translyaciyeyu provoditsya zamina makrokomand makrorozshirennyami poslidovnostyami komand na bazovij movi vidpovidno do makrooznachen U ostannih zadayetsya prototip makrokomandi zi strukturoyu spisku parametriv i procedura generuvannya makrorozshirennya Translyator sho vikonuye funkciyi makrogeneratora i asemblera nazivayetsya makroasemblerom Pri translyaciyi z mov visokogo rivnya asembler neridko vikoristovuyetsya dlya vikonannya zavershalnoyi fazi translyaciyi Translyaciya zazvichaj vimagaye dvoh pereglyadiv pochatkovoyi programi pri pershomu pereglyadi zdijsnyuyetsya rozpodil pam yati i nadannya znachen simvolichnim imenam pri drugomu formuyetsya robocha programa u viglyadi ob yektnogo fajlu V procesi translyaciyi asembler provodit povnij sintaksichnij kontrol pochatkovoyi programi zabezpechuyuchi pri comu dostatno tochnu diagnostiku pomilok za miscem i harakterom Vvazhayetsya kim sho mova asemblera ye nizkorivnevoyu na protivagu movam programuvannya visokogo rivnya sho chastkovo chi povnistyu abstraguyutsya vid detalej realizaciyi komand procesora Chim nizhchij riven movi programuvannya tim blizhcha specifika roboti programi do samogo procesora dlya yakogo vona j bula napisana Vvazhayetsya kim sho movi nizkogo rivnya skladnishi j potrebuyut bilsh vuzkoyi specializaciyi programista oskilki programa napisana na asembleri dlya odnogo tipu procesoriv viyavitsya ne zavzhdi pridatnoyu dlya roboti z inshimi procesorami Z inshogo boku programi napisani na asembleri kompaktni ta shvidki sho tezh vazhlivo Opis movi asemblera RedaguvatiCej rozdil ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cej rozdil dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno Komandi movi asemblera vidpovidayut mashinnim kodam vidpovidnogo mikroprocesora chi mikrokontrolera Faktichno mova asemblera yavlyaye soboyu zruchnishu simvolnu formu zapisu mashinnih komand Yak naslidok programi napisani dlya odnogo tipu procesoriv na inshomu ne budut funkcionuvati Mova asemblera takozh mistit zasobi dlya stvorennya mitok ta perehodiv sho neobhidno dlya stvorennya cikliv ta rozgaluzhen Mozhut buti nayavni zasobi dlya stvorennya makrosiv procedur Kozhne simejstvo modelnij ryad mikroprocesoriv maye svij nabir komand i vidpovidno svij nabir instrukcij na movi asemblera Perevagi i nedoliki Redaguvati minimalna kilkist nadlishkovogo kodu vikoristannya menshoyi kilkosti komand ta zvernen v pam yat Yak naslidok velika shvidkist i menshij rozmir programi veliki obsyagi kodu velike chislo dodatkovih dribnih zavdan pogana chitabelnist kodu trudnoshi pidtrimki nalagodzhennya dodavannya mozhlivostej trudnoshi realizaciyi paradigm programuvannya ta bud yakih inshih skilki nebud skladnih konvencij skladnist spilnoyi rozrobki menshu kilkist dostupnih bibliotek yih mala sumisnist bezposerednij dostup do aparaturi portam vvedennya vivedennya osoblivim registram procesora maksimalna pidgonka dlya potribnoyi platformi vikoristannya specialnih instrukcij tehnichnih osoblivostej zaliza nemozhlivist roboti na platformah z inshoyu nesumisnoyu arhitekturoyu Direktivi Redaguvati Div takozh Direktiva programuvannya Krim instrukcij programa mozhe mistiti direktivi komandi sho ne perevodyatsya bezposeredno v mashinni instrukciyi a keruyut robotoyu kompilyatora Nabir i sintaksis yih znachno riznyatsya i zalezhat ne vid aparatnoyi platformi a vid vikoristovuvanogo kompilyatora porodzhuyuchi dialekti mov v mezhah odnogo simejstva arhitektur Yak nabir direktiv mozhna vidiliti viznachennya danih konstant i zminnih keruvannya organizaciyeyu programi v pam yati i parametrami vihidnogo fajlu zavdannya rezhimu roboti kompilyatora vsilyaki abstrakciyi tobto elementi mov visokogo rivnya vid oformlennya procedur i funkcij dlya sproshennya realizaciyi paradigmi procedurnogo programuvannya do umovnih konstrukcij i cikliv dlya paradigmi strukturnogo programuvannya makrosi Vikoristannya movi RedaguvatiIstorichni vidomosti Redaguvati Movi asemblera tak samo yak i vikoristannya slova assembly berut svij pochatok vid pershih EOM zi zberezhennyam programi Odin z pershih asembleriv bulo rozrobleno u 1947 roci Katlin But Kathleen Booth dlya mashini ARC2 v universiteti Birkbek London pislya konsultacij z Dzhonom fon Nojmanom i Germanom Goldstinom u Instituti perspektivnih doslidzhen 5 6 Mashina EDSAC u 1949 roci mala asembler pid nazvoyu initial orders z odnoliternimi mnemonikami 7 Dlya mashin IBM 650 isnuvala programa SOAP Symbolic Optimal Assembly Program napisana Stenom Poli Stan Poley u 1955 mu 8 Movi asemblera dozvolili vivilniti programistiv vid nadzvichajno nizkorivnevih rutinnih i vtomlivih ruchnih procedur yakih potrebuvali pershi komp yuteri zapam yatovuvannya lyudinoyu kodiv komand adres ruchnogo obchislennya adres perehodiv i zmini yih pri kozhnomu dodavanni chi viluchenni komand predstavlennya chisel tosho Priblizno do seredini 1980 h rokiv asembleri shiroko vikoristovuvalisya u programuvanni yak dlya velikih EOM mejnfrejmiv tak i dlya personalnih i mikrokomp yuteriv Vtim progres u rozvitku procesoriv i pam yati sprichiniv aktivnij progres metodiv kompilyaciyi z visokorivnevih mov i poyavu kompilyatoriv sho znachno pidvishuvali produktivnist roboti programista U 21 mu stolitti movi asemblera vikoristovuyutsya tam de potribne pryame keruvannya aparaturoyu dostup do specializovanih instrukcij procesora chi spivprocesoriv abo dlya koduvannya kritichnih do chasu chi rozmiru sekcij programi Tipovimi sferami zastosuvannya asemblera ye drajveri pristroyiv vbudovani sistemi sistemi realnogo chasu yadra OS rezidentni monitori tosho Bagato vazhlivih program bulo napisano cilkom na movi asemblera lishe u 1961 mu z yavilasya persha operacijna sistema Burroughs MCP napisana chastkovo na movi visokogo rivnya algolopodibnij ESPOL Velika kilkist komercijnogo programnogo zabezpechennya dlya mejnfrejmiv IBM takozh napisana na asembleri Bilshist rannih mikrokomp yuteriv obmezhenih u operativnij pam yati potrebuvalo programnogo zabezpechennya napisanogo vruchnu majzhe viklyuchno na asembleri vklyuchno z kodom BIOS diskovoyi operacijnoyi sistemi i velikoyi kilkosti prikladnih program Tipovimi prikladami velikih asemblernih program 1970 80 h rokiv ye BIOS i DOS dlya komp yuteriv IBM PC kompilyator Turbo Pascal pershi programi elektronnih tablic napriklad Lotus 1 2 3 chislenni komp yuterni igri Zastosuvannya u ninishnij chas Redaguvati Z chasiv vinahodu pershih kompilyatoriv jshli debati shodo docilnosti vikoristannya movi asemblera u programuvanni prikladnih zadach Vtim sistemne programuvannya zavzhdi lishalosya osoblivoyu nisheyu de asembler buv i zalishayetsya vazhlivim Movi asemblera dosi vivchayutsya na bilshosti kursiv informatiki i elektroniki ta mikroprocesornoyi tehniki Fundamentalni ponyattya taki yak dvijkova arifmetika keruvannya pam yattyu stek koduvannya simvoliv pererivannya proyektuvannya kompilyatoriv tosho mozhut buti povnistyu osyagneni lyudinoyu lishe pri gruntovnomu rozuminni roboti komp yutera na aparatnomu rivni sho neodminno peredbachaye rozuminnya naboru komand i adresaciyi procesora Prikladi zastosuvan Redaguvati Gipervizori Realizaciya kriptografichnih i inshih specifichnih algoritmiv napriklad cifrovogo peretvorennya signaliv Fragmenti yader OS abo cili mikroyadra prikladi ranni L3 L4 Pochatkovi zavantazhniki Firmware rezidentni monitori BIOS Rezultat roboti kompilyatora koli kompilyator generuye ne ob yektnij kod a tekst na movi asemblera yakij mozhna pereglyanuti i pri potrebi zminiti Inline integruvannya asemblernih komand bezposeredno v tilo programi na movi visokogo chi serednogo rivnya C Paskal Nizkorivnevi virusi chi rutkiti Mashinnij kod sho modifikuye sam sebe Revers inzhenering Programi povnistyu nezalezhni vid osnovnih sistemnih bibliotek takih yak libc chi crt0 Rizni tipi optimizaciyi sho z tih chi inshih prichin nedostupni pri koduvanni na movi visokogo rivnyaPrikladi RedaguvatiPrikladi programi Hello World dlya riznih platform i asembleriv EXE programa na TASM dlya MS DOS platforma Intel x86 tasm hello asm tlink hello obj model small model pam yati data segment danih msg db Hello World 13 10 tekstove povidomlennya code segment kodu start tochka vhodu v programu mov ax data nalashtuvannya segmentnogo mov ds ax registra danih mov ah 09 h funkciya DOS 9 amp nbsp vivesti ryadok lea dx msg adresa tekstovogo povidomlennya int 21 h viklik pererivannya DOS mov ar 4 Ch Funkciya DOS 4Ch amp nbsp zavershiti programu mov al 0 kod povernennya 0 int 21 h viklik pererivannya DOS end start Programa na FASM dlya MS DOS org 100 h zsuv na 100h bajt model tiny model pam yati data segment danih print db hello world ryadok yakij treba vivesti code segment kodu mov ah 9 funkciya MS DOS nomer 9 vivesti ryadok mov dx offset print zapis v registr dx adresi pershogo bajtu ryadku print int 21 h viklik 21 go pererivannya MS DOS ret Povernennya kontrolyu operacijnij sistemi Programa na NASM dlya Linux platforma Intel x86 nasm f elf o hello o hello asm ld o hello hello oSECTION data segment danih msg db Hello world 10 tekstovij ryadok len equ msg dovzhina ryadka SECTION text segment kodu global start start tochka vhodu v programu mov eax 4 sistemnij viklik 4 sys write mov ebx 1 nomer pristroyu stdout mov ecx msg tekstove povidomlennya mov edx len dovzhina povidomlennya int 0x80 viklik yadra mov eax 1 sistemnij viklik 1 sys exit mov ebx 0 kod povernennya 0 int 0x80 viklik yadra Programa na asembleri 6502 dlya Apple II HELLO WORLD FOR 6502 APPLE MERLIN ASSEMBLER STROUT EQU DB3A vivodit tekstovij ryadok adresovanij AY LDY gt HELLO zavantazhiti starshu chastinu adresi tekstu v registr Y LDA lt HELLO zavantazhiti molodshu chastinu adresi tekstu v registr A JMP STROUT perejti na pidprogramu vivedennya ryadka HELLO ASC HELLO WORLD 00Div takozh RedaguvatiHLA Dvijkovij kod MikrokontrolerDzherela RedaguvatiKip Irvin Yazyk assemblera dlya processorov Intel Assembly Language for Intel Based Computers 4 e vid M Izdatelskij dom Vilyams 2005 912 s ISBN 5 8459 0779 9 ros Primitki Redaguvati https cs lmu edu ray notes x86assembly Dudzyanij I M Chernyahivskij V V Programuvannya movoyu asemblera Lviv LNU imeni Ivana Franka 2002 Magda Yu S Assembler dlya processorov Intel Pentium SPb Piter 2006 David Salomon 1993 Assemblers and Loaders angl Arhiv originalu za 23 bereznya 2020 Procitovano 12 sichnya 2018 Booth A D Britten K H V September 1947 Coding for the ARC Birkbeck College London Arhiv originalu za 24 bereznya 2020 Procitovano 23 lipnya 2017 Campbell Kelly Martin April 1982 The Development of Computer Programming in Britain 1945 to 1955 IEEE Annals of the History of Computing 4 2 121 139 doi 10 1109 MAHC 1982 10016 Salomon Assemblers and Loaders s 7 Arhiv originalu za 23 bereznya 2020 Procitovano 17 sichnya 2012 The IBM 650 Magnetic Drum Calculator Arhiv originalu za 15 lyutogo 2020 Procitovano 17 sichnya 2012 Posilannya RedaguvatiUroki po Asembleru Ravesli ros uroki po Asembleru dlya pochatkivciv nbsp Ce nezavershena stattya pro movi programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Otrimano z https uk wikipedia org w index php title Mova asemblera amp oldid 40024724