 RealView Assembler User's Guide |
|
Technical Support On-Line Manuals RealView Assembler User's Guide Preface Introduction Writing ARM Assembly Language Assembler Reference ARM and Thumb Instructions Directives Reference Alphabetical list of directives Symbol definition directives GBLA, GBLL, and GBLS LCLA, LCLL, and LCLS SETA, SETL, and SETS RELOC RN RLIST CN CP Data definition directives LTORG MAP FIELD SPACE or FILL DCB DCD and DCDU DCDO DCFD and DCFDU DCFS and DCFSU DCI DCQ and DCQU DCW and DCWU COMMON DATA Assembly control directives Nesting directives MACRO and MEND MEXIT IF, ELSE, ENDIF, and ELIF WHILE and WEND Frame directives FRAME ADDRESS FRAME POP FRAME PUSH FRAME REGISTER FRAME RESTORE FRAME RETURN ADDRESS FRAME SAVE FRAME STATE REMEMBER FRAME STATE RESTORE FRAME UNWIND ON FRAME UNWIND OFF FUNCTION or PROC ENDFUNC or ENDP Reporting directives ASSERT INFO OPT TTL and SUBT Instruction set and syntax selection directives ARM, THUMB, THUMBX, CODE16 and CODE32 Miscellaneous directives ALIGN AREA ATTR END ENTRY EQU EXPORT or GLOBAL EXPORTAS GET or INCLUDE IMPORT and EXTERN INCBIN KEEP NOFP REQUIRE REQUIRE8 and PRESERVE8 ROUT | Frame directivesThis section describes the following directives: Correct use of these directives: enables the armlink --callgraph option to calculate stack usage of assembler functions. The following rules are used to determine stack usage: If a function is not marked with PROC or ENDP, stack usage is unknown. If a function is marked with PROC or ENDP but with no FRAME PUSH or FRAME POP, stack usage is assumed to be zero. This means that there is no requirement to manually add FRAME PUSH 0 or FRAME POP 0. If a function is marked with PROC or ENDP and with FRAME PUSH n or FRAME POP n, stack usage is assumed to be n bytes.
helps you to avoid errors in function construction, particularly when you are modifying existing code enables the assembler to alert you to errors in function construction enables backtracing of function calls during debugging enables the debugger to profile assembler functions.
If you require profiling of assembler functions, but do not want frame description directives for other purposes: you must use the FUNCTION and ENDFUNC, or PROC and ENDP, directives you can omit the other FRAME directives you only have to use the FUNCTION and ENDFUNC directives for the functions you want to profile.
In DWARF, the canonical frame address is an address on the stack specifying where the call frame of an interrupted function is located. |
|