| Jasm YASM is een complete herschrijving van NASM. |
Download nu |
Jasm Rangschikking & Samenvatting
- Naam uitgever:
- Peter Johnson
- Uitgever website:
- http://www.tortall.net/projects/yasm/
Jasm Tags
Jasm Beschrijving
YASM is een complete herschrijving van NASM. Yasm is een complete herschrijving van de NASM Aansembler onder de "nieuwe" BSD-licentie (sommige delen staan onder andere licenties, zie kopiëren voor details). Gemasme-project is ontworpen vanaf de grond om meerdere assembler-syntaxes mogelijk te maken (bijv. Tasme, gas, NASM etc.) Naast meerdere uitvoervoorwerpformaten en zelfs meerdere instructiesets. Een andere primaire module van het totale ontwerp is een optimizer-module.De kernfocus van YASM is niet de "YASM" -opdrachtviering; Integendeel, het zijn de Libiëasmbibliotheek en bijbehorende loadableModules? (Zie de programmarreferences voor documentatie) .Libiem en de modules zijn bedoeld voor hergebruik in andere soorten programma's die betrekking hebben op code op het montageliveau (compilers, debuggers, enz.). Op een dag kan libiëasme afzonderlijk van de rest van yasm worden verpakt. Hier zijn enkele belangrijke kenmerken van "YASM": · Bijna functie-complete lexing en parsering van (preprocesses) NASM SYNTAX?. · AMD64-ondersteuning (ingeschakeld met "bits 64" en "-M AMD64" -optie) · 64-bits (en grotere) geheel getal-constanten toegestaan (inclusief wiskundige operaties). · Internationaliseringsondersteuning via GNU GETTEXT. · Een eenvoudige 2-pass-optimizer (het is een beetje beter dan het NAS-één). · De "echte" NAS-preprocessor (geïmporteerd uit de bronboom van NASM). · Binair objectbestand? output (NASM-stijl). · Coff-objectbestand? uitvoer, voor gebruik met DJGPP. · Win32-objectbestand? uitgang (inclusief WIN64 / AMD64-ondersteuning). · Stabs-debug-indeling?. · ELF32 en ELF64 Object-bestand-uitvoer. Geen debugging-informatie op dit punt inbegrepen. Draagbaarheid; Momenteel compileerbaar op: · Unix and Compatibles (FreeBSD en Linux Getest, GNU Configureer gebaseerde autoconfiguratie) · DOS (met behulp van DJGPP) · Windows (met behulp van visuele C ++ of Cygwin). Belangrijke interne kenmerken van "YASM": · Een NASM SYNTAX PARDER geschreven in YACC. Dit vereenvoudigt de broncode en verhoogt de prestaties: YACC-gegenereerde parsers zijn bijna altijd sneller dan met de hand geschreven. Ook is YACC (en de GNU-implementatie, bison) een zeer goed geteste en goed gedocumenteerde tool. · Architectuurspecifieke instructieparsers met de hand geschreven voor eenvoud en grootte, evenals om het gemakkelijk te maken om extra architecturen toe te voegen met behoud van dezelfde front-end-syntaxis. De mix van YACC voor syntaxis en een handgeschreven parser voor instructies treft een grote balans tussen de sterke punten en zwakke punten van elke aanpak. · Een NASM-syntaxis? Lexer geschreven in Re2C. Een zeer efficiënte scannergenerator (bijna altijd sneller dan lex / flex), het is ook erg inbedrijfbaar vanwege de methodologie van de code generatie, waardoor een aantal RE2C-scanners op verschillende plaatsen in YASM kunnen worden gebruikt zonder zorgen over het benoemen van conflicten. · Veel van de modulaire interfaces op zijn minst superficiaal afgewerkt. Dit is nog steeds een gebied dat veel werk nodig heeft. · Een kleine set draagbare equivalia van nuttige functies die standaard zijn op sommige systemen (gedetecteerd via configuratie), zoals de wachtrij (3) Set van functies, Strdup, Strcasecmp en MERGESSORT. · Een fatsoenlijke (en groeiende) set assembler test invoerbestanden om de hele assembler en specifieke modules te testen. Belangrijke verschillen van NASM: · YASM Standaards om te lezen van standaardinvoer als er geen bestanden zijn opgegeven. Wanneer een invoerbestand is opgegeven, gedraagt YASM als NAS. · Een aantal opdrachtregelopties zijn anders. Voer "YASM --HELP" uit voor een Snelle opdrachtregeloptie Samenvatting of lees de full yasm (1) MANPAGE voor gedetailleerde beschrijvingen van alle opdrachtregelopties. Wat is er nieuw in deze release: · Gebruik een volwassen NASM-SYNTAX X86- en AMD64-assembler die WIN32, WIN64, MacOS X en Unix-derivaten kunnen targeten; · Gebruik een andere gassyntax-assembler dan gas; · Probeer de nieuwe tasme-achtige syntaxis of frontend uit; · Montage-bronniveau debuggen met Dwarf2 of Codeview? 8.0 (vs 2005); · Heb een gratis software-assembler die WIN32 / WIN64-gestructureerde uitzonderingsafhandeling (SEH) en ELF32 / ELF64 Draad Lokale opslag (TLS) ondersteunt; · Target de nieuwe AMD SSE5- of Intel AVX-instructiesets; · Houd de voortgang van YASM op het gebied van stabiliteits- en functieset; · Draag bij aan YASM-ontwikkeling van een nieuwe release.
Jasm Gerelateerde software