Zostavenie programu zhromaždenia s NASM

Kompilácia montážneho programu s NASM môže byť vykonaná na Linuxe alebo Windows, pretože NASM je k dispozícii pre obe platformy. Netwide Assembler (NASM) je assembler a disembler pre architektúru Intel x86 a bežne sa používa na vytváranie 16-bitových, 32-bitových (IA-32) a 64-bitových (x86-64) programov.

Zostavenie zmení vaše nízkoúrovňové kódovanie pomocou mnemotechniky na strojový jazyk, ktorý môže procesor pochopiť. Tento článok vás naučí program s NASM, ale vytvoriť spustiteľný príkaz pre Linux a Windows zo zdrojového kódu NASM.

  • Kompilácia programu zhromaždenia s NASM pre Linux
    • Vytvorenie zdrojového súboru
    • Zostavenie zdrojového súboru
    • Vytvorenie spustiteľného súboru
    • Vykonávanie programu
  • Kompilácia programu zhromaždenia s NASM pre Windows
    • Inštalácia softvéru
    • Vytvorenie zdrojového súboru
    • Zostavenie zdrojového súboru
    • Tvorba a realizácia programu

Kompilácia programu zhromaždenia s NASM pre Linux

Vytvorenie zdrojového súboru

Na tento účel môžete použiť ľubovoľný textový editor, napríklad Gedit, KWrite alebo XEmacs . Keď uložíte súbor, dajte mu príponu .asm .

Zostavenie zdrojového súboru

Pre tento krok budete potrebovať softvér NASM nainštalovaný na vašom počítači.

Ak používate Debian alebo Ubuntu, jednoducho zadajte príkaz:

 sudo apt-get install nasm 

Ak máte inú distribúciu Linuxu, musíte použiť správcu balíkov distribúcie (napr. Urpmi, Yum, Emerge) alebo stiahnuť NASM z oficiálnych stránok.

Na zostavenie zdrojového súboru použite nasledujúci príkazový riadok:

 nasm -f elf test.asm 

V príklade sa uložený súbor .asm nazýva test.asm . Vytvorí sa súbor s názvom test.o v aktuálnom adresári.

NB Tento súbor nie je spustiteľný. Je to stále objektový súbor.

Vytvorenie spustiteľného súboru

Teraz, keď máme náš objektový súbor s názvom test.o, musíme vytvoriť náš spustiteľný súbor.

Váš program môže začať procedúrou s názvom _start . To znamená, že váš program má svoj vlastný vstupný bod, bez použitia hlavnej funkcie. Na vytvorenie spustiteľného súboru však budete musieť použiť znak „l“:

 ld test.o -o test 

Prípadne môže váš program začať postupom nazývaným hlavné . Na vytvorenie spustiteľného súboru budete musieť použiť gcc:

 gcc test.o -o test 

Teraz je spustiteľný súbor vytvorený, testovaný a umiestnený v aktuálnom adresári.

Vykonávanie programu

Ak chcete spustiť program s názvom test, zadajte tento príkaz:

, / test 

Kompilácia programu zhromaždenia s NASM pre Windows

Hlavná funkcia nie je dostupná pod Windows a musí byť nahradená WinMain .

Ak je váš vstupný bod _start alebo main, mal by sa zmeniť na _WinMain @ 16 . Taktiež zmeňte ret na konci procedúry na ret 16 :

 časť .text

globálne

:

mov eax, 0

ret

Inštalácia softvéru

Najprv musíte nainštalovať //ccm.net/download/download 1025 NASM. Uchovávajte archív niekde, pretože bude použitý neskôr.

Najťažším krokom bude inštalácia MinGW, čo je bezplatné vývojové prostredie pre Windows:

Začnite výberom najnovšej verzie MingGW od AZ. Spustite inštalačný program, ale v tomto bode neaktualizujte. Ponechajte predvolene vybrané všetky možnosti a počkajte, kým sa nainštaluje.

Teraz musíte vložiť NASM do vývojového prostredia MinGW. Rozbaľte NASM archív. Mali by ste dostať priečinok obsahujúci okrem iného súbor s názvom nasm.exe . Skopírujte tento súbor do adresára C: MinGW bin .

Vytvorenie zdrojového súboru

Podobne ako Linux nemusíte na vytvorenie zdrojového súboru pre NASM používať konkrétneho vydavateľa. Môžete použiť Poznámkový blok . Všimnite si však, že má tendenciu pridávať príponu .txt do súborov, ktoré vytvára. Ak chcete odstrániť akékoľvek nejasnosti, odporúča sa zobraziť rozšírenia súborov.

V každom prípade sa vyhnite textovým editorom, napríklad Wordu alebo WordPad .

Ak si želáte, môžete použiť aj editor, ktorý používa syntax NASM, ako napríklad IDE NasmEdit .

Uistite sa, že váš zdrojový súbor uložte s príponou .asm .

Zostavenie zdrojového súboru

Otvorte okno Command príkazom Start> Run a napíšte cmd.exe

Pomocou príkazu cd prejdite do priečinka obsahujúceho zdrojový súbor. Keď sa nachádzate v tomto adresári, zostavte zdrojový súbor ( test.asm ) pomocou tohto príkazu:

 nasm -f win32 test.asm -o test.o 

Teraz ste vytvorili súbor objektu. Ďalším krokom bude premeniť ho na spustiteľný súbor.

Tvorba a realizácia programu

V okne Command zadajte finálny príkaz na vytvorenie spustiteľného súboru:

 ld test.o -o test.exe

Obrázok: © Alexandr Pakhnyushchyy - Shutterstock.com

Predchádzajúci Článok Nasledujúci Článok

Najlepšie Tipy