Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A Ruby interface to YASM.
Ruby
branch: master
Failed to load latest commit information.
lib
spec
.document
.gemtest
.gitignore
.rspec
.specopts
.yardopts
ChangeLog.md
LICENSE.txt
README.md
Rakefile
gemspec.yml
ruby-yasm.gemspec

README.md

ruby-yasm

Description

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.

Features

  • Supports all of the yasm command-line options.

Examples

Assemble a binary file:

YASM::Program.assemble do |yasm|
  yasm.syntax = :gas
  yasm.file   = 'hello_world.S'
  yasm.output = 'hello_world.o'
end

Assemble amd64 assembly, in GAS syntax, into an ELF64 file with debugging information:

YASM::Program.assemble 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

Requirements

Install

$ sudo gem install ruby-yasm

License

Copyright (c) 2009-2017 Postmodern

See {file:LICENSE.txt} for license information.

Something went wrong with that request. Please try again.