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 .
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 .
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.
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 ).