30.8. ERC32 Machine Directives

The assembler supports the following additional machine directives:

.common name, size, "bss", alignment

.common declares a named common area in the bss section. Normally the linker reserves memory addresses for it during linking, so no partial program defines the location of the symbol. Use .common to tell the linker that it must be at least length bytes long. The linker allocates space for each .common symbol that is at least as long as the longest .common request in any of the partial programs linked. length is an absolute expression.

alignment gives the required linker alignment as a number of bytes.

.half

This is functionally identical to .short.

.proc

This directive is ignored. Any text following it on the same line is also ignored.

.reserve symbol, length, ".bss", alignment

This must be followed by a symbol name, a positive number, and "bss" (or ".bss"). This behaves somewhat like .lcomm, but the syntax is different.

alignment gives the required linker alignment as a number of bytes.

.seg

This must be followed by "text", "data", or "data1". It behaves like .text, .data, or .data 1.

.skip

This is functionally identical to the .space directive.

.word

On the ERC32, the .word directive produces 32 bit values, instead of the 16 bit values it produces on many other machines.

.xword

On the ERC32 processor, the .xword directive produces 64 bit values.