Kompilere et forsamlingsprogram med NASM

Å samle et monteringsprogram med NASM kan gjøres på Linux eller Windows, da NASM er tilgjengelig for begge plattformene. Netwide Assembler (NASM) er en assembler og dissembler for Intel x86-arkitekturen, og brukes ofte til å lage 16-bits, 32-biters (IA-32) og 64-bits (x86-64) programmer.

En samling vil slå på lavnivåkoding, ved hjelp av mnemonikk, til maskinens språk som forstås av prosessoren. Denne artikkelen vil ikke lære deg å programmere med NASM, men å opprette en kjørbar kommando for Linux og Windows fra NASM kildekoden.

  • Kompilere et forsamlingsprogram med NASM for Linux
    • Opprett kildefilen
    • Montering av kildefilen
    • Opprett den eksekverbare
    • Programutførelse
  • Kompilere et forsamlingsprogram med NASM for Windows
    • Installere programvaren
    • Opprette en kildefil
    • Montering av kildefilen
    • Opprettelse og gjennomføring av programmet

Kompilere et forsamlingsprogram med NASM for Linux

Opprett kildefilen

Du kan bruke hvilken som helst tekstredigerer, som Gedit, KWrite eller XEmacs, for å gjøre det. Når du lagrer filen, gi den utvidelsen .asm .

Montering av kildefilen

For dette trinnet trenger du NASM-programvare installert på maskinen din.

Hvis du kjører Debian eller Ubuntu, skriver du bare kommandoen:

 sudo apt-get installere nasm 

Hvis du har en annen Linux-distribusjon, må du bruke distribusjonspakken din (f.eks. Urpmi, Yum, Emerge) eller last ned NASM fra det offisielle nettstedet.

Bruk følgende kommandolinje til å samle kildefilen din:

 nasm -f elf test.asm 

I eksemplet kalles den lagrede .asm-filen test.asm . Dette vil opprette en fil som heter test.o i gjeldende katalog.

NB Denne filen kan ikke kjøres. Det er fortsatt en objektfil.

Opprett den eksekverbare

Nå som vi har vår objektfil, kalt test.o, må vi opprette vår kjørbare.

Programmet ditt kan starte med en prosedyre som heter _start . Dette betyr at programmet har sitt eget inngangspunkt uten bruk av hovedfunksjonen. Du må imidlertid bruke "l" for å opprette kjørbare:

 ld test.o -o test 

Alternativt kan programmet starte med en prosedyre som kalles hoved . Du må bruke gcc for å opprette kjørbare:

 gcc test.o -o test 

Nå blir kjørbarheten din opprettet, testet og plassert i den nåværende katalogen.

Programutførelse

For å kjøre programmet kalt test, skriv bare denne kommandoen:

 . / test 

Kompilere et forsamlingsprogram med NASM for Windows

Hovedfunksjonen er ikke tilgjengelig under Windows og må erstattes av WinMain .

Hvis inngangspunktet er _start eller hoved, bør det endres til _WinMain @ 16 . Endre også retten på slutten av prosedyren til ret 16 :

 seksjon .text

global

:

mov eax, 0

ret 16

Installere programvaren

Du må først installere //ccm.net/download/download 1025 NASM. Hold et arkiv et sted, siden det blir brukt senere.

Det vanskeligste trinnet vil installere MinGW, som er et gratis utviklingsmiljø for Windows:

Start med å velge den nyeste versjonen av MingGW fra AZ. Kjør installasjonsprogrammet, men oppdater ikke på dette tidspunktet. La alle valgene være valgt som standard, og vent på at det skal installeres.

Nå må du sette inn NASM i utviklingsmiljøet MinGW. Pakke ut NASM-arkivet. Du bør få en mappe som blant annet inneholder en fil med navnet nasm.exe . Kopier denne filen til katalogen C: \ MinGW \ bin .

Opprette en kildefil

Som Linux, er det ikke nødvendig å bruke en bestemt utgiver for å lage en kildefil for NASM. Du kan bruke Notisblokk . Men vær oppmerksom på at det har en tendens til å legge til .txt- utvidelsen til filer den oppretter. For å fjerne uklarhet, anbefales det at du ser utvidelsene av filene dine.

Uansett, unngå tekstbehandlere, for eksempel Word eller WordPad .

Hvis du ønsker det, kan du også bruke en redaktør som bruker NASM-syntaks, en slik NasmEdit IDE .

Pass på at du lagrer kildefilen din med .asm- utvidelsen.

Montering av kildefilen

Åpne kommandovinduet ved å gå til Start> Kjør og skrive cmd.exe

Ved hjelp av kommando- CDen, gå til mappen som inneholder kildefilen din. Når du er i denne katalogen, må du samle kildefilen ( test.asm ) med denne kommandoen:

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

Du har nå opprettet en objektfil. Det neste trinnet vil være å gjøre det til en kjørbar fil.

Opprettelse og gjennomføring av programmet

Skriv inn den endelige kommandoen i kommandovinduet for å opprette kjørbar:

 ld test.o -o test.exe

Bilde: © Alexandr Pakhnyushchyy - Shutterstock.com

Forrige Artikkel Neste Artikkel

Beste Tips