s5u1c33000c Epson Electronics America, Inc., s5u1c33000c Datasheet - Page 131

no-image

s5u1c33000c

Manufacturer Part Number
s5u1c33000c
Description
Cmos 32-bit Single Chip Microcomputer S5u1c33000c Manual
Manufacturer
Epson Electronics America, Inc.
Datasheet
Expansion rules
Precautions
S5U1C33000C MANUAL
(C COMPILER PACKAGE FOR S1C33 FAMILY) (Ver. 4)
When a defined macro name appears in the source, the pp33 inserts a statement string defined in that
location.
If there are actual parameters described in that process, the dummy parameters ($1–$32) will be replaced
with the actual parameters in the same order as the latter are arranged.
The internal branch labels are replaced, respectively, with __L0001–__L9999 from top of the source in the
same order as they appear.
Sample expansion:
("_ _ L0001" denotes the case where an internal branch label is expanded for the first time in the source.)
The pp33 only permits back reference of a macro invocation. The definition needs to have been
completed before making the reference.
Once a defined macro name is defined, it cannot be canceled. If the same macro name is defined twice or
more, a warning message will appear and the redefined macro is validated.
No other characters than delimiters (space, tab, line feed, and commas) can be added before and after a
dummy parameter in a statement, unless they are enclosed in [ ] or [ ]+. However, a symbol mask (@..)
described behind is valid.
The same character string as that of the #define and #define instruction cannot be used as a macro name.
When the number of dummy parameters differs from that of actual parameters, an error will result.
A maximum of 32 parameters and a maximum of 64 internal branch labels can be specified per macro. If
these limits are surpassed, an error will result.
"_ _ L####" used for the internal branch labels should not be employed as other label or symbol.
Maximum 9999 internal branch labels can be expanded within one source file. If this limit is exceeded,
an error will result.
After expansion
$$1:
#endm
When the macro ADD shown above is defined:
Macro invocation
#define DEBUG
;#ifdef
;#else
;
;#endif
_ _ L0001:
ld.w
ld.w
jr
ADD
ld.w
add
DEBUG
cmp
cmp
xjrne
ld.w
ld.w
jr
:
:
:
[%r2], 0b11
%r3, [%r2]+
LABEL1
1, 2
Areg, $1
Areg, $2
Areg, 0x1
Areg, 0x2
__L0001
[%r2], 0b11
%r3, [%r2]+
LABEL1
;
ADD 1, 2
EPSON
CHAPTER 9: PREPROCESSOR
115

Related parts for s5u1c33000c