Chapter 5. Assembler

This chapter describes the language features that are provided by the ARM assembler, such as pseudo-instructions, directives and macros. It contains the following sections:

See Table 5.1 to locate individual pseudo-instructions or directives.

This chapter does not contain detailed information on how to write ARM assembly language. Refer to Chapter 5 Basic Assembly Language Programming in the ARM Software Development Toolkit User Guide for tutorial information on how to use many of the language features described here.

For detailed information on ARM and Thumb instruction mnemonics, refer to the ARM Architectural Reference Manual and the ARM FPA10 Data Sheet.

Table 5.1. Directives and pseudo-instructions

Directives:Reporting:Assembly control:
AREA on AREA directiveASSERT on ASSERT directive[ or IF on [ or IF directive
CODE16 on CODE16 directiveINFO or ! on INFO or ! directive| or ELSE on | or ELSE directive
CODE32 on CODE32 directiveOPT on OPT directive] or ENDIF on ] or ENDIF directive
END on END directiveSUBT on SUBT directiveGET or INCLUDE on GET or INCLUDE directive
ENTRY on ENTRY directiveTTL on TTL directiveINCBIN on INCBIN directive
NOFP on NOFP directiveSymbol definition:MACRO on MACRO directive
ROUT on ROUT directiveCN on CN directiveMEND on MEND directive
Data definition:CP on CP directiveMEXIT on MEXIT directive
# on # directiveEQU or * on EQU or * directiveWEND on WEND directive
% on % directiveEXPORT or GLOBAL on EXPORT or GLOBAL directiveWHILE on WHILE directive
^ or MAP on ^ or MAP directiveFN on FN directive 
ALIGN on ALIGN directiveGBLA on GBLA directiveARM pseudo-instructions:
DATA on DATA directiveGBLL on GBLL directiveADR on ADR ARM pseudo-instruction
DCB or = on DCB or = directiveGBLS on GBLS directiveADRL on ADRL ARM pseudo-instruction
DCD or & on DCD or & directiveIMPORT or EXTERN on IMPORT or EXTERN directiveLDFD on LDFD ARM pseudo-instruction
DCDU on DCDU directiveKEEP on KEEP directiveLDFS on LDFS ARM pseudo-instruction
DCFD on DCFD directiveLCLA on LCLA directiveLDR on LDR ARM pseudo-instruction
DCFDU on DCFDU directiveLCLL on LCLL directiveNOP on NOP ARM pseudo-instruction
DCFS on DCFS directiveLCLS on LCLS directive 
DCFSU on DCFSU directiveRLIST on RLIST directiveThumb pseudo-instructions:
DCW on DCW directiveRN on RN directiveADR on ADR Thumb pseudo-instruction
DCWU on DCWU directiveSETA on SETA directiveLDR on LDR Thumb pseudo-instruction
LTORG on LTORG directiveSETL on SETL directiveMOV on MOV Thumb pseudo-instruction
 SETS on SETS directiveNOP on NOP Thumb pseudo-instruction
Copyright © 1997, 1998 ARM Limited. All rights reserved.ARM DUI 0041C
Non-Confidential