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/