Yasm 0.6.1
Sponsored Links
Yasm 0.6.1 Ranking & Summary
File size:
1.1 MB
Platform:
Any Platform
License:
BSD License
Price:
Downloads:
915
Date added:
2007-06-16
Publisher:
Peter Johnson
Yasm 0.6.1 description
Yasm is a complete rewrite of the NASM assembler under the "new" BSD License (some portions are under other licenses, see COPYING for details).
Yasm project is designed from the ground up to allow for multiple assembler syntaxes to be supported (eg, TASM, GAS, NASM etc.) in addition to multiple output object formats and even multiple instruction sets. Another primary module of the overall design is an optimizer module.
The core focus of Yasm is not the "yasm" commandline frontend; rather, it is the Libyasm library and associated LoadableModules? (see the ProgrammerReferences for documentation).
Libyasm and the modules are intended for reuse in other sorts of programs dealing with code at the assembly level (compilers, debuggers, etc). Someday, libyasm may be packaged separately from the rest of Yasm.
Key Current User-Visible Yasm major features:>
- Nearly feature-complete lexing and parsing of (preprocessed) NASM syntax?.
- AMD64 support (enabled using "BITS 64" and "-m amd64" option)
- 64-bit (and larger) integer constants allowed (including math operations).
- Internationalization support via GNU gettext.
- A simple 2-pass optimizer (its a bit better than the NASM one).
- The "real" NASM preprocessor (imported from NASMs source tree).
- Binary object file? output (NASM style).
- COFF object file? output, for use with DJGPP.
- Win32 object file? output (including Win64/AMD64 support).
- STABS debug format?.
- ELF32 and ELF64 object file output. No debugging information included at this point.
- Portability; currently compilable on:
- UNIX and compatibles (FreeBSD and Linux tested, GNU configure based autoconfiguration)
- DOS (using DJGPP)
- Windows (using Visual C++ or CygWin).
Key Internal Main features:>
- A NASM syntax parser written in yacc. This simplifies the source code and increases performance: yacc-generated parsers are almost always faster than hand-written ones. Also, yacc (and its GNU implementation, bison) is an extremely well-tested and well-documented tool.
- Architecture-specific instruction parsers hand-written for simplicity and size, as well as to make it easy to add additional architectures while retaining the same front-end syntax. The blend of yacc for syntax and a hand-written parser for instructions strikes a great balance between the strengths and weaknesses of each approach.
- A NASM syntax? lexer written in re2c. A highly efficient scanner generator (almost always faster than lex/flex), its also very embeddable due to its code generation methodology, allowing a number of re2c scanners to be used in various places in yasm without any worries about naming conflicts.
- Many of the modular interfaces at least superficially finished. This is still an area that needs a lot of work.
- A small set of portable equivalants of useful functions that are standard on some systems (detected via configure), such as the queue(3) set of functions, strdup, strcasecmp, and mergesort.
- A decent (and growing) set of assembler test input files to test the entire assembler as well as specific modules.
Important Differences from NASM:
- Yasm defaults to reading from standard input if no files are specified. When an input file is specified, Yasm behaves like NASM.
- A number of command line options are different. Run "yasm --help" for a quick command line option summary, or read the full yasm(1) manpage for detailed descriptions of all command line options.
Enhancements:
- This release adds SSE4.1 and SSE4.2 instruction support, a .set directive in the GAS parser, and allowing Mach-O custom sections.
- Bugfixes include fixes to AMD Pacifica (SVM) instructions, absolute section handling, RIP-relative cross-section references in bin output, and many others.
Yasm project is designed from the ground up to allow for multiple assembler syntaxes to be supported (eg, TASM, GAS, NASM etc.) in addition to multiple output object formats and even multiple instruction sets. Another primary module of the overall design is an optimizer module.
The core focus of Yasm is not the "yasm" commandline frontend; rather, it is the Libyasm library and associated LoadableModules? (see the ProgrammerReferences for documentation).
Libyasm and the modules are intended for reuse in other sorts of programs dealing with code at the assembly level (compilers, debuggers, etc). Someday, libyasm may be packaged separately from the rest of Yasm.
Key Current User-Visible Yasm major features:>
- Nearly feature-complete lexing and parsing of (preprocessed) NASM syntax?.
- AMD64 support (enabled using "BITS 64" and "-m amd64" option)
- 64-bit (and larger) integer constants allowed (including math operations).
- Internationalization support via GNU gettext.
- A simple 2-pass optimizer (its a bit better than the NASM one).
- The "real" NASM preprocessor (imported from NASMs source tree).
- Binary object file? output (NASM style).
- COFF object file? output, for use with DJGPP.
- Win32 object file? output (including Win64/AMD64 support).
- STABS debug format?.
- ELF32 and ELF64 object file output. No debugging information included at this point.
- Portability; currently compilable on:
- UNIX and compatibles (FreeBSD and Linux tested, GNU configure based autoconfiguration)
- DOS (using DJGPP)
- Windows (using Visual C++ or CygWin).
Key Internal Main features:>
- A NASM syntax parser written in yacc. This simplifies the source code and increases performance: yacc-generated parsers are almost always faster than hand-written ones. Also, yacc (and its GNU implementation, bison) is an extremely well-tested and well-documented tool.
- Architecture-specific instruction parsers hand-written for simplicity and size, as well as to make it easy to add additional architectures while retaining the same front-end syntax. The blend of yacc for syntax and a hand-written parser for instructions strikes a great balance between the strengths and weaknesses of each approach.
- A NASM syntax? lexer written in re2c. A highly efficient scanner generator (almost always faster than lex/flex), its also very embeddable due to its code generation methodology, allowing a number of re2c scanners to be used in various places in yasm without any worries about naming conflicts.
- Many of the modular interfaces at least superficially finished. This is still an area that needs a lot of work.
- A small set of portable equivalants of useful functions that are standard on some systems (detected via configure), such as the queue(3) set of functions, strdup, strcasecmp, and mergesort.
- A decent (and growing) set of assembler test input files to test the entire assembler as well as specific modules.
Important Differences from NASM:
- Yasm defaults to reading from standard input if no files are specified. When an input file is specified, Yasm behaves like NASM.
- A number of command line options are different. Run "yasm --help" for a quick command line option summary, or read the full yasm(1) manpage for detailed descriptions of all command line options.
Enhancements:
- This release adds SSE4.1 and SSE4.2 instruction support, a .set directive in the GAS parser, and allowing Mach-O custom sections.
- Bugfixes include fixes to AMD Pacifica (SVM) instructions, absolute section handling, RIP-relative cross-section references in bin output, and many others.
Yasm 0.6.1 Screenshot
Yasm 0.6.1 Keywords
NASM
Yasm 0.6.1
GNU
object file
Yasm
output
syntax
object
file
assembler
Yasm 0.6.1
Assembler Tools
Programming
Bookmark Yasm 0.6.1
Yasm 0.6.1 Copyright
WareSeeker periodically updates pricing and software information of Yasm 0.6.1 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of Yasm 0.6.1 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
nasm personal training
yasmin
cannot open shared object file
nasm certification
yasm 0.6.1 ubuntu
object file format invalid or unsuitable
personal trainer certification nasm
yasmien kurdi
object file format
nasmith
nasm personal training certification
yasmin testimonials
yasmin levy
ted nasmith
output express
yasmine bleeth
nasmd
object files
Related Software
PyScript is a python module for producing high quality postscript graphics. Free Download
OpenSwarm processes your UML 2.0 model to generate a Python server application. Free Download
eSTAR::RTML is a object interface to parse and create VOEvent messages. Free Download
Pasmo is a multi-platform Z80 cross assembler. Free Download
Epiphany project is a multiplatform clone of the game Boulderdash. Free Download
Chump is a multiple instruction set table-driven assembler / disassembler. Free Download
BeleniX is an OS distribution based on OpenSolaris codebase. Free Download
TwistedJava provides an implementation of the Perspective Broker protocol in Java. Free Download
Latest Software
Popular Software
Favourite Software