From 282fa7725993c9b0b0d2bb0977c124f11abea1fd Mon Sep 17 00:00:00 2001 From: Ian C Date: Tue, 8 Mar 2016 13:51:57 +0000 Subject: Wildcard for args, EX changes and CP/M test. + Added '*' wildcard for macro arguments + Allow 'EX' with parameters reversed on the Z80 + Added simple CP/M example test. + Added some files to gitignore --- doc/manual.asciidoc | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'doc/manual.asciidoc') diff --git a/doc/manual.asciidoc b/doc/manual.asciidoc index 888a9f0..99d07f6 100644 --- a/doc/manual.asciidoc +++ b/doc/manual.asciidoc @@ -317,7 +317,9 @@ Macros ~~~~~~ Macros can be defined in one of two ways; either parameterless or with named -parameters. Macro names are case-insensitive. +parameters. Macro names are case-insensitive. In the parameterless mode the +special identifier '*' can be used to expand all arguments, which will be +separated with commas. ---- macro1: macro @@ -325,6 +327,7 @@ macro1: macro ld a,\1 ld b,\2 call \3 + defb \* endm @@ -456,6 +459,27 @@ EOR can be used the same as XOR: and b ---- +For exchange opcodes with parameters the parameters can be reversed from their +official form: + +---- + ; The official forms + ; + ex de,hl + ex af,af' + ex (sp),hl + ex (sp),ix + ex (sp),iy + + ; Also supported + ; + ex hl,de + ex af',af + ex hl,(sp) + ex ix,(sp) + ex iy,(sp) +---- + Where the high/low register parts of the IX and IY registers are to be used, simply use ixl, iyl, ixh and iyh. Note that the assembler will accept illegal pairings involving H and L, but these will be warned about: -- cgit v1.2.3