Unified Assembler Language

Unified Assembler Language (UAL) is a common syntax for ARM and Thumb instructions. It supersedes earlier versions of both the ARM and Thumb assembler languages.

Code written using UAL can be assembled for ARM or Thumb for any ARM processor. The assembler faults the use of unavailable instructions.

RealView® Compilation Tools (RVCT) v2.1 and earlier can only assemble the pre-UAL syntax. Later versions of RVCT and ARM Compiler toolchain can assemble code written in pre-UAL and UAL syntax.

By default, the assembler expects source code to be written in UAL. The assembler accepts UAL syntax if any of the directives CODE32, ARM, THUMB, orTHUMBX is used or if you assemble with any of the --32, --arm, --thumb, or --thumbx command line options. The assembler also accepts source code written in pre-UAL ARM assembly language when you assemble with CODE32 or ARM.

The assembler accepts source code written in pre-UAL Thumb assembly language when you assemble using the --16 command line option, or the CODE16 directive in the source code.


The pre-UAL Thumb assembly language does not support Thumb-2 instructions.

Show/hideSee also

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0473C