Асемблер
Асемблер | |
---|---|
Појавио се | 1949. год. |
Асемблер (асемблерски језик)[1] је програмски језик који машински језик, специфичне процесорске архитектуре, представља у људима читљивом облику. Из тога произилази да свака процесорска архитектура поседује свој асемблер.[2] Програм у асемблеру се често означава и као асемблер код. Тај код се путем специјалног компајлера претвара у машински код који процесор може да директно изврши. Обрнути процес претварања машинског у асемблер код назива се дисасемблирање. При том процесу је спашавање свих пређашњих дијелова асемблер кода немогуће, пошто се они (нпр. коментари) при компилирању неповратно бришу. Због тога је дисасемблирани код тешко разумљив. Асемблер обично има једну изјаву по машинској инструкцији, али коментари и изјаве који су асемблерске директиве[3], макрои[4][1], и симболичке ознаке програма и меморијских локација се често подржавају.
Програми написани у асемблеру се одликују могућношћу слања директних команди процесору као и искоришћавању цијелог дијапазона рачунарске архитектуре. Пошто ти програми раде практично на нивоу машинског кода, и са собом немају помоћне конструкције, генерализације кода и за машину сличне небитне ствари, много су мањи и бржи од програма написаних у неком конвенционалном програмском језику. Неке од главних мана таквих програма су лоша читљивост, што је посебно изражено при великим пројектима и комплексности кода, као и практична немогућност конвертовања истог кода на другу процесорску архитектуру.[5] Због тих мана се асемблер данас користи само у временски критичним програмима (брзина) као што су машински адаптери (енгл. driver) за графичке карте или у просторно критичним програмима (величина) у интегрисаним системима (енгл. Embedded Systems). Примери таквих система су микроконтролери. У контрасту са асемблером, већина програмских језика високог нивоа су генерално портабилни преко више архитектура, али захтевају интерпретирање или компајлирање. Асемблер се такође може назвати симболичким машинским кодом.[6][7]
Референце[уреди | уреди извор]
- ↑ 1,0 1,1 „Assembler language”.
- ^ Saxon, James; Plette, William (1962). Programming the IBM 1401. Prentice-Hall. LCCN 62-20615 — преко HathiTrust. [use of the term assembly program]
- ^ „High Level Assembler - Opcodes overview, Assembler Directives”.
- ^ „Macro instructions”.
- ^ System calls often vary, e.g. for MVS vs. VSE vs. VM/CMS; the binary/executable formats for different operating systems may also vary. „How do assembly languages depend on operating systems?”.
- ^ „Assembly: Review - The Ohio State University” (PDF). 2016.
- ^ B. Archer. „Assembly Language For Students”. »Assembly language may also be called symbolic machine code.«
Литература[уреди | уреди извор]
- Reiner Backer: Assembler - Maschinennahes Programmieren von Anfang an; rororo Taschenbücher Nr.61224. 2003. ISBN 978-3-499-61224-4.
- ASM Community Book "An online book full of helpful ASM info, tutorials and code examples" by the ASM Community, archived at the internet archive.
- Bartlett, Jonathan (2004). Programming from the Ground Up. Bartlett Publishing. ISBN 978-0-9752838-4-4.
- Britton, Robert (2003). MIPS Assembly Language Programming. Prentice Hall. ISBN 978-0-13-142044-1.
- Jeff Duntemann: Assembly Language Step-by-Step. Wiley. 2000. ISBN 978-0-471-37523-4.
- Hyde, Randall (2003). The Art of Assembly Language. No Starch Press. ISBN 978-1-886411-97-5.
Draft versions available online as PDF and HTML - Charles W. Kann: Introduction to MIPS Assembly Language Programming. 2015.
- Peter Norton, John Socha, Peter Norton's Assembly Language Book for the IBM PC, Brady Books, NY: 1986.
- Michael Singer, PDP-11. Assembler Language Programming and Machine Organization, John Wiley & Sons, NY: 1980.
- Sweetman, Dominic (1999). See MIPS Run. Morgan Kaufmann Publishers. ISBN 978-1-55860-410-0.
- John Waldron: Introduction to RISC Assembly Language Programming. Addison Wesley. 1998. ISBN 978-0-201-39828-1.
- Dennis Yurichev: Understanding Assembly Language
Спољашње везе[уреди | уреди извор]
![]() |
Асемблер на Викимедијиној остави. |
- Асемблер на сајту DMOZ (језик: енглески)
- Брзи курс асемблера
- Асемблер програмирање на Линуксу
- MenuetOS - Хоби пројекат оперативног система написаног у асемблеру који стаје на једну дискету од 1.44 MB
- KolibriOS - Настао из MenuetOS-а, чланак овде
- Unix Assembly Language Programming
- Linux Assembly
- PPR: Learning Assembly Language
- NASM – The Netwide Assembler (a popular assembly language)
- Assembly Language Programming Examples
- Authoring Windows Applications In Assembly Language
- Assembly Optimization Tips by Mark Larson
- The Art of Assembly Language by Randall Hyde
- The table for assembly language to machine code