4 finding the end of the allocated data – ARM VERSION 1.2 User Manual

Page 67

Advertising
background image

Writing ARM and Thumb Assembly Language

ARM DUI 0068B

Copyright © 2000, 2001 ARM Limited. All rights reserved.

2-55

2.10.4

Finding the end of the allocated data

You can use the

FIELD

directive with an operand of

0

to label a location within a

structure. The location is labeled, but the location counter is not incremented.

The size of the data structure defined in Example 2-19 depends on the values of

MaxStrLen

and

ArrayLen

. If these values are too large, the structure overruns the end of

available memory.

Example 2-19 uses:

an

EQU

directive to define the end of available memory

a

FIELD

directive with an operand of

0

to label the end of the data structure.

An

ASSERT

directive checks that the end of the data structure does not overrun the

available memory.

Example 2-19

StartOfData EQU 0x1000
EndOfData EQU 0x2000
MAP StartOfData
Integer FIELD 4
Integer2 FIELD 4
String FIELD MaxStrLen
Array FIELD ArrayLen*8
BitMask FIELD 4
EndOfUsedData FIELD 0
ASSERT EndOfUsedData <= EndOfData

Advertising