Šiam straipsniui ar jo daliai trūksta išnašų į patikimus šaltinius Jūs galite padėti Vikipedijai pridėdami tinkamas išna
Asembleris

Šiam straipsniui ar jo daliai trūksta išnašų į patikimus šaltinius. Jūs galite padėti Vikipedijai pridėdami tinkamas išnašas su šaltiniais. |
Asembleris – programa, transliuojanti asemblerio kalba rašytą programos tekstą į objektinį (mašinos) kodą. Nors asemblerio kalba tėra mnemoninis procesoriaus instrukcijų vaizdavimas, ji dažnai suteikia ir patogių papildomų galimybių. Pavyzdžiui, asembleris suteikia galimybę pavadinti atminties vietas (adresus) simboliniais vardais, supaprastindamas programavimą, nes programuojant paprastomis mnemonikomis, kiekvieną kartą keičiant programos tekstą, tektų perskaičiuoti atminties adresus.
Asemblerių rašymas dažnai yra žymiai paprastesnis, nei aukšto lygio kalbų kompiliatorių rašymas. Pirmieji asembleriai atsirado šeštajame dešimtmetyje.
Skirtingai, nei įprastos programavimo kalbos, asembleriai neabstrahuoja procesoriaus ar kompiuterio architektūros, todėl, pvz., vienam procesoriui skirta programa, parašyta asembleriu, negali būti lengvai pritaikyta kitam procesoriui (ar net kompiuteriui, turinčiam tą patį procesorių, bet kitokią architektūrą). Kita vertus, šis architektūros atitikimas leidžia žymiai geriau panaudoti kompiuterio ar procesoriaus galimybes, sukurti kompaktiškesnes ir greitesnes programas.
Modernūs aukštesnio lygio asembleriai naudoja papildomas aukštesnio lygio kalbų abstrakcijas, kaip sudėtingesnės valdymo struktūros, funkcijų rašymas ir kvietimas, aukšto lygio abstraktūs duomenų tipai ir pan. Du labiausiai išvystyti asemblerių atvejai – tai , turintys , leidžiančią iš apibrėžti dažniau naudojamus kodo fragmentus ar net sintaksės taisykles bei , suteikiantys įprastiems asembleriams struktūrinio programavimo (procedūros, ciklai, duomenų tipai ir kiti abstraktai) galimybes.
Nemažai aukštesnio nei asembleris lygio kalbų kompiliatorių pirmiausia generuoja asemberio kodą, pavyzdžiui, GNU C kompiliatoriaus sugeneruotą asemblerio kodą (AT&T sintaksė) galima peržiūrėti komanda
gcc -S failas -o temp && cat temp
Pavyzdys
Asembleriu parašytos programos (DOS operacinei sistemai), į ekraną išvedančios tekstą „Sveikas, pasauli!“, pavyzdys:
code segment assume cs:code, ds:code org 100h start: mov ah, 9 mov dx, offset hello_msg int 21h mov ax, 4c00h int 21h hello_msg DB 'Sveikas, pasauli!', 13, 10, '$' code ends end start
Nuorodos
- LinuxAssembly bendruomenė
- NASM kompiliatorius
- YASM kompiliatorius
- ALD debugeris
Autorius: www.NiNa.Az
Išleidimo data:
vikipedija, wiki, lietuvos, knyga, knygos, biblioteka, straipsnis, skaityti, atsisiųsti, nemokamai atsisiųsti, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, pictu, mobilusis, porn, telefonas, android, iOS, apple, mobile telefl, samsung, iPhone, xiomi, xiaomi, redmi, pornografija, honor, oppo, Nokia, Sonya, mi, pc, web, kompiuteris, Informacija apie Asembleris, Kas yra Asembleris? Ką reiškia Asembleris?
Siam straipsniui ar jo daliai truksta isnasu į patikimus saltinius Jus galite padeti Vikipedijai pridedami tinkamas isnasas su saltiniais Asembleris programa transliuojanti asemblerio kalba rasyta programos teksta į objektinį masinos koda Nors asemblerio kalba tera mnemoninis procesoriaus instrukciju vaizdavimas ji daznai suteikia ir patogiu papildomu galimybiu Pavyzdziui asembleris suteikia galimybe pavadinti atminties vietas adresus simboliniais vardais supaprastindamas programavima nes programuojant paprastomis mnemonikomis kiekviena karta keiciant programos teksta tektu perskaiciuoti atminties adresus Asembleriu rasymas daznai yra zymiai paprastesnis nei auksto lygio kalbu kompiliatoriu rasymas Pirmieji asembleriai atsirado sestajame desimtmetyje Skirtingai nei įprastos programavimo kalbos asembleriai neabstrahuoja procesoriaus ar kompiuterio architekturos todel pvz vienam procesoriui skirta programa parasyta asembleriu negali buti lengvai pritaikyta kitam procesoriui ar net kompiuteriui turinciam ta patį procesoriu bet kitokia architektura Kita vertus sis architekturos atitikimas leidzia zymiai geriau panaudoti kompiuterio ar procesoriaus galimybes sukurti kompaktiskesnes ir greitesnes programas Modernus aukstesnio lygio asembleriai naudoja papildomas aukstesnio lygio kalbu abstrakcijas kaip sudetingesnes valdymo strukturos funkciju rasymas ir kvietimas auksto lygio abstraktus duomenu tipai ir pan Du labiausiai isvystyti asembleriu atvejai tai turintys leidziancia is apibrezti dazniau naudojamus kodo fragmentus ar net sintakses taisykles bei suteikiantys įprastiems asembleriams strukturinio programavimo proceduros ciklai duomenu tipai ir kiti abstraktai galimybes Nemazai aukstesnio nei asembleris lygio kalbu kompiliatoriu pirmiausia generuoja asemberio koda pavyzdziui GNU C kompiliatoriaus sugeneruota asemblerio koda AT amp T sintakse galima perziureti komanda gcc S failas o temp amp amp cat tempPavyzdysAsembleriu parasytos programos DOS operacinei sistemai į ekrana isvedancios teksta Sveikas pasauli pavyzdys code segment assume cs code ds code org 100 h start mov ah 9 mov dx offset hello msg int 21 h mov ax 4 c00h int 21 h hello msg DB Sveikas pasauli 13 10 code ends end startNuorodosLinuxAssembly bendruomene NASM kompiliatorius YASM kompiliatorius ALD debugeris