You copied the Doc URL to your clipboard.

armasm Legacy Assembler Reference

Table of Contents

armasm Command-line Options
--16
--32
--apcs=qualifier…qualifier
--arm
--arm_only
--bi
--bigend
--brief_diagnostics, --no_brief_diagnostics
--checkreglist
--cpreproc
--cpreproc_opts=option[,option,…]
--cpu=list (armasm)
--cpu=name (armasm)
--debug
--depend=dependfile
--depend_format=string
--diag_error=tag[,tag,…] (armasm)
--diag_remark=tag[,tag,…] (armasm)
--diag_style={arm|ide|gnu} (armasm)
--diag_suppress=tag[,tag,…] (armasm)
--diag_warning=tag[,tag,…] (armasm)
--dllexport_all
--dwarf2
--dwarf3
--errors=errorfile
--exceptions, --no_exceptions
--exceptions_unwind, --no_exceptions_unwind
--execstack, --no_execstack
--execute_only
--fpmode=model
--fpu=list (armasm)
--fpu=name (armasm)
-g (armasm)
--help (armasm)
-idir[,dir, …]
--keep (armasm)
--length=n
--li
--library_type=lib
--list=file
--list=
--littleend
-m (armasm)
--maxcache=n
--md
--no_code_gen
--no_esc
--no_hide_all
--no_regs
--no_terse
--no_warn
-o filename (armasm)
--pd
--predefine "directive"
--reduce_paths, --no_reduce_paths
--regnames
--report-if-not-wysiwyg
--show_cmdline (armasm)
--thumb
--unaligned_access, --no_unaligned_access
--unsafe
--untyped_local_labels
--version_number (armasm)
--via=filename (armasm)
--vsn (armasm)
--width=n
--xref
Structure of armasm Assembly Language Modules
Syntax of source lines in armasm syntax assembly language
Literals
ELF sections and the AREA directive
An example armasm syntax assembly language module
Writing A32/T32 Instructions in armasm Syntax Assembly Language
About the Unified Assembler Language
Syntax differences between UAL and A64 assembly language
Register usage in subroutine calls
Load immediate values
Load immediate values using MOV and MVN
Load immediate values using MOV32
Load immediate values using LDR Rd, =const
Literal pools
Load addresses into registers
Load addresses to a register using ADR
Load addresses to a register using ADRL
Load addresses to a register using LDR Rd, =label
Other ways to load and store registers
Load and store multiple register instructions
Load and store multiple register instructions in A32 and T32
Stack implementation using LDM and STM
Stack operations for nested subroutines
Block copy with LDM and STM
Memory accesses
The Read-Modify-Write operation
Optional hash with immediate constants
Use of macros
Test-and-branch macro example
Unsigned integer division macro example
Instruction and directive relocations
Symbol versions
Frame directives
Exception tables and Unwind tables
Using armasm
armasm command-line syntax
Specify command-line options with an environment variable
Using stdin to input source code to the assembler
Built-in variables and constants
Identifying versions of armasm in source code
Diagnostic messages
Interlocks diagnostics
Automatic IT block generation in T32 code
T32 branch target alignment
T32 code size diagnostics
A32 and T32 instruction portability diagnostics
T32 instruction width diagnostics
Two pass assembler diagnostics
Using the C preprocessor
Address alignment in A32/T32 code
Address alignment in A64 code
Instruction width selection in T32 code
Symbols, Literals, Expressions, and Operators in armasm Assembly Language
Symbol naming rules
Variables
Numeric constants
Assembly time substitution of variables
Register-relative and PC-relative expressions
Labels
Labels for PC-relative addresses
Labels for register-relative addresses
Labels for absolute addresses
Numeric local labels
Syntax of numeric local labels
String expressions
String literals
Numeric expressions
Syntax of numeric literals
Syntax of floating-point literals
Logical expressions
Logical literals
Unary operators
Binary operators
Multiplicative operators
String manipulation operators
Shift operators
Addition, subtraction, and logical operators
Relational operators
Boolean operators
Operator precedence
Difference between operator precedence in assembly language and C
armasm Directives Reference
Alphabetical list of directives armasm assembly language directives
About armasm assembly language control directives
About frame directives
Directives that can be omitted in pass 2 of the assembler
ALIAS
ALIGN
AREA
ARM or CODE32 directive
ASSERT
ATTR
CN
CODE16 directive
COMMON
CP
DATA
DCB
DCD and DCDU
DCDO
DCFD and DCFDU
DCFS and DCFSU
DCI
DCQ and DCQU
DCW and DCWU
END
ENDFUNC or ENDP
ENTRY
EQU
EXPORT or GLOBAL
EXPORTAS
FIELD
FRAME ADDRESS
FRAME POP
FRAME PUSH
FRAME REGISTER
FRAME RESTORE
FRAME RETURN ADDRESS
FRAME SAVE
FRAME STATE REMEMBER
FRAME STATE RESTORE
FRAME UNWIND ON
FRAME UNWIND OFF
FUNCTION or PROC
GBLA, GBLL, and GBLS
GET or INCLUDE
IF, ELSE, ENDIF, and ELIF
IMPORT and EXTERN
INCBIN
INFO
KEEP
LCLA, LCLL, and LCLS
LTORG
MACRO and MEND
MAP
MEXIT
NOFP
OPT
QN, DN, and SN
RELOC
REQUIRE
REQUIRE8 and PRESERVE8
RLIST
RN
ROUT
SETA, SETL, and SETS
SPACE or FILL
THUMB directive
TTL and SUBT
WHILE and WEND
WN and XN
armasm-Specific A32 and T32 Instruction Set Features
armasm support for the CSDB instruction
A32 and T32 pseudo-instruction summary
ADRL pseudo-instruction
CPY pseudo-instruction
LDR pseudo-instruction
MOV32 pseudo-instruction
NEG pseudo-instruction
UND pseudo-instruction