APPENDIX B CREATING PROCEDURE OF ASSEMBLY SOURCE FILE (Sub tool chain)
S5U1C88000C MANUAL II
EPSON
257
WORKBENCH/DEV TOOLS/OLD ASSEMBLER
B.3.8 Macro-Related Pseudo-Instructions [sap88 only]
The following pseudo-instructions are related to the macro functions, and they perform a macro defini-
tion, a macro deletion, a repeat definition, and the like.
MACRO ~ ENDM
DEFINE
LOCAL
PURGE
UNDEF
IRP ~ ENDR
IRPC ~ ENDR
REPT ~ ENDR
*
These pseudo-instructions can only be used in the structured preprocessor sap88. The sap88 outputs
the source file in which the setting contents of these pseudo-instructions are expanded into a form that
can be assembled by the cross assembler asm88. Further these macro-related pseudo-instructions
cannot be accepted in the asm88 and will cause an error if used.
Name:
MACRO
.....Macro definition
Format:
<macro name>
MACRO [<parameter> [, <parameter>] * ]
<statement string>
[EXITM]
<statement string>
[<macro name>] ENDM
Functions:
This instruction performs a macro definition. If the specified macro name is already used, the previ-
ous definition will be overridden and this current definition will redefine the macro. Names including
any characters except blank characters, brackets "(" , ")", "{" , "}", "[" , "]" and a colon ":" can be used as
macro names. It is not necessary to define the macro name for the ENDM line except the case that the
macro definition was nested. Moreover, there is no limitation as to the number of parameters.
Arguments delimited by a comma "," can be specified by the number of your choice at the time of a
macro call. The number of arguments should not necessarily be equal to the number of parameters at
the time of a macro definition. If a character string identical to one parameter exists in the macro body,
it will be replaced with the corresponding argument character string at the time of a macro call. If any
corresponding argument does not exit it will be replaced with a blank character string. It is also
possible to specify a blank character string on arguments. In this case, specification should be done
using the characters which are not included in the blank character string. For example, if it is specified
as shown below at the time of a certain macro "xmac" call :
xmac 1,,2
The second argument will become a blank character string. At the same time, the number of argument
at the time of the call will be replaced with the sap88 system parameters NARG and narg. The blank
character string arguments at this time will also be counted.
All the parameters are not necessarily independent as tokens. Some will be replaced with arguments
even when they occur inside character strings. In order to reduce substitution, it is advisable to use
special symbols so that too much substitution can be evaded. All symbols except a comma "," and
brackets "(" , ")", "{" , "}", "[" , "]" can be used for parameters and arguments.