6.8.5. EQU

The EQU directive gives a symbolic name to a numeric constant, a register-relative value or a program-relative value. * is a synonym for EQU.


name EQU expr{, type}



is the symbolic name to assign to the value.


is a register-relative address, a program-relative address, an absolute address, or a 32-bit integer constant.


is optional. type can be any one of:

  • ARM


  • CODE32

  • CODE16

  • DATA

You can use type only if expr is an absolute address. If name is exported, the name entry in the symbol table in the object file will be marked as ARM, THUMB, CODE32, CODE16, or DATA, according to type. This can be used by the linker.


Use EQU to define constants. This is similar to the use of #define to define a constant in C.

See KEEP and EXPORT or GLOBAL for information on exporting symbols.


abc EQU 2               ; assigns the value 2 to the symbol abc.

xyz EQU label+8         ; assigns the address (label+8) to the
                        ; symbol xyz.

fiq EQU 0x1C, CODE32    ; assigns the absolute address 0x1C to
                        ; the symbol fiq, and marks it as code

Copyright © 2002-2005 ARM Limited. All rights reserved.ARM DUI 0204F