9.22.4 Assembler Directives
The 68HC11 and 68HC12 version of as
have the following
specific assembler directives:
.relax
- The relax directive is used by the ‘GNU Compiler’ to emit a specific
relocation to mark a group of instructions for linker relaxation.
The sequence of instructions within the group must be known to the linker
so that relaxation can be performed.
.mode [mshort|mlong|mshort-double|mlong-double]
- This directive specifies the ABI. It overrides the ‘-mshort’,
‘-mlong’, ‘-mshort-double’ and ‘-mlong-double’ options.
.far
symbol- This directive marks the symbol as a ‘far’ symbol meaning that it
uses a ‘call/rtc’ calling convention as opposed to ‘jsr/rts’.
During a final link, the linker will identify references to the ‘far’
symbol and will verify the proper calling convention.
.interrupt
symbol- This directive marks the symbol as an interrupt entry point.
This information is then used by the debugger to correctly unwind the
frame across interrupts.
.xrefb
symbol- This directive is defined for compatibility with the
‘Specification for Motorola 8 and 16-Bit Assembly Language Input
Standard’ and is ignored.