* doc/c-mmix.texi: Use texinfo 4 features.

(MMIX-mmixal): Fix typo.
This commit is contained in:
Hans-Peter Nilsson 2001-11-19 01:19:07 +00:00
parent 4544e9e7ae
commit 13f7ad5861
2 changed files with 25 additions and 20 deletions

View file

@ -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

View file

@ -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