Assembler

Assembler, skratka ASM, je programovací jazyk nižšej úrovne (low-level). Znamená to, že poskytuje len veľmi malú abstrakciu od samotného strojového kódu. Väčšinou jeden príkaz v jazyku assembler znamená jednu strojovú inštrukciu.

Kde sa používa assembler

  • Assembler sa používa tam, kde sa pracuje priamo s hardvérom. Často je to v kombinácii s inými programovacími jazykmi, ale zamestnávatelia požadujú aj znalosť assembleru.
  • Jeho typické použitie je aj v bootovacom kóde (BIOS) .
  • Niektoré programovacie jazyky (napríklad C), umožňujú vložiť časť kódu v assembleri. Napríklad program linuxového jadra použije vyhovujúcu časť assemblerovej vložky podľa toho, na akom hardvéri beží.
  • Znalosť assembleru sa zíde i pri reverznom inžinierstve. Ak máme program len v strojovom kóde (napríklad .exe súbor) a nemáme k dispozícii jeho zdrojový kód, vieme získať kód v jazyku assembler. Tento proces sa nazýva disassemblovanie.

Hello World!
32 bitový OS Windows obsahuje príkaz DEBUG v konzole. Preto je možné vyskúšať nasledovnú ukážku krátkeho programu Hello World. V čistom assembleri by bol kód oveľa dlhší.
Skopírujte nasledovný kód do súboru HELLO.TXT

A
MOV AH,9
MOV DX,108
INT 21
RET
DB 'HELLO WORLD$'

R CX
14
N MOJEHELLO.COM
W
Q

Spustite príkazový riadok c:\Windows\System32\cmd.exe
Nastavte cestu na adresár, kde máte uložený súbor HELLO.TXT (cd c:\projekty\asm)
Napíšte príkaz DEBUG < HELLO.TXT
V adresári pribudne súbor MOJEHELLO.COM, ktorý má len 20 bajtov. Tento súbor je spustiteľný program v strojovom jazyku.
Môžeme ho spustiť dvojklikom – program vypíše HELLO WORLD a zavrie sa.
Ak chceme vypísaný text vidieť, spustíme program radšej v príkazovom riadku – napíšeme príkaz MOJEHELLO

Poučný úvod do assembleru v slovenčine je na tejto stránke
http://artus.smnd.sk/anino/programming/asm/gasparovic/