User manual

Assembler directives ST Assembler-Linker
72/89 Doc ID 11392 Rev 4
Description
This directive marks out given labels defined during an assembly as 'PUBLIC',
accessible by other modules. This directive is related to EXTERN; if one module
wants to use a label defined in another, then the other module must have that label
declared PUBLIC.
A label may also be declared PUBLIC as its definition by preceding the label name
with a dot; it won't need to be declared in a PUBLIC directive then.
Example
module1.asm
EXTERN print.w, print1.w
...
call print
...
jp print1
module2.asm
PUBLIC print
print nop
.print1 nop
See also EXTERN
Table 67. REPEAT
Purpose Assembly-time loop initiator.
Format REPEAT
Description
Used together with UNTIL to make assembly-time loops; it is useful for making tables
etc. This directive should not be used within macros.
Example REPEAT
See also CEQU, UNTIL
Table 68. .SALL
Purpose Suppress all body of called macro.
Format .SALL
Description
This directive forces the complete suppression of the listing of a macro expansion
each time a macro is invoked. This instruction is never listed.
Note:This directive may produce confusing listings.
Example .SALL
See also .LALL, .XALL
Table 69. SEGMENT
Purpose Start of new segment.
Format [<name>] SEGMENT <align> <combine> '<class>' [cod]
Description
The SEGMENT directive is very important: every module in your program will need at
least one.
The <name> field may be up to 11 characters in length, and may include underscores.
The <align> field is one of the following:
Table 66. PUBLIC