Chapter 30. MMIX Dependent Features
177
buffer1 BYTE 0,0,0,0,0
buffer2 BYTE 0,0,0,0,0
...
tmpreg GREG buffer1
LDOU $42,tmpreg,(buffer2 buffer1)
Global registers allocated with this directive are allocated in order higher to lower within a file.
Other than that, the exact order of register allocation and elimination is undefined. For example,
the order is undefined when more than one file with such directives are linked together. With
the options
x
and
linker allocated gregs
,
GREG
directives for two operand cases like
the one mentioned above can be omitted. Sufficient global registers will then be allocated by the
linker.
BYTE
The
BYTE
directive takes a series of operands separated by a comma. If an operand is a string
(Section 4.6.1.1 Strings), each character of that string is emitted as a byte. Other operands must
be constant expressions without forward references, in the range 0. . . 255. If you need operands
having expressions with forward references, use
.byte
(Section 8.7
.byte expressions
). An
operand can be omitted, defaulting to a zero value.
WYDE
TETRA
OCTA
The directives
WYDE
,
TETRA
and
OCTA
emit constants of two, four and eight bytes size respec
tively. Before anything else happens for the directive, the current location is aligned to the re
spective constant size boundary. If a label is defined at the beginning of the line, its value will be
that after the alignment. A single operand can be omitted, defaulting to a zero value emitted for
the directive. Operands can be expressed as strings (Section 4.6.1.1 Strings), in which case each
character in the string is emitted as a separate constant of the size indicated by the directive.
PREFIX
The
PREFIX
directive sets a symbol name prefix to be prepended to all symbols (except local
symbols, Section 30.3.2 Symbols), that are not prefixed with
:
, until the next
PREFIX
directive.
Such prefixes accumulate. For example,
PREFIX a
PREFIX b
c IS 0
defines a symbol
abc
with the value 0.
BSPEC
ESPEC
A pair of
BSPEC
and
ESPEC
directives delimit a section of special contents (without specified
semantics). Example:
BSPEC 42
TETRA 1,2,3
ESPEC
The single operand to
BSPEC
must be number in the range 0. . . 255. The
BSPEC
number 80 is
used by the GNU binutils implementation.
footer
Our partners:
PHP: Hypertext Preprocessor Best Web Hosting
Java Web Hosting
Inexpensive Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Jsp Hosting
Cheap Hosting
Visionwebhosting.net Business web hosting division of Web
Design Plus. All rights reserved