NASM er en 80x86 assembler designet til portabilitet og modularitet. Projektet understøtter en række objekt filformater, herunder Linux a.out og ELF, COFF, Microsoft 16-bit OBJ og Win32. Det vil også output plain binære filer.
Dets syntaks er designet til at være enkel og let at forstå, ligner Intels men mindre kompleks. Det understøtter Pentium, P6, MMX, 3DNow! og SSE opcodes og har makro kapacitet. Det omfatter en disassembler samt
The Netwide Assembler voksede ud af en idé om comp.lang.asm.x86. (Eller eventuelt alt.lang.asm - jeg glemmer hvilken), som i det væsentlige, at der ikke synes at være en god gratis x86-serien assembler rundt, og at måske nogen burde skrive en
-. A86 er god, men ikke gratis, og især du ikke får nogen 32-bit kapacitet indtil du betaler. Det er DOS kun alt for
-. Gas er gratis, og havnene end DOS og Unix, men det er ikke meget godt, da det er designet til at være en back-end til gcc, som altid feeds det korrekte kode. Så sin fejlkontrol er minimal. Også dens syntaks er frygtelig, fra synspunkt nogen forsøger at rent faktisk at skrive noget i det. Plus du kan ikke skrive 16-bit kode i det (korrekt)
-. As86 er Minix- og Linux-specifikke, og (min version i hvert fald) ikke synes at have meget (eller nogen) dokumentation.
- MASM er ikke meget godt, og det er (var) dyrt, og det kører kun under DOS
-. TASM er bedre, men stadig tilstræber MASM kompatibilitet, hvilket betyder millioner af direktiver og tonsvis af bureaukrati. Og dens syntaks er væsentlige MASM s, med de modsætninger og særheder, der indebærer (selvom det sorterer nogle af dem ved hjælp af Ideal-tilstand). Det er for dyrt. Og det er DOS-only.
Så her, for din kodning fornøjelse, er NASM. På nuværende tidspunkt er stadig i prototype fase - vi ikke love, at det kan udkonkurrere nogen af disse samlefabrikker. Men venligst, så send os fejlrapporter, rettelser, nyttige oplysninger, og alt andet du kan få dine hænder på (og tak til de mange, der har gjort dette allerede! I ved alle, hvem du er), og vi vil forbedre det til ukendelighed. Igen.
Installation NASM under Unix
Når du har fået Unix kilde arkivet for NASM, NASM-X.XX.tar.gz (hvor X.XX betegner versionsnummer for NASM indeholdt i arkivet), pakker ud i en mappe såsom / usr / local / src. Arkivet, når pakket ud, vil skabe sin egen undermappe NASM-X.XX
NASM er en auto-konfiguration pakke:. Når du har pakket ud det, cd til mappen det er blevet pakket ud i og type ./configure. Denne shell script vil finde den bedste C compiler til at bruge til at bygge NASM og oprette Makefile i overensstemmelse hermed.
Når NASM har automatisk konfigureret, kan du skrive gøre at bygge NASM og ndisasm binære filer, og derefter foretage installere for at installere dem i / usr / local / bin og installere man-siderne nasm.1 og ndisasm.1 i / usr / local / mand / Man1. Alternativt kan du give muligheder, såsom --prefix til configure-scriptet (se filen INSTALL for flere detaljer), eller installere programmerne selv.
NASM leveres også med et sæt værktøjer til håndtering af RDOFF custom objekt-filformat, som er i rdoff undermappe af NASM arkivet. Du kan bygge disse med make RDF og installere dem med make rdf_install, hvis du vil have dem.
Hvis NASM ikke automatisk konfigurere, kan du stadig være i stand til at gøre det kompilere ved hjælp af fall-back Unix makefile Makefile.unx. Kopier eller omdøbe denne fil til Makefile og prøv at skrive gøre. Der er også en Makefile.unx fil i rdoff undermappe
Hvad er nyt i denne udgivelse:.
- Når optimering er aktiveret, mov R64, IMM nu optimerer til den kortest mulige form
Hvad er nyt i version 2.09.01:
- Fix NULL dereference på savnet
Kommentarer ikke fundet