5.8.11. ^ or MAP directive

The ^ directive sets the origin of a storage map to a specified address. The storage-map location counter, @, is set to the same address. MAP is a synonym for ^.

Syntax

The syntax of ^ is:

	^ expression{,base-register}

where:

expression

is a numeric or program-relative expression:

  • If base-register is not specified, expression evaluates to the address where the storage map starts. The storage map location counter is set to this address.

  • If the expression is program-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 expression, and the value in base-register at runtime.

Usage

Use the ^ directive in combination with the # 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 # directives, until the next ^ directive. The register-relative labels can be used in load and store instructions. Refer to # directive for an example.

The ^ directive can be used any number of times to define multiple storage maps.

The @ counter is set to zero before the first ^ directive is used.

Examples

		^		0,r3
		^		0xff,r3
Copyright © 1997, 1998 ARM Limited. All rights reserved.ARM DUI 0041C
Non-Confidential