Version 2.5.2 - nested IFs and better macros
This version brings you a two big news. The first is the possibility of nested IFs. So you can write constructions like:
IF foo ...something IF bar ...something ELSE ...something else ENDIF ELSE ...something ENDIF
The second improvement is the slightly enriched syntax for the macros.
Old form is
.macro name. New macro can be defined as
name: .macro or
Now you can name formal parameters too. For example - assume a macro cpymem for copy memory content. Such macro has three arguments - source, destination and length. The old form of macro has mute parameters, just referenced by its number:
.macro cpymem LD HL,%%1 LD DE,%%2 LD BC,%%3 LDIR .endm
New formal parameters, introduced in revision 2.5.2, allows to write this:
.macro cpymem, src, dst, len LD HL,src LD DE,dst LD BC,len LDIR .endm
Preprocessor also check if the number of given parameters is sufficient for the macro, i.e. you cannot specify less parameters than formal, like
cpymem 100, 200.
All those named parameters are strictly local (in fact, they are replaced with its values before assembly phase).