User`s guide

MACRO Compiler Directives
.PRESERVE
When the .PRESERVE directive is present, you can use the /RETRY_COUNT
qualifier on the command line to control the number of times the compiler-
generated code retries a granular or atomic update.
Warning
If .PRESERVE ATOMICITY is turned on, any unaligned data references
will result in a fatal reserved operand fault. See Section 2.11.5.
If .PRESERVE GRANULARITY is turned on, unaligned word references
to addresses assumed aligned will also cause a fatal reserved operand
fault.
Example
INCW 1(R0)
This instruction, when compiled with .PRESERVE GRANULARITY, retries the
insertion of the new word value, if it is interrupted. However, when compiled
with .PRESERVE ATOMICITY, it will also refetch the initial value and increment
it, if interrupted. If both options are specified, it will do the latter.
.SET_REGISTERS
This directive allows you to override the compilers alignment assumptions, and
also allows implicit reads/writes of registers to be declared.
Format
.SET_REGISTERS argument-list
Parameters
argument-list
One or more of the arguments listed in the following table. For each argument,
you can specify one or more registers:
Option Description
aligned=<> Declares one or more registers to be aligned on longword
boundaries.
unaligned=<> Declares one or more registers to be unaligned. Because
this is an explicit declaration, this unaligned condition will
not produce a fault at run time.
read=<> Declares one or more registers, which otherwise the
compiler could not detect as input registers, to be read.
written=<> Declares one or more registers, which otherwise the
compiler could not detect as output registers, to be written
to.
B–18 Specialized Directives