A Ruby interface to YASM.
MIT License
A Ruby interface to YASM.
YASM is a complete rewrite of the NASM assembler, YASM currently supports the x86 and AMD64 instruction sets, accepts NASM and GAS assembler syntaxes, outputs binary, ELF32, ELF64, 32 and 64-bit Mach-O, RDOFF2, COFF, Win32, and Win64 object formats, and generates source debugging information in STABS, DWARF 2, and CodeView 8 formats.
yasm
command-line options.Assemble a binary file:
YASM::Command.run(syntax: :gas, file: 'hello_world.S', output: 'hello_world.o')
Assemble amd64 assembly, in GAS syntax, into an ELF64 file with debugging information:
YASM::Command.run do |yasm|
yasm.target = :amd64
yasm.syntax = :gas
yasm.file = 'hello_world.S'
yasm.output = 'hello_world.o'
yasm.output_format = :elf64
yasm.debug_format = :stabs
end
$ gem install ruby-yasm
$ sudo apt install yasm
$ sudo dnf install yasm
$ brew install yasm
See {file:LICENSE.txt} for license information.