About the Unified Assembler Language
Unified Assembler Language (UAL) is a common syntax for ARM and Thumb instructions.
UAL 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.
You can use directives or command-line options to instruct the assembler whether you are using UAL or pre-UAL syntax. By default, the assembler expects source code to be written in UAL. If you use any of the CODE32, ARM, THUMB, or THUMBX directives, or if you assemble with any of the --32, --arm, --thumb, or --thumbx command-line options, the assembler accepts UAL syntax. The assembler also accepts source code written in pre-UAL ARM assembly language when you use the CODE32 or ARM directives.
The assembler accepts source code written in pre-UAL Thumb assembly language when you assemble using the --16 command-line option, or you use the CODE16 directive in the source code.
The pre-UAL Thumb assembly language does not support 32-bit Thumb instructions.