15.52 MAP

The MAP directive sets the origin of a storage map to a specified address.

Syntax

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.

Usage

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.

Examples

        MAP     0,r9
        MAP     0xff,r9
Non-ConfidentialPDF file icon PDF versionARM DUI0473M
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.