www.wikidata.uk-ua.nina.az
Ne plutati z Movoyu asemblera U Vikipediyi ye statti pro inshi znachennya cogo termina ASM Ase mbler angl assembler komp yuterna programa translyator sho priznachena dlya generaciyi mashinnogo dvijkovogo kodu z simvolnogo predstavlennya cogo kodu movi asemblera Napriklad tekstovij ryadok CLI dlya arhitekturi x86 peretvoryuyetsya asemblerom u dvijkovij kod 11111010 Krim vlasne translyaciyi bagato program asembleriv pidtrimuyut i inshu funkcionalnist korisnu pri rozrobci sistemnogo i prikladnogo programnogo zabezpechennya taku yak vibir formatu ob yektnogo modulya generaciya simvolnoyi informaciyi napriklad vidlagodzhuvalnoyi riznomanitni direktivi na zrazok EXTERN chi GLOBAL makrokomandi tosho Pri translyaciyi z mov visokogo rivnya asembler neridko vikoristovuyetsya dlya vikonannya zavershalnoyi fazi translyaciyi Zmist 1 Istoriya 2 Bazova translyaciya 3 Rozshireni mozhlivosti 4 Asembleri dlya arhitekturi x86 5 Asembleri dlya inshih arhitektur 6 Literatura 7 PosilannyaIstoriya RedaguvatiOdin z pershih asembleriv bulo stvoreno Natanielem Rochesterom dlya mashini IBM 701 Asembler odrazu polegshiv pracyu pershim programistam zamist kodiv mashinnih komand stalo mozhlivim pisati programu u simvolnij alfavitno cifrovij formi i najgolovnishe vidpala neobhidnist ruchnogo pererahunku vsih adres perehodiv pri zmini programi Asembleri 1950 h rokiv sho mali nazvu avtokoderiv buli odnimi z pershih sho nadavali mozhlivist oznachennya i vikoristannya makrokomand Pochinayuchi z 1960 1970 h rokiv zrostaye vazhlivist vzayemodiyi i integraciyi program i fragmentiv movoyu asemblera z modulyami napisanimi na movah programuvannya visokogo rivnya Do sogodni taki programi yak asembler i komponuvalnik ye absolyutno neobhidnimi instrumentami pri predstavlenni novoyi arhitekturi komp yutera chi procesora Bazova translyaciya RedaguvatiNajprostishim sposobom peretvorennya simvolnih ryadkiv na mashinni komandi mozhe buti pryama translyaciya Napriklad z kozhnogo nastupnogo ryadka tekstu mov eax 0F00BADh jmp eax asemblerom dlya 32 rozryadnoyi arhitekturi x86 odrazu mozhe buti zgenerovanij mashinnij kod vidpovidnoyi komandi procesora i yiyi argumentiv B8 AD 0B F0 00 FF E0 Yaksho zh u programi prisutni komandi bezposeredno perehodu za mitkami algoritm roboti asemblera uskladnyuyetsya potribni yak minimum dva pereglyadi abo prohodi tekstu programi Pri pershomu pereglyadi zdijsnyuyetsya rozpodil pam yati i nadannya znachen simvolichnim imenam pri drugomu formuyetsya ob yektnij modul V procesi translyaciyi asembler provodit povnij sintaksichnij analiz pochatkovoyi programi zabezpechuyuchi pri comu dostatno tochnu diagnostiku pomilok za miscem i harakterom Rozshireni mozhlivosti RedaguvatiDokladnishe MakroasemblerNa dodachu do bazovoyi translyaciyi odnim z najbilsh vzhivanih mehanizmiv program asembleriv ye makroinstrukciyi pochinayuchi z najprostishoyi zamini tekstu i do suchasnih vbudovanih makroprocesoriv z dovoli skladnimi mozhlivostyami pidstanovki i rozkrittya parametriv Napriklad asembleri NASM i YASM realizuyut vlasnij stek makroprocesora direktivi push i pop mozhut zdijsnyuvati zsuv peredanih makrokomandi parametriv na zadanu kilkist rotate povtoryuvati emituvannya poslidovnosti komand rep endrep zdijsnyuvati umovnu translyaciyu direktivi ifdef i podibni Paketi makrokomand dlya bagatih na mozhlivosti asembleriv nadayut programistam navit mehanizm nablizheni do strukturnogo programuvannya koli programa na movi asemblera viglyadaye tak nemov bi vona mistit taki sutnosti yak proceduri i funkciyi lokalni zminni strukturi danih z mozhlivistyu simvolichnoyi adresaciyi poliv instrukciyi peremikachi i tomu podibne 1 Asembler NASM a takozh majzhe povnistyu sumisnij YASM realizuye pidtrimku odrazu kilkoh formativ ob yektnih fajliv Taka mozhlivist nadzvichajno korisna pri kros kompilyaciyi koli napriklad na komp yuteri z operacijnoyu sistemoyu GNU Linux potribno otrimati ob yektnij fajl u formati PE dlya sistem tipu Microsoft Windows Mozhlivo takozh zadati translyaciyu bezposeredno u format dvijkovogo kodu bin koli potribna vidpovidnist odin v odin mizh tekstom programi i zgenerovanim kodom Nadzvichajno korisnoyu ye pidtrimka lokalnih mitok u procedurah U velikih programah ce dozvolyaye mati u kozhnij proceduri chi funkciyi mitki na kshtalt exit chi error i asembler korektno viznachit adresi perehodu na nih v mezhah danoyi proceduri Asembleri dlya arhitekturi x86 RedaguvatiCej rozdil potrebuye dopovnennya sichen 2018 Seredovisha dlya rozrobki RadASM WinAsm ASMedit Easy Code Fresh GSS Visual Assembler MASM32 SDKTranslyatori MASM Microsoft Macro Assembler licenziya Microsoft EULA GAS GNU Assembler licenziya GNU GPL FASM flat assembler licenziya BSD NASM Netwide Assembler licenziya BSD RosASM TASM Turbo Assembler vid Borland propriyetarnij pidtrimku pripineno Yasm vilnij asembler na osnovi NASM licenziya BSD WASM Open Watcom Assembler licenziya Sybase Open Watcom Public License GoAsm vilnij asembler vid Dzheremi GordonaAsembleri dlya inshih arhitektur RedaguvatiCej rozdil potrebuye dopovnennya sichen 2018 HLASM High Level Assembler vid IBMLiteratura RedaguvatiEnciklopediya kibernetiki u 2 t za red V M Glushkova Kiyiv Gol red Ukrayinskoyi radyanskoyi enciklopediyi 1973 Galiseev Gennadij Vladimirovich Asembler dlya Win 32 Samouchitel Assembler dlya Win 32 Samouchitel M Dialektika 2007 S 368 ISBN 978 5 8459 1197 1 Kip Irvin Mova asemblera dlya procesoriv Intel Mova asemblera dlya procesoriv Intel M Vilyams 2005 S 912 ISBN 0 13 091013 9 Posilannya Redaguvati Preprocesor NASM golovna dokumentaciya Arhiv originalu za 21 sichnya 2018 Procitovano 20 sichnya 2018 Otrimano z https uk wikipedia org w index php title Asembler amp oldid 37150237