Next: ARM Opcodes, Previous: ARM Floating Point, Up: ARM-Dependent
.align expression [, expression] .req register name foo .req r0
.unreq alias-namereq directive. For example:
foo .req r0
.unreq foo
An error occurs if the name is undefined. Note - this pseudo op can be used to delete builtin in register name aliases (eg 'r0'). This should only be done if it is really necessary.
.code [16|32].thumb.arm.force_thumb.thumb_func.thumb
.thumb_set.set directive in that it
creates a symbol which is an alias for another symbol (possibly not yet
defined). This directive also has the added property in that it marks
the aliased symbol as being a thumb function entry point, in the same
way that the .thumb_func directive does.
.ltorgGAS maintains a separate literal pool for each section and each
sub-section. The .ltorg directive will only affect the literal
pool of the current section and sub-section. At the end of assembly
all remaining, un-empty literal pools will automatically be dumped.
Note - older versions of GAS would dump the current literal
pool any time a section change occurred. This is no longer done, since
it prevents accurate control of the placement of literal pools.
.pool.unwind_fnstart.unwind_fnendIf no personality routine has been specified then standard personality routine 0 or 1 will be used, depending on the number of unwind opcodes required.
.cantunwind.personality name.personalityindex index.handlerdata.fnend directive will be added to the exception table entry.
Must be preceded by a .personality or .personalityindex
directive.
.save reglist
core registers
.save {r4, r5, r6, lr} stmfd sp!, {r4, r5, r6, lr}
FPA registers
.save f4, 2 sfmfd f4, 2, [sp]!
VFP registers
.save {d8, d9, d10} fstmdf sp!, {d8, d9, d10}
iWMMXt registers
.save {wr10, wr11} wstrd wr11, [sp, #-8]! wstrd wr10, [sp, #-8]! or .save wr11 wstrd wr11, [sp, #-8]! .save wr10 wstrd wr10, [sp, #-8]!
.pad #count.movsp reg.setfp fpreg, spreg [, #offset]The syntax of this directive is the same as the sub or mov
instruction used to set the frame pointer. spreg must be either
sp or mentioned in a previous .movsp directive.
.movsp ip
mov ip, sp
...
.setfp fp, ip, #4
sub fp, ip, #4
.raw offset, byte1, ...For example .unwind_raw 4, 0xb1, 0x01 is equivalent to
.save {r0}
.cpu name.arch name.fpu name.eabi_attribute tag, valuenumber, "string", or number, "string"
depending on the tag.