Nettdekkende montør

Nettdekkende montør
Generell informasjon
programtype Monter
Forfatter H. Peter Anvin
utvikler Simon Tatham Julian Hall
Første utgivelse nitten nittiseks
Tillatelse BSD to-klausul lisens
Teknisk informasjon
Planlagt inn Assembler , C.
Støttede plattformer Multiplattform
Versjoner
Siste stabile versjon 2.15.05 [ 1 ] ​( 28. august 2020 (2 år, 1 måned og 20 dager))
Lenker
Offesiell nettside kodelager

Netwide Assembler , eller NASM , er en gratis assembler for Intel x86 -plattformen . Den kan brukes til å skrive 16-biters , 32-biters ( IA-32 ) og 64-biters ( x86-64 ) programmer. I NASM, hvis de riktige bibliotekene brukes, kan 32-biters programmer skrives på en slik måte at de er portable mellom alle x86 32-biters operativsystemer . Pakken inkluderer også en demonter , NDISASM .

Historikk

NASM ble opprinnelig skrevet av Simon Tatham med hjelp fra Julian Hall , og utvikles for tiden av et lite team på GitHub som vedlikeholder det. Den ble opprinnelig utgitt under sin egen lisens, men ble senere endret til GNU Lesser General Public License , etter en rekke politiske problemer forårsaket av valg av lisens. Så den ble til slutt endret til Simplified BSD License .

Funksjoner

NASM kan generere flere binære formater på hvilken som helst maskin, inkludert COFF (og det litt forskjellige Portable Executable -formatet som brukes av Microsoft Windows ), a.out , ELF , Mach-O og det opprinnelige Minix -binærformatet . NASM definerer til og med sitt eget binære format, RDOFF, som for øyeblikket bare brukes av RadioOS- operativsystemprosjektet .)

Variasjonen av utdataformater lar en portere programmene til praktisk talt alle x86-operativsystemer. I tillegg kan NASM lage flate binære filer som kan brukes til å skrive Boot Managers , ROM - bilder og ulike fasetter ved utvikling av operativsystemer. NASM kan til og med kjøre på andre plattformer enn x86, som SPARC og PowerPC , selv om den ikke kan produsere programmer som kan brukes av disse maskinene.

NASM bruker den tradisjonelle Intel-syntaksen for x86-monteringsspråket , mens andre gratis montører, som GNU Assembler (GAS), bruker AT&T-syntaksen . Den unngår også funksjoner som automatisk generering av segmentoverstyringer og det relaterte ASSUME -direktivet som brukes av MASM og kompatible montører, da disse ofte kan være forvirrende -- programmerere må holde styr på innholdet i sammenstillingsregistrene selv. segment og plasseringen av variabler som de viser til.

link

NASM produserer primært objektkode , som vanligvis ikke er kjørbar i seg selv. Det eneste unntaket fra dette er vanlige binærfiler ( .COM ) som iboende er begrenset i moderne bruk. For å oversette objektfiler til kjørbare programmer, må en passende linker brukes, for eksempel Windows Visual Studio "LINK"-verktøyet eller LD for UNIX -lignende systemer (som GNU/Linux ).

Se også

Referanser

  1. ^ "Release nasm-2.15.05 · netwide-assembler/nasm" . GitHub (på engelsk) . Hentet 9. februar 2021 . 

Eksterne lenker