The supported GNU extensions, regardless whether you enable GNU assembler compatible syntax are as follows:
.macro name,arg1[=default1],arg2...s1
...
.endm
Arguments can have default values as shown, and when called can be specified by value or position. (refer to the GNU documentation for details.)
The following table lists the supported GNU assembler directives.
| Directive | Description | Comment |
|---|---|---|
| .abort | End assembly | Supported |
| .align N,[pad] | Align | Now accepts optional padding byte |
| .app-file name | Source name | Synonym for .file |
| .balign[wl] N,[pad] | Align | Align to N (with optional padding value) |
| .common name,length | Common data | Reserve space in BSS for global symbol |
| .def | Debugging | Accepted but ignored |
| .desc | Debugging | Accepted but ignored |
| .dim | Debugging | Accepted but ignored |
| .eject | Eject page | Accepted but ignored |
| .endr | End repeat | refer .irp, .irpc |
| .endef | Debugging | Accepted but ignored |
| .fill N,[size],[val] | Repeat data | Emit N copies of width `size', value `val' |
| .hword val.. | Half-word | Synonym for .short |
| .ident | Tags | Accepted but ignored |
| .ifnotdef name | Conditional | Synonym for .ifndef |
| .include name | Include file | Now accepts single, double or no quotes |
| .init val.. | Word | Synonym for .long |
| .irp name,values | Repeat | Repeat up to .endr substituting values for name |
| .irpc name,chars | Repeat | Repeat up to .endr substituting chars for name |
| .lcomm name,length | Local common | Reserve length bytes in bss |
| .Iflags | Ignored | Accepted but ignored |
| .ln lineno | Line number | Synonym for .line |
| .list | Listing on | Switch on listing |
| .local name | Local Macro var | Declare name as local to macro |
| .macro name, args.. | Macros | Supports GNU syntax, default values, etc |
| .nolist | Listing off | Disable listing |
| .org pos,fill | Origin | Now allows fill value to be specified |
| .p2align[wl] N[,pad] | Align | Align to 2**N, using pad value `pad' |
| .psize | Page size | Accepted but ignored |
| .rept N | Repeat | Repeat block up to .endr N times |
| .sbttl | Subtitle | Accepted but ignored |
| .scl | Debugging | Accepted but ignored |
| .size name,N | Set size | Set size of name to N |
| .skip N[,pad] | Space | Skip N bytes, pad with `pad' |
| .space N[,pad] | Space | Skip N bytes, pad with `pad' |
| .stabd | Debugging | Accepted but ignored |
| .stabn | Debugging | Accepted but ignored |
| .stabs | Debugging | Accepted but ignored |
| .str "string" | Contstant string | Synonym for .asciz |
| .string "string" | Constant String | Synonym for .asciz |
| .tag | Debugging | Accepted but ignored |
| .title | Title | Accepted but ignored |
| .type | Debugging | Ignored in GNU mode |
| .val | Debugging | Accepted but ignored |
| .word | Word | Synonym for .long |