In breve descritto in solo tre parole, yasm è un progetto modulare assembler, ma in realtà è una riscrittura completa del progetto NASM, progettato dalla terra fino a a supportare più set di istruzioni (x86 e amd64 al momento), accettare sia GAS e sintassi NASM, nonché di uscita binaria, elf64, ELF32, Mach-O 32/64-bit, COFF, RDOFF2 e Windows 32/64-bit oggetto formats.User featuresUser visibile caratteristiche visibili includono analisi full-optional e lexing del NASM e sintassi GAS, il supporto iniziale per la sintassi TASM, il supporto per le costanti integer a 64 bit, supporto per l'internazionalizzazione utilizzando gettext, un semplice 2-pass ottimizzatore, e il supporto per 64 bit (amd64) architetture set di istruzioni, che può essere attivata con il & nbsp; & Ldquo; amd64 -m & rdquo; opzione oppure selezionando un esplicito uscita formato oggetto a 64-bit.
Permette di costanti a 64 bit e una maggiore interi, comprese le operazioni matematiche, supporta una vasta gamma di formati di oggetti, tra cui COFF, binario, RDOFF2, ELF32, elf64, Win32, Win64, così come a 64-bit e 32-bit Mach- uscite di file oggetto O. Inoltre, supporta il CodeView, DWARF2 e pugnala i formati di debug, funziona su sistemi operativi UNIX e Linux, così come le caratteristiche di Microsoft Windows e DOS.Internal featuresInternal includono un GAS e NASM lexer sintassi che sono scritti con lo strumento re2c, recursive- Funzionalità parser discesa sia per il gas e NASM sintassi, specifiche dell'architettura parser istruzione, un piccolo insieme di funzioni portatili e utili, come strdup, Mergesort e strcasecmp, così come un set standard di ingresso di test assembler files.Under il cofano e availabilityThe progetto è disponibile per il download solo come un archivio fonte, che costringe l'utente a configurare manualmente e compilare il programma prima dell'installazione. La parte migliore di un archivio sorgente è che può essere installato su qualsiasi sistema operativo GNU / Linux, al contrario di pre-costruito pacchetti binari che sono stati progettati per un certo tipo di distribuzione.
Cosa è nuovo in questa versione:
- utilizzare un maturo x86 NASM-sintassi e AMD64 assembler che possono indirizzare Win32, Win64, MacOS X, Unix e derivati;
- utilizzare un assemblatore diverso GAS GAS-sintassi;
- provare la nuova sintassi TASM simile o frontend;
- avere assemblea-debug a livello sorgente utilizzando DWARF2 o CodeView? 8.0 (VS 2005);
- avere un assemblatore di software libero che supporta Win32 / Win64 eccezione strutturata gestione (SEH) e ELF32 / elf64 Thread Local Storage (TLS);
- indirizzare i nuovi set di istruzioni AMD o Intel AVX SSE5;
- tenere traccia dei progressi di yasm in termini di stabilità e di set di funzionalità;
- contribuire allo sviluppo yasm da una nuova release.
Cosa c'è di nuovo nella versione 0.7.2:
- Questa release aggiunge 64-bit Mach-O PIC supporto, --prefix e opzioni --suffix per la denominazione globali, e il supporto per nuove istruzioni AVX / AES non in specifiche originali.
- Si genera anche una delocalizzazione GOTPCREL per & quot; rel WRT ..gotpc & quot; e ottimizza non-strict push to dimensione in byte in tutti i casi possibili, insieme a diverse altre correzioni.
I commenti non trovato