1 i love to write my own devtools, so of course, i wrote by own Z80
2 assembler. ah, and Z80 emulator, and ZX Spectrum emulator, of course.
4 anyway, UrAsm is two-pass Z80 macroassembler with support for all Z80A
5 instructions (included undocumented). usually, code from other asms
6 can be compiled with minimal changes (or without changes at all).
8 there are support for some features from Storm assembler (one of many
9 assemblers developed in xUSSR):
11 ld a,b,c,d -> ld a,b : ld c,d
12 push bc,de -> push bc : push de
13 ...and so on for some other instructions line inc/dec and shifts.
15 also, there is converter from other eastern assembler formats to
16 simple text files. input is HoBeta file, output is text file.
18 there is a special handling for "system" includes:
22 will look for "lib.zas" in "system library dir", which will be:
24 /path/to/executable/libs/lib.zas
26 i.e. it will look for "libs/" subdir at the location of UrAsm
27 executable. you can use URASM_INCLUDE_DIR envvar to override
30 also, if you're including a directory (i.e. will specify dir
31 name in include), UrAsm will load "zzmain.zas" file in that
32 directory. this way you can put your libraries in subdirs, and
33 use "zzmain.zas" to load all necessary lib source files.
35 include will first look into path where the last system/user
36 include file was found (i.e. works almost like C `include ""`).
40 Ketmar // Invisible Vector