Отворите главни мени

Асемблер

програмски језик

Асемблер (асемблерски језик)[1] је програмски језик који машински језик, специфичне процесорске архитектуре, представља у људима читљивом облику. Из тога произилази да свака процесорска архитектура поседује свој асемблер.[2] Програм у асемблеру се често означава и као асемблер код. Тај код се путем специјалног компајлера претвара у машински код који процесор може да директно изврши. Обрнути процес претварања машинског у асемблер код назива се дисасемблирање. При том процесу је спашавање свих пређашњих дијелова асемблер кода немогуће, пошто се они (нпр. коментари) при компилирању неповратно бришу. Због тога је дисасемблирани код тешко разумљив. Асемблер обично има једну изјаву по машинској инструкцији, али коментари и изјаве који су асемблерске директиве[3], макрои[4][1], и симболичке ознаке програма и меморијских локација се често подржавају.

Асемблер
Појавио се1949. год.; пре 70 година (1949)
Motorola MC6800 асемблерски језик

Програми написани у асемблеру се одликују могућношћу слања директних команди процесору као и искоришћавању цијелог дијапазона рачунарске архитектуре. Пошто ти програми раде практично на нивоу машинског кода, и са собом немају помоћне конструкције, генерализације кода и за машину сличне небитне ствари, много су мањи и бржи од програма написаних у неком конвенционалном програмском језику. Неке од главних мана таквих програма су лоша читљивост, што је посебно изражено при великим пројектима и комплексности кода, као и практична немогућност конвертовања истог кода на другу процесорску архитектуру.[5] Због тих мана се асемблер данас користи само у временски критичним програмима (брзина) као што су машински адаптери (енгл. driver) за графичке карте или у просторно критичним програмима (величина) у интегрисаним системима (енгл. Embedded Systems). Примери таквих система су микроконтролери. У контрасту са асемблером, већина програмских језика високог нивоа су генерално портабилни преко више архитектура, али захтевају интерпретирање или компајлирање. Асемблер се такође може назвати симболичким машинским кодом.[6][7]

РеференцеУреди

  1. 1,0 1,1 „Assembler language”. 
  2. ^ Saxon, James; Plette, William (1962). Programming the IBM 1401. Prentice-Hall. LCCN 62-20615 — преко HathiTrust.  [use of the term assembly program]
  3. ^ „High Level Assembler - Opcodes overview, Assembler Directives”. 
  4. ^ „Macro instructions”. 
  5. ^ 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?”. 
  6. ^ „Assembly: Review - The Ohio State University” (PDF). 2016. 
  7. ^ B. Archer. „Assembly Language For Students”. »Assembly language may also be called symbolic machine code.« 

ЛитератураУреди

Спољашње везеУреди