descriptionUrAsm -- Z80 cross-assembler for ZX Spectrum
ownerketmar@ketmar.no-ip.org
last changeFri, 3 Nov 2023 03:34:54 +0000 (3 03:34 +0000)
content tags
add:
README
i love to write my own devtools, so of course, i wrote by own Z80
assembler. ah, and Z80 emulator, and ZX Spectrum emulator, of course.

anyway, UrAsm is two-pass Z80 macroassembler with support for all Z80A
instructions (included undocumented). usually, code from other asms
can be compiled with minimal changes (or without changes at all).

there are support for some features from Storm assembler (one of many
assemblers developed in xUSSR):

  ld a,b,c,d  ->  ld a,b : ld c,d
  push bc,de  ->  push bc : push de
  ...and so on for some other instructions line inc/dec and shifts.

also, there is converter from other eastern assembler formats to
simple text files. input is HoBeta file, output is text file.

there is a special handling for "system" includes:

  include <lib.zas>

will look for "lib.zas" in "system library dir", which will be:

  /path/to/executable/libs/lib.zas

i.e. it will look for "libs/" subdir at the location of UrAsm
executable. you can use URASM_INCLUDE_DIR envvar to override
this.

also, if you're including a directory (i.e. will specify dir
name in include), UrAsm will load "zzmain.zas" file in that
directory. this way you can put your libraries in subdirs, and
use "zzmain.zas" to load all necessary lib source files.

include will first look into path where the last system/user
include file was found (i.e. works almost like C `include ""`).


happy hacking,
Ketmar // Invisible Vector
shortlog
2023-11-03 ketmaruroof: cosmetixmaster
2023-11-03 ketmarUrForth: redesigned compilation words to look nicer...
2023-11-03 ketmarUrForth: "STRLITERAL" now respects the optimiser
2023-11-03 ketmarUrForth: properly mark scattered colon words
2023-11-03 ketmarUrForth: more flagged words
2023-11-03 ketmarUrForth: added flags to some built-in words
2023-11-02 ketmarUrForth: some microoptimisations
2023-11-02 ketmarsinopt: various bugfixes
2023-11-02 ketmarbenchmark cosmetix
2023-11-02 ketmarUrForth: fixed some bugs, added simple benchmark
2023-11-02 ketmarUrForth: some fixes ;-)
2023-11-02 ketmarurasm: added file info cache (doesn't do much, but...
2023-11-02 ketmarUrForth: it is now possible to use relative disp in...
2023-11-02 ketmarurasm: cosmetix in expression compiler
2023-11-02 ketmaradded option to temporarily disable sinopt (because...
2023-11-02 ketmarUrForth: accessors now call optimiser when compiling...
...
tags
3 years ago dsforth_last_with_uservars
heads
6 months ago master
6 months ago urasm-forth
7 months ago urasm-c
7 months ago urforth-new
7 months ago dsforth