Úvod do jazyka zhromaždenia
Assembly Language je programovací jazyk nízkej úrovne. Pomáha pri porozumení programovacieho jazyka strojovému kódu. V počítači existuje assembler, ktorý pomáha pri prevode kódu zostavy na spustiteľný strojový kód. Zostavovací jazyk je navrhnutý tak, aby porozumel inštrukcii a poskytol strojovému jazyku na ďalšie spracovanie. Závisí to hlavne od architektúry systému, či už ide o architektúru operačného systému alebo počítača.
Jazyk montáže pozostáva hlavne z inštrukcií alebo údajov procesora mnemonic a ďalších príkazov alebo pokynov. Vyrába sa pomocou kompilácie zdrojového kódu jazyka vysokej úrovne ako C, C ++. Assembly Language pomáha pri jemnom doladení programu.
výhody:
- Umožňuje jednoduchšie spúšťať zložité úlohy.
- Je to efektívne z hľadiska pamäte, pretože vyžaduje menej pamäte.
- Je rýchlejšia, pretože jej doba vykonávania je kratšia.
- Zameriava sa hlavne na hardvér.
- Na dosiahnutie výsledku je potrebné menej inštrukcií.
- Používa sa pre kritické úlohy.
- Nie je potrebné sledovať umiestnenie pamäte.
- Je to zabudovaný systém na nízkej úrovni.
nevýhody:
- Napísanie kódu za rovnaké vyžaduje veľa času a úsilia.
- Je to veľmi zložité a ťažko pochopiteľné.
- Syntax je ťažko zapamätateľná.
- Má nedostatok prenosnosti programov medzi rôznymi počítačovými architektúrami.
- Na spustenie dlhých programov napísaných v jazyku Assembly je potrebná väčšia veľkosť alebo pamäť počítača.
Prečo je jazyk zhromaždenia užitočný?
Zostavovací jazyk pomáha programátorom napísať ľudsky čitateľný kód, ktorý je takmer podobný strojovému jazyku. Strojový jazyk je ťažké pochopiť a prečítať, pretože ide iba o sériu čísel. Zostavovací jazyk pomáha pri zabezpečení úplnej kontroly nad tým, aké úlohy počítač vykonáva.
Príklad:
Nájdite nižšie uvedené kroky a vytlačte „Ahoj svet“ vo Windows
- Otvorte poznámkový blok.
- Napíš kód nižšie
global _main
extern _printf
section .text
_main:
push message
call _printf
add esp, 4
ret
message:
db 'Hello, World!', 10, 0
- Uložte súbor s akýmkoľvek názvom XYZ.asm, prípona by mala byť „.asm“.
- Vyššie uvedený súbor musí byť skompilovaný pomocou assembleru, ktorý je NASM (Netwide Assembler).
- Spustite príkaz nasm –f win32 XYZ.asm
- Potom Nasm vytvorí jeden objektový súbor, ktorý obsahuje strojový kód, ale nie spustiteľný kód, ktorý je XYZ.obj
- Na vytvorenie spustiteľného súboru pre Windows sa používa minimálny GNU, ktorý poskytuje kompilátor GCC.
- Spustite príkaz gcc –o XYZ.exe XYZ.obj
- Spustite spustiteľný súbor teraz „XYZ“
- Výstup zobrazí ako „Ahoj, svet“.
Prečo by ste sa mali učiť montážny jazyk?
Učenie sa programovacieho jazyka je pre programátorov stále dôležité. Pomáha pri prevzatí úplnej kontroly nad systémom a jeho zdrojmi. Učením sa jazyka zostavy je programátor schopný napísať kód do prístupových registrov a schopný načítať adresu pamäte ukazovateľov a hodnôt. Pomáha hlavne pri optimalizácii rýchlosti, ktorá zvyšuje účinnosť a výkon.
Výučba jazykov v zhromaždení pomáha pri porozumení funkcií procesora a pamäte. Ak programátor píše akýkoľvek program, ktorý musí byť kompilátorom, to znamená, že by mal mať úplné znalosti o procesore. Zostavovací jazyk pomáha porozumieť práci procesora a pamäte. Je to kryptický a symbolický jazyk.
Assembly Language pomáha pri priamom kontakte s hardvérom. Tento jazyk je založený hlavne na počítačovej architektúre a rozpoznáva určitý typ procesora a jeho odlišný pre rôzne procesory. Zostavovací jazyk sa v porovnaní s inými jazykmi vysokej úrovne označuje ako transparentný. Má malý počet operácií, ale pomáha porozumieť algoritmom a iným tokom kontrol. To robí kód menej zložitým a ľahkým ladením.
Vlastnosti:
Funkcie jazyka zostavy sú uvedené nižšie:
- Môže používať mnemotechnický ako číselný kód operácie a tiež poskytuje informácie o akejkoľvek chybe v kóde.
- Tento jazyk pomáha pri určovaní symbolického operandu, čo znamená, že nemusí uvádzať adresu stroja tohto operandu. Môže byť znázornená vo forme symbolu.
- Údaje je možné deklarovať pomocou desatinného záznamu.
montérov:
Zostavovatelia sa používajú na preklad jazyka zostavy do strojového jazyka. Existujú dva typy montérov:
- Jednopásmový assembler: Jeden pasáž assembleru sa označuje ako úplné skenovanie vstupu zdrojového programu do assembleru alebo ekvivalentnej reprezentácie a prekladu príkazom na základe príkazu nazývaného ako single pass assembler alebo one pass translation. Izoluje oblasť štítkov, mnemoník a operandov systému. Overuje pokyny k kódu tak, že ich vyhľadá v tabuľke mnemotechnických kódov. Do tabuľky symbolov zadá symbol nachádzajúci sa v poli štítkov a adresu textovo dostupného strojového slova. Tento prechod je rýchly a uskutočnený a nie je potrebné zostavovať prechodný kód.
- Viacpásmový assembler: V tomto assembler prechádza niekoľkokrát jazykom assembleru a vygeneruje kód objektu. V tomto poslednom priechode sa nazýva syntézny priechod a tento zostavovač vyžaduje akúkoľvek formu sprostredkujúceho kódu na vygenerovanie každého priechodu zakaždým. Je to relatívne pomalšie ako pri zostavovaní jedným priechodom, ale môžu existovať niektoré akcie, ktoré sa môžu vykonať viac ako raz, čo znamená duplikovanie.
záver:
Zostavovací jazyk je veľmi dôležitý pre pochopenie architektúry počítača a programov pre programátorov. Programátori používali pri vývoji aplikácií a softvéru hlavne mnoho ďalších programovacích jazykov, ale dôležitý je aj jazyk zostavovania. Pomáha programátorom dosiahnuť veľa, ak implementujú jazyk zostavy. Zostavy obsahujú veľa metaúdajov, ktorými sú číslo verzie, podrobnosti o lokalizácii a ďalšie podrobnosti o produkte. Je to dôležitá súčasť a poskytuje sa používateľovi po digitálnom podpísaní.
Ak chce jednotlivec vedieť, ako systém funguje a ako funguje aj procesor, potom ten, ktorý rieši tento účel, je jazykom montáže. Pomáha vo všetkých aspektoch od porozumenia algoritmu programu po prácu procesora a registráciu registrov počítača. Závisí to od individuálneho výberu, ktorým jazykom sa bude pokračovať.
Odporúčaný článok
Toto bola príručka Čo je to jazyk zhromaždenia. Tu sme diskutovali o vlastnostiach, výhodách a nevýhodách jazyka zostavovania. Viac informácií nájdete aj v ďalších navrhovaných článkoch -
- Je programovací jazyk MySQL?
- Je Python skriptovacím jazykom?
- R Programovací jazyk
- Čo je to HDFS?