Keil Logo

Technical Support

On-Line Manuals

Assembler User Guide

Preface Overview of the Assembler Overview of the ARM Architecture Structure of Assembly Language Modules Writing ARM Assembly Language Condition Codes Using the Assembler Symbols, Literals, Expressions, and Operators VFP Programming Assembler Command-line Options --16 --32 --apcs=qualifier…qualifier --arm --arm_only --bi --bigend --brief_diagnostics, --no_brief_diagnostics --checkreglist --comment_section, --no_comment_section --compatible=name --cpreproc --cpreproc_opts=option[,option,…] --cpu=list --cpu=name --debug --depend=dependfile --depend_format=string --diag_error=tag[,tag,…] --diag_remark=tag[,tag,…] --diag_style={arm|ide|gnu} --diag_suppress=tag[,tag,…] --diag_warning=tag[,tag,…] --dllexport_all --dwarf2 --dwarf3 --errors=errorfile --execstack, --no_execstack --execute_only --exceptions, --no_exceptions --exceptions_unwind, --no_exceptions_unwind --fpmode=model --fpu=list --fpu=name -g --help -idir[,dir, …] --keep --length=n --li --library_type=lib --liclinger=seconds --list=file --list= --littleend -m --maxcache=n --md --no_code_gen --no_esc --no_hide_all --no_regs --no_terse --no_warn -o filename --pd --predefine "directive" --reduce_paths, --no_reduce_paths --regnames --report-if-not-wysiwyg --show_cmdline --split_ldm --thumb --thumbx --unaligned_access, --no_unaligned_access --unsafe --untyped_local_labels --version_number --via=filename --vsn --width=n --xref ARM and Thumb Instructions VFP Instructions Directives Reference Via File Syntax

--untyped_local_labels

9.67 --untyped_local_labels

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

When this option is not used, if you reference a numeric 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 numeric local label, without the Thumb bit set, then use this option.

Note

When using this option, if you 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.

Example

    THUMB
    ...
1
    ...
    LDR r0,=%B1 ; r0 contains the address of numeric local label "1". 
                ; Thumb bit is not set if --untyped_local_labels was
                ; used.
    ...
Related concepts
Non-ConfidentialPDF file icon PDF versionARM DUI0379H
Copyright © 2007, 2008, 2011, 2012, 2014-2016 ARM. All rights reserved. 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.