ARM VERSION 1.2 Computer Hardware User Manual


 
Assembler Reference
3-2 Copyright © 2000, 2001 ARM Limited. All rights reserved. ARM DUI 0068B
3.1 Command syntax
This section relates only to
armasm
. The inline assemblers are part of the C and C++
compilers, and have no command syntax of their own.
The
armasm
command line is case-insensitive, except in filenames, and where specified.
Invoke the ARM assembler using this command:
armasm [-16|-32] [-apcs [none|[/qualifier[/qualifier[...]]]]]
[-bi
gend|-littleend] [-checkreglist] [-cpu cpu] [-depend dependfile|-m|-md]
[-e
rrors errorfile] [-fpu name] [-g] [-help] [-i dir [,dir]…] [-keep] [-list
[listingfile] [options]] [-m
axcache n] [-memaccess attributes] [-nocache]
[-noe
sc] [-noregs] [-nowarn] [-o filename] [-predefine "directive"] [-split_ldm]
[-unsafe] [-via file] inputfile
where:
-16
instructs the assembler to interpret instructions as Thumb instructions.
This is equivalent to a
CODE16
directive at the head of the source file.
-32
instructs the assembler to interpret instructions as ARM instructions.
This is the default.
-apcs [none|[/qualifier[/qualifier[...]]]]
specifies whether you are using the ARM/Thumb Procedure Call
Standard (ATPCS). It can also specify some attributes of code sections.
See ADS Developer Guide for more information about the ATPCS.
/none
specifies that
inputfile
does not use ATPCS. ATPCS registers
are not set up. Qualifiers are not allowed.
Note
ATPCS qualifiers do not affect the code produced by the assembler. They
are an assertion by the programmer that the code in
inputfile
complies
with a particular variant of ATPCS. They cause attributes to be set in the
object file produced by the assembler. The linker uses these attributes to
check compatibility of files, and to select appropriate library variants.
Values for
qualifier
are:
/interwork
specifies that the code in
inputfile
is suitable for
ARM/Thumb interworking. See ADS Developer
Guide for information on interworking.
/nointerwork
specifies that the code in
inputfile
is not suitable
for ARM/Thumb interworking. This is the default.