as: MIPS insn
9.26.8 Directive to mark data as an instruction
-----------------------------------------------
The '.insn' directive tells 'as' that the following data is actually
instructions. This makes a difference in MIPS 16 and microMIPS modes:
when loading the address of a label which precedes instructions, 'as'
automatically adds 1 to the value, so that jumping to the loaded address
will do the right thing.
The '.global' and '.globl' directives supported by 'as' will by
default mark the symbol as pointing to a region of data not code. This
means that, for example, any instructions following such a symbol will
not be disassembled by 'objdump' as it will regard them as data. To
change this behavior an optional section name can be placed after the
symbol name in the '.global' directive. If this section exists and is
known to be a code section, then the symbol will be marked as pointing
at code not data. Ie the syntax for the directive is:
'.global SYMBOL[ SECTION][, SYMBOL[ SECTION]] ...',
Here is a short example:
.global foo .text, bar, baz .data
foo:
nop
bar:
.word 0x0
baz:
.word 0x1