The CODE16 directive instructs the assembler to interpret subsequent instructions as Thumb instructions, using the pre-UAL assembly language syntax.
In files that contain code using different instruction sets, CODE16 must precede Thumb code written in pre-UAL syntax.
If necessary, this directive also inserts one byte of padding to align to the next halfword boundary.
This directive does not assemble to any instructions. It also does not change the state. It only instructs the assembler to assemble Thumb instructions, and inserts padding if necessary.