UASM is a free MASM-compatible assembler based on JWasm.
- This repo contains releases for macOS only.
- Find precompiled UASM binaries for other platforms (Windows, Linux) at official UASM download page.
- Official repo: Terraspace/UASM
- Install Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
- Install UASM via Homebrew:
brew tap upiter/uasm
brew install uasm
- Download archive with UASM from Releases.
- Extract
uasm
binary. - Make sure that
uasm
binary is executable:
chmod +x uasm
- Link
uasm
file to/usr/local/bin/
:
ln -s -f $PWD/uasm /usr/local/bin/
Native support for output formats:
- Intel OMF
- MS COFF (32/64-bit)
- ELF (32/64-bit)
- Binary
- Windows PE (32/64-bit)
- DOS MZ
Instructions up to AVX2
and AVX512F
are supported including all new extensions for VMX
, MPX
, AES
, BND
, F16C
etc.
- Support for Microsoft vectorcall on x64.
- Support for Borland Register Calling Convention.
- Full support for SystemV Calling Convention.
- Integrated Macro Library with object-oriented programming (OOP) support.
- Numerous new HLL features (as described in the extended manual).
UASM is written in C. The source is portable and has successfully been tested with Open Watcom, MS VC, GCC and more.
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.
- Andreas Grech (Japheth)
- Branislav Habus
- John Hankinson
There's a bunch of source samples available - they are supplied with the precompiled binary packages.
UASM's source code is released under the Sybase Open Watcom Public License, which allows free commercial and non-commercial use.
- 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.