Chapter 13. ARM Dependent Features
91
This pseudo op will always evaluate to a legal ARM instruction that does nothing. Currently it
will evaluate to MOV r0, r0.
LDR
ldr
register
, =
expression
If expression evaluates to a numeric constant then a MOV or MVN instruction will be used in
place of the LDR instruction, if the constant can be generated by either of these instructions.
Otherwise the constant will be placed into the nearest literal pool (if it not already there) and a
PC relative LDR instruction will be generated.
ADR
adr
register
label
This instruction will load the address of
label
into the indicated register. The instruction will
evaluate to a PC relative ADD or SUB instruction depending upon where the label is located. If
the label is out of range, or if it is not defined in the same file (and section) as the ADR instruction,
then an error will be generated. This instruction will not make use of the literal pool.
ADRL
adrl
register
label
This instruction will load the address of
label
into the indicated register. The instruction will
evaluate to one or two PC relative ADD or SUB instructions depending upon where the label is
located. If a second instruction is not needed a NOP instruction will be generated in its place, so
that this instruction is always 8 bytes long.
If the label is out of range, or if it is not defined in the same file (and section) as the ADRL
instruction, then an error will be generated. This instruction will not make use of the literal pool.
For information on the ARM or Thumb instruction sets, see [ARM Software Development Toolkit
Reference Manual], Advanced RISC Machines Ltd.
13.6. Mapping Symbols
The ARM ELF specification requires that special symbols be inserted into object files to mark certain
features:
$a
At the start of a region of code containing ARM instructions.
$t
At the start of a region of code containing THUMB instructions.
$d
At the start of a region of data.
The assembler will automatically insert these symbols for you there is no need to code them yourself.
Support for tagging symbols ($b, $f, $p and $m) which is also mentioned in the current ARM ELF
footer
Our partners:
PHP: Hypertext Preprocessor Best Web Hosting
Java Web Hosting
Inexpensive Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Jsp Hosting
Cheap Hosting
Visionwebhosting.net Business web hosting division of Web
Design Plus. All rights reserved