ARM VERSION 1.2 Computer Hardware User Manual


 
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.