Go to the first, previous, next, last section, table of contents.


ARM Dependent Features

Options

-marm [2|250|3|6|60|600|610|620|7|7m|7d|7dm|7di|7dmi|70|700|700i|710|710c|7100|7500|7500fe|7tdmi|8|strongarm|strongarm110]
This option specifies the target processor. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target processor.
-marmv [2|2a|3|3m|4|4t]
This option specifies the target architecture. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target architecture.
-mthumb
This option specifies that only Thumb instructions should be assembled.
-mall
This option specifies that any Arm or Thumb instruction should be assembled.
-mfpa [10|11]
This option specifies the floating point architecture in use on the target processor.
-mfpe-old
Do not allow the assemble of floating point multiple instructions.
-mno-fpu
Do not allow the assembly of any floating point instructions.
-mthumb-interwork
This option specifies that the output generated by the assembler should be marked as supporting interworking.
-mapcs [26|32]
This option specifies that the output generated by the assembler should be marked as supporting the indicated version of the Arm Procedure. Calling Standard.
-EB
This option specifies that the output generated by the assembler should be marked as being encoded for a big-endian processor.
-EL
This option specifies that the output generated by the assembler should be marked as being encoded for a little-endian processor.

Syntax

Special Characters

`;' is the line comment character.

*TODO* Explain about /data modifier on symbols.

Register Names

*TODO* Explain about ARM register naming, and the predefined names.

Floating Point

The ARM family uses IEEE floating-point numbers.

ARM Machine Directives

.code [16|32]
This directive selects the instruction set being generated. The value 16 selects Thumb, with the value 32 selecting ARM.
.thumb
This performs the same action as .code 16.
.arm
This performs the same action as .code 32.
.force_thumb
This directive forces the selection of Thumb instructions, even if the target processor does not support those instructions
.thumb_func
This directive specifies that the following symbol is the name of a Thumb encoded function. This information is necessary in order to allow the assembler and linker to generate correct code for interworking between Arm and Thumb instructions and should be used even if interworking is not going to be performed.

Opcodes

as implements all the standard ARM opcodes.

*TODO* Document the pseudo-ops (adr, nop)

For information on the ARM or Thumb instruction sets, see ARM Software Development Toolkit Reference Manual, Advanced RISC Machines Ltd.


Go to the first, previous, next, last section, table of contents.