Skip to content

upiter/uasmac

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UASM - Macro Assembler

UASM is a free MASM-compatible assembler based on JWasm.

Notes

Installation

Install with Homebrew (recommended)

  1. Install Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
  1. Install UASM via Homebrew:
brew tap upiter/uasm
brew install uasm

Manual installation

  1. Download archive with UASM from Releases.
  2. Extract uasm binary.
  3. Make sure that uasm binary is executable:
chmod +x uasm
  1. Link uasm file to /usr/local/bin/:
ln -s -f $PWD/uasm /usr/local/bin/

Output formats

Native support for output formats:

  • Intel OMF
  • MS COFF (32/64-bit)
  • ELF (32/64-bit)
  • Binary
  • Windows PE (32/64-bit)
  • DOS MZ

Supported processor instructions

Instructions up to AVX2 and AVX512F are supported including all new extensions for VMX, MPX, AES, BND, F16C etc.

Calling Conventions

  • Support for Microsoft vectorcall on x64.
  • Support for Borland Register Calling Convention.
  • Full support for SystemV Calling Convention.

Macros

  • Integrated Macro Library with object-oriented programming (OOP) support.
  • Numerous new HLL features (as described in the extended manual).

Source

UASM is written in C. The source is portable and has successfully been tested with Open Watcom, MS VC, GCC and more.

Include files

As far as programming for MS Windows is concerned, UASM can be used with both:

C header files can be converted to include files for UASM with h2incX.

Authors

Samples

There's a bunch of source samples available - they are supplied with the precompiled binary packages.

License

UASM's source code is released under the Sybase Open Watcom Public License, which allows free commercial and non-commercial use.

Retrospective

  • JWasm started as a fork of Open Watcom's Wasm in March 2008.
  • Today, the part of Wasm source lines still contained in JWasm is approximately 15%.
  • UASM is a continued evolution of JWasm.