* doc/c-mmix.texi: Use texinfo 4 features.
(MMIX-mmixal): Fix typo.
This commit is contained in:
parent
4544e9e7ae
commit
13f7ad5861
2 changed files with 25 additions and 20 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2001-11-19 Hans-Peter Nilsson <hp@bitrange.com>
|
||||||
|
|
||||||
|
* doc/c-mmix.texi: Use texinfo 4 features.
|
||||||
|
(MMIX-mmixal): Fix typo.
|
||||||
|
|
||||||
2001-11-17 Hans-Peter Nilsson <hp@axis.com>
|
2001-11-17 Hans-Peter Nilsson <hp@axis.com>
|
||||||
|
|
||||||
* config/tc-cris.c (md_apply_fix3): Cast value, not pointer, in
|
* config/tc-cris.c (md_apply_fix3): Cast value, not pointer, in
|
||||||
|
|
|
@ -62,8 +62,8 @@ or an external symbol (@pxref{MMIX-Expand}). By passing
|
||||||
at link time if the operand does not fit.
|
at link time if the operand does not fit.
|
||||||
|
|
||||||
@cindex @samp{--no-merge-gregs} command line option, MMIX
|
@cindex @samp{--no-merge-gregs} command line option, MMIX
|
||||||
The @code{mmixal} documentation (@pxref{MMIX-Syntax}) specifies that global
|
The @code{mmixal} documentation (@pxref{mmixsite}) specifies that global
|
||||||
registers allocated with the @samp{GREG} directive (@pxref{MMIX-Pseudos}) and
|
registers allocated with the @samp{GREG} directive (@pxref{MMIX-greg}) and
|
||||||
initialized to the same non-zero value, will refer to the same global
|
initialized to the same non-zero value, will refer to the same global
|
||||||
register. This isn't strictly enforcable in @code{@value{AS}} since the
|
register. This isn't strictly enforcable in @code{@value{AS}} since the
|
||||||
final addresses aren't known until link-time, but it will do an effort
|
final addresses aren't known until link-time, but it will do an effort
|
||||||
|
@ -119,7 +119,7 @@ The assembly syntax is supposed to be upward compatible with that
|
||||||
described in Sections 1.3 and 1.4 of @samp{The Art of Computer
|
described in Sections 1.3 and 1.4 of @samp{The Art of Computer
|
||||||
Programming, Volume 1}. Draft versions of those chapters as well as other
|
Programming, Volume 1}. Draft versions of those chapters as well as other
|
||||||
MMIX information is located at
|
MMIX information is located at
|
||||||
@emph{mmixsite} @emph{http://www-cs-faculty.stanford.edu/~knuth/mmix-news.html}.
|
@anchor{mmixsite}@url{http://www-cs-faculty.stanford.edu/~knuth/mmix-news.html}.
|
||||||
Most code examples from the mmixal package located there should work
|
Most code examples from the mmixal package located there should work
|
||||||
unmodified when assembled and linked as single files, with a few
|
unmodified when assembled and linked as single files, with a few
|
||||||
noteworthy exceptions (@pxref{MMIX-mmixal}).
|
noteworthy exceptions (@pxref{MMIX-mmixal}).
|
||||||
|
@ -164,7 +164,7 @@ The character @samp{:} is permitted in identifiers. There are two
|
||||||
exceptions to it being treated as any other symbol character: if a symbol
|
exceptions to it being treated as any other symbol character: if a symbol
|
||||||
begins with @samp{:}, it means that the symbol is in the global namespace
|
begins with @samp{:}, it means that the symbol is in the global namespace
|
||||||
and that the current prefix should not be prepended to that symbol
|
and that the current prefix should not be prepended to that symbol
|
||||||
(@pxref{MMIX-Pseudos}). The @samp{:} is then not considered part of the
|
(@pxref{MMIX-prefix}). The @samp{:} is then not considered part of the
|
||||||
symbol. For a symbol in the label position (first on a line), a @samp{:}
|
symbol. For a symbol in the label position (first on a line), a @samp{:}
|
||||||
at the end of a symbol is silently stripped off. A label is permitted,
|
at the end of a symbol is silently stripped off. A label is permitted,
|
||||||
but not required, to be followed by a @samp{:}, as with many other
|
but not required, to be followed by a @samp{:}, as with many other
|
||||||
|
@ -198,7 +198,7 @@ By defining the symbols @samp{__.MMIX.start..text} and
|
||||||
and @samp{.data} segments of the final program can be defined, though when
|
and @samp{.data} segments of the final program can be defined, though when
|
||||||
linking more than one object file, the code or data in the object file
|
linking more than one object file, the code or data in the object file
|
||||||
containing the symbol is not guaranteed to be start at that position; just
|
containing the symbol is not guaranteed to be start at that position; just
|
||||||
the final executable. @xref{MMIX-Pseudos}.
|
the final executable. @xref{MMIX-loc}.
|
||||||
|
|
||||||
@node MMIX-Regs
|
@node MMIX-Regs
|
||||||
@subsection Register names
|
@subsection Register names
|
||||||
|
@ -238,7 +238,7 @@ instructions having a special register operand; @code{GET} and @code{PUT}.
|
||||||
@cindex MMIX assembler directive LOC
|
@cindex MMIX assembler directive LOC
|
||||||
@cindex MMIX pseudo-op LOC
|
@cindex MMIX pseudo-op LOC
|
||||||
|
|
||||||
@emph{MMIX-loc}
|
@anchor{MMIX-loc}
|
||||||
The @code{LOC} directive sets the current location to the value of the
|
The @code{LOC} directive sets the current location to the value of the
|
||||||
operand field, which may include changing sections. If the operand is a
|
operand field, which may include changing sections. If the operand is a
|
||||||
constant, the section is set to either @code{.data} if the value is
|
constant, the section is set to either @code{.data} if the value is
|
||||||
|
@ -267,7 +267,7 @@ with the LOC definition).
|
||||||
@cindex MMIX assembler directive LOCAL
|
@cindex MMIX assembler directive LOCAL
|
||||||
@cindex MMIX pseudo-op LOCAL
|
@cindex MMIX pseudo-op LOCAL
|
||||||
|
|
||||||
@emph{MMIX-local}
|
@anchor{MMIX-local}
|
||||||
Example:
|
Example:
|
||||||
@smallexample
|
@smallexample
|
||||||
LOCAL external_symbol
|
LOCAL external_symbol
|
||||||
|
@ -288,7 +288,7 @@ section with contents, code or data.
|
||||||
@cindex MMIX assembler directive IS
|
@cindex MMIX assembler directive IS
|
||||||
@cindex MMIX pseudo-op IS
|
@cindex MMIX pseudo-op IS
|
||||||
|
|
||||||
@emph{MMIX-is}
|
@anchor{MMIX-is}
|
||||||
The @code{IS} directive:
|
The @code{IS} directive:
|
||||||
@smallexample
|
@smallexample
|
||||||
asymbol IS an_expression
|
asymbol IS an_expression
|
||||||
|
@ -306,7 +306,7 @@ this directive, for example:
|
||||||
@cindex MMIX assembler directive GREG
|
@cindex MMIX assembler directive GREG
|
||||||
@cindex MMIX pseudo-op GREG
|
@cindex MMIX pseudo-op GREG
|
||||||
|
|
||||||
@emph{MMIX-greg}
|
@anchor{MMIX-greg}
|
||||||
This directive reserves a global register, gives it an initial value and
|
This directive reserves a global register, gives it an initial value and
|
||||||
optionally gives it a symbolic name. Some examples:
|
optionally gives it a symbolic name. Some examples:
|
||||||
|
|
||||||
|
@ -353,7 +353,7 @@ Any of the instructions
|
||||||
@samp{STUNC},
|
@samp{STUNC},
|
||||||
@samp{SYNCD},
|
@samp{SYNCD},
|
||||||
@samp{SYNCID},
|
@samp{SYNCID},
|
||||||
can have a value nearby @emph{GREG-base}an initial value in place of its
|
can have a value nearby @anchor{GREG-base}an initial value in place of its
|
||||||
second and third operands. Here, ``nearby'' is defined as within the
|
second and third operands. Here, ``nearby'' is defined as within the
|
||||||
range 0@dots{}255 from the initial value of such an allocated register.
|
range 0@dots{}255 from the initial value of such an allocated register.
|
||||||
|
|
||||||
|
@ -389,7 +389,7 @@ together.
|
||||||
@cindex MMIX assembler directive BYTE
|
@cindex MMIX assembler directive BYTE
|
||||||
@cindex MMIX pseudo-op BYTE
|
@cindex MMIX pseudo-op BYTE
|
||||||
|
|
||||||
@emph{MMIX-byte}
|
@anchor{MMIX-byte}
|
||||||
The @samp{BYTE} directive takes a series of operands separated by a comma.
|
The @samp{BYTE} directive takes a series of operands separated by a comma.
|
||||||
If an operand is a string (@pxref{Strings}), each character of that string
|
If an operand is a string (@pxref{Strings}), each character of that string
|
||||||
is emitted as a byte. Other operands must be constant expressions without
|
is emitted as a byte. Other operands must be constant expressions without
|
||||||
|
@ -413,7 +413,7 @@ operand can be omitted, defaulting to a zero value.
|
||||||
@cindex MMIX assembler directive OCTA
|
@cindex MMIX assembler directive OCTA
|
||||||
@cindex MMIX pseudo-op OCTA
|
@cindex MMIX pseudo-op OCTA
|
||||||
|
|
||||||
@emph{MMIX-constants}
|
@anchor{MMIX-constants}
|
||||||
The directives @samp{WYDE}, @samp{TETRA} and @samp{OCTA} emit constants of
|
The directives @samp{WYDE}, @samp{TETRA} and @samp{OCTA} emit constants of
|
||||||
two, four and eight bytes size respectively. Before anything else happens
|
two, four and eight bytes size respectively. Before anything else happens
|
||||||
for the directive, the current location is aligned to the respective
|
for the directive, the current location is aligned to the respective
|
||||||
|
@ -430,7 +430,7 @@ indicated by the directive.
|
||||||
@cindex MMIX assembler directive PREFIX
|
@cindex MMIX assembler directive PREFIX
|
||||||
@cindex MMIX pseudo-op PREFIX
|
@cindex MMIX pseudo-op PREFIX
|
||||||
|
|
||||||
@emph{MMIX-prefix}
|
@anchor{MMIX-prefix}
|
||||||
The @samp{PREFIX} directive sets a symbol name prefix to be prepended to
|
The @samp{PREFIX} directive sets a symbol name prefix to be prepended to
|
||||||
all symbols (except local symbols, @pxref{MMIX-Symbols}), that are not
|
all symbols (except local symbols, @pxref{MMIX-Symbols}), that are not
|
||||||
prefixed with @samp{:}, until the next @samp{PREFIX} directive. Such
|
prefixed with @samp{:}, until the next @samp{PREFIX} directive. Such
|
||||||
|
@ -453,7 +453,7 @@ defines a symbol @samp{abc} with the value 0.
|
||||||
@cindex MMIX assembler directive ESPEC
|
@cindex MMIX assembler directive ESPEC
|
||||||
@cindex MMIX pseudo-op ESPEC
|
@cindex MMIX pseudo-op ESPEC
|
||||||
|
|
||||||
@emph{MMIX-spec}
|
@anchor{MMIX-spec}
|
||||||
A pair of @samp{BSPEC} and @samp{ESPEC} directives delimit a section of
|
A pair of @samp{BSPEC} and @samp{ESPEC} directives delimit a section of
|
||||||
special contents (without specified semantics). Example:
|
special contents (without specified semantics). Example:
|
||||||
@smallexample
|
@smallexample
|
||||||
|
@ -472,10 +472,10 @@ implementation.
|
||||||
@cindex differences, mmixal
|
@cindex differences, mmixal
|
||||||
|
|
||||||
The binutils @code{@value{AS}} and @code{@value{LD}} combination has a few
|
The binutils @code{@value{AS}} and @code{@value{LD}} combination has a few
|
||||||
differences in function compared to @code{mmixal} (@pxref{MMIX-Syntax}).
|
differences in function compared to @code{mmixal} (@pxref{mmixsite}).
|
||||||
|
|
||||||
The replacement of a symbol with a GREG-allocated register
|
The replacement of a symbol with a GREG-allocated register
|
||||||
(@xref{MMIX-Pseudos}) is not handled the exactly same way in
|
(@pxref{GREG-base}) is not handled the exactly same way in
|
||||||
@code{@value{AS}} as in @code{mmixal}. This is apparent in the
|
@code{@value{AS}} as in @code{mmixal}. This is apparent in the
|
||||||
@code{mmixal} example file @code{inout.mms}, where different registers
|
@code{mmixal} example file @code{inout.mms}, where different registers
|
||||||
with different offsets, eventually yielding the same address, are used in
|
with different offsets, eventually yielding the same address, are used in
|
||||||
|
@ -516,7 +516,7 @@ Some mapping of constant expressions to sections in LOC expressions is
|
||||||
attempted, but that functionality is easily confused and should be avoided
|
attempted, but that functionality is easily confused and should be avoided
|
||||||
unless compatibility with @code{mmixal} is required. A LOC expression to
|
unless compatibility with @code{mmixal} is required. A LOC expression to
|
||||||
@samp{0x2000000000000000} or higher, maps to the @samp{.data} section and
|
@samp{0x2000000000000000} or higher, maps to the @samp{.data} section and
|
||||||
lower addresses map to the @samp{.text} section (@pxref{MMIX-Pseudos}).
|
lower addresses map to the @samp{.text} section (@pxref{MMIX-loc}).
|
||||||
|
|
||||||
The code and data areas are each contiguous. Sparse programs with
|
The code and data areas are each contiguous. Sparse programs with
|
||||||
far-away LOC directives will take up the same amount of space as a
|
far-away LOC directives will take up the same amount of space as a
|
||||||
|
@ -545,9 +545,9 @@ upper-case characters.
|
||||||
There's no unicode support.
|
There's no unicode support.
|
||||||
|
|
||||||
The following is a list of programs in
|
The following is a list of programs in
|
||||||
@emph{http://www-cs-faculty.stanford.edu/~knuth/mmix-news.html} dated
|
@url{http://www-cs-faculty.stanford.edu/~knuth/mmix-news.html} dated
|
||||||
2001-08-25 (md5sum c393470cfc86fac040487d22d2bf0172) that assembles with
|
2001-08-25 (md5sum c393470cfc86fac040487d22d2bf0172) that assemble with
|
||||||
@code{mmixal} but don't with @code{@value{AS}}:
|
@code{mmixal} but do not assemble with @code{@value{AS}}:
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
@item silly.mms
|
@item silly.mms
|
||||||
|
|
Loading…
Add table
Reference in a new issue