ARM VERSION 1.2 manual Finding the end of the allocated data

Models: VERSION 1.2

1 360
Download 360 pages 38.37 Kb
Page 67
Image 67

Writing ARM and Thumb Assembly Language

2.10.4Finding 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

 

 

 

ARM DUI 0068B

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

2-55

Page 67
Image 67
ARM VERSION 1.2 manual Finding the end of the allocated data