This option causes the assembler not to set the Thumb bit for the address of a local label referenced in an LDR pseudo instruction.

When this option is not used, if you reference a local label in an LDR pseudo-instruction, and the label is in Thumb code, then the assembler sets the Thumb bit (bit 0) of the address. You can then use the address as the target for a BX or BLX instruction.

If you require the actual address of the local label, without the Thumb bit set, then use the --untyped_local_labels option. Note that if you then use the address in a branch (register) instruction, the assembler treats it as an ARM code address, causing the branch to arrive in ARM state, meaning it would interpret this code as ARM instructions.


    LDR r0,=%B1 ; r0 contains the address of local label "1", 
                ; Thumb bit is not set if --untyped_local_labels was used

Show/hideSee also

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0489H