Skip to content

A git mirror of vasm - A portable and retargetable assembler

License

Notifications You must be signed in to change notification settings

stahta01/vasm-mirror

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vasm

This is a git repository clone of the vasm source code.

You can find the original at the vasm home.

About

vasm is a portable and retargetable assembler to create linkable objects in various formats or absolute code. Multiple CPU-, syntax and output-modules can be selected.

Many common directives/pseudo-opcodes are supported (depending on the syntax module) as well as CPU-specific extensions.

The assembler supports optimizations (e.g. choosing the shortest possible branch instruction or addressing mode) and relaxations (e.g. converting a branch to an absolute jump when necessary).

Most syntax modules support macros, include directives, repetitions, conditional assembly and local symbols.

Compilation Instructions

To compile vasm you can either use CMake, or choose a Makefile which fits for your host architecture.

The following Makefiles are available:

  • Makefile - standard Unix/gcc Makefile
  • Makefile.68k - makes AmigaOS 68020 executable with vbcc
  • Makefile.Haiku - gcc Makefile which doesn't link libm
  • Makefile.MiNT - makes Atari MiNT 68020 executable with vbcc
  • Makefile.MOS - makes MorphOS executable with vbcc
  • Makefile.OS4 - makes AmigaOS4 executable with vbcc
  • Makefile.PUp - makes PowerUp executable with vbcc
  • Makefile.TOS - makes Atari TOS 68000 executable with vbcc
  • Makefile.WOS - makes WarpOS executable with vbcc
  • Makefile.Win32 - makes Windows executable with MS-VSC++
  • Makefile.Win32FromLinux - makes Windows executable on Linux

Then select a CPU- and a syntax-module to compile.

The vasm-binary will be called: vasm<CPU>_<SYNTAX>[_<HOST>]

Building using CMake

Define VASM_CPU and VASM_SYNTAX when running cmake, e.g:

mkdir build
cd build
cmake -DVASM_CPU=m68k -DVASM_SYNTAX=mot ..
make

Building using make

Define CPU and SYNTAX when running make, e.g:

make CPU=m68k SYNTAX=mot

Available CPU modules

  • 6502
  • 6800
  • 6809
  • arm
  • c16x
  • jagrisc
  • m68k
  • pdp11
  • ppc
  • qnice
  • test
  • tr3200
  • vidcore
  • x86
  • z80

Available Syntax modules

  • std
  • madmac
  • mot
  • oldstyle
  • test

About

A git mirror of vasm - A portable and retargetable assembler

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 99.9%
  • Other 0.1%