Non-Confidential | ![]() | ARM DUI0473M | ||
| ||||
Home > Directives Reference > MAP |
The MAP
directive sets the origin of a storage map to a specified address.
MAP
{expr
,
}base-register
where:
expr
is a numeric or PC-relative expression:
If base-register
is
not specified, expr
evaluates
to the address where the storage map starts. The storage map location
counter is set to this address.
If expr
is PC-relative,
you must have defined the label before you use it in the map. The
map requires the definition of the label during the first pass of the
assembler.
base-register
specifies a register. If base-register
is
specified, the address where the storage map starts is the sum of expr
,
and the value in base-register
at
runtime.
Use the MAP
directive in combination
with the FIELD
directive to describe a storage
map.
Specify base-register
to
define register-relative labels. The base register becomes implicit
in all labels defined by following FIELD
directives,
until the next MAP
directive. The register-relative labels
can be used in load and store instructions.
The MAP
directive can be used any number
of times to define multiple storage maps.
The storage-map location counter, {VAR}
, is set
to the same address as that specified by the MAP
directive. The {VAR}
counter is set to zero before the first MAP
directive is used.
^
is a synonym for MAP
.
MAP 0,r9 MAP 0xff,r9