2 frame pop, Frame – ARM VERSION 1.2 User Manual

Page 317

Advertising
background image

Directives Reference

ARM DUI 0068B

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

7-35

7.5.2

FRAME POP

Use the

FRAME POP

directive to inform the assembler when the callee reloads registers.

You can only use it within functions with

FUNCTION

and

ENDFUNC

or

PROC

and

ENDP

directives.

You need not do this after the last instruction in a function.

Syntax

There are two alternative syntaxes for

FRAME POP

:

FRAME POP {reglist}

FRAME POP n

where:

reglist

is a list of registers restored to the values they had on entry to the function.
There must be at least one register in the list.

n

is the number of bytes that the stack pointer moves.

Usage

FRAME POP

is equivalent to a

FRAME ADDRESS

and a

FRAME RESTORE

directive. You can use it

when a single instruction loads registers and alters the stack pointer.

You must use

FRAME POP

immediately after the instruction it refers to.

The assembler calculates the new offset for the canonical frame address. It assumes that:

each ARM register popped occupied 4 bytes on the stack

each FPA floating-point register popped occupied 12 bytes on the stack

each VFP single-precision register popped occupied 4 bytes on the stack, plus an
extra 4-byte word for each list.

See FRAME ADDRESS on page 7-34 and FRAME RESTORE on page 7-38.

Advertising