Updates from SAC answers to queries on z8k stuff.
authorRoland Pesch <pesch@cygnus>
Wed, 25 Nov 1992 01:39:45 +0000 (01:39 +0000)
committerRoland Pesch <pesch@cygnus>
Wed, 25 Nov 1992 01:39:45 +0000 (01:39 +0000)
gas/doc/as-all.texinfo
gas/doc/as.texinfo

index c8453e7..f25eb61 100644 (file)
@@ -54,7 +54,7 @@ instead of in the original English.
 @title Using as
 @subtitle The GNU Assembler
 @sp 1
-@subtitle January 1992
+@subtitle November 1992
 @sp 1
 @sp 13
 The Free Software Foundation Inc.  thanks The Nice Computer
@@ -4594,9 +4594,21 @@ $69, %eax, %eax}.
 @section Z8000 Dependent Features
 
 @cindex Z8000 support
+The Z8000 as supports both members of the Z8000 family: the
+unsegmented Z8002, with 16 bit addresses, and the segmented Z8001 with
+24 bit addresses.
+
+When the assembler is in unsegmented mode (specified with the
+@code{unsegm} directive), an address will take up one word (16 bit)
+sized register.  When the assembler is in segmented mode (specified with
+the @code{segm} directive), a 24-bit address takes up a long (32 bit)
+register.  @xref{Z8000 Directives,,Assembler Directives for the Z8000},
+for a list of other Z8000 specific assembler directives.
+
 @menu
 * Z8000 Options::               No special command-line options for Z8000
-* Z8000 Syntax::                Assembler Syntax for the Z8000
+* Z8000 Syntax::                Assembler syntax for the Z8000
+* Z8000 Directives::            Special directives for the Z8000
 * Z8000 Opcodes::               Opcodes
 @end menu
 
@@ -4670,63 +4682,66 @@ Register direct
 Indirect register 
 
 @item @var{addr}
-Direct: the 16/24 bit address of the operand is in the instruction.
+Direct: the 16 bit or 24 bit address (depending on whether the assembler
+is in segmented or unsegmented mode) of the operand is in the instruction.
 
 @item address(r@var{n})
-Indexed: the 16/24 bit address is added to the 16 bit register to produce
+Indexed: the 16 or 24 bit address is added to the 16 bit register to produce
 the final address in memory of the operand.
 
 @item r@var{n}(#@var{imm})
-Base Address: the 16/24 bit register is added to the 16 bit sign
+Base Address: the 16 or 24 bit register is added to the 16 bit sign
 extended immediate displacement to produce the final address in memory
 of the operand.
 
 @item r@var{n}(r@var{m})
-Base Index: the 16/24 bit register r@var{n} is added to the sign
+Base Index: the 16 or 24 bit register r@var{n} is added to the sign
 extended 16 bit index register r@var{m} to produce the final address in
 memory of the operand.
 
 @item #@var{xx}
 Immediate data @var{xx}.
 @end table
-@node Z8000 Opcodes
-@subsection Opcodes
 
-@cindex Z8000 opcode summary
-@cindex opcode summary, Z8000
-@cindex mnemonics, Z8000
-@cindex instruction summary, Z8000
-For detailed information on the Z8000 machine instruction set, see
-@cite{Z8000 Technical Manual}.
+@node Z8000 Directives
+@subsection Assembler Directives for the Z8000
 
 @cindex Z8000 directives
+@cindex directives, Z8000
 The Z8000 port of as includes these additional assembler directives,
 for compatibility with other Z8000 assemblers:
 
 @table @code
 @item segm
-@cindex segm
+@kindex segm
 Generates code for the segmented Z8001.
 
 @item unsegm
+@kindex unsegm
 Generates code for the unsegmented Z8002.
 
 @item name
+@kindex name
 Synonym for @code{.file}
 
 @item global
+@kindex global
 Synonum for @code{.global}
 
 @item wval
-Synonym for .word
+@kindex wval
+Synonym for @code{.word}
 
 @item lval
-Synonym for .long
+@kindex lval
+Synonym for @code{.long}
 
 @item bval
-Synonym for .byte
+@kindex bval
+Synonym for @code{.byte}
 
 @item sval
+@kindex sval
 Assemble a string.  @code{sval} expects one string literal, delimited by
 single quotes.  It assembles each byte of the string into consecutive
 addresses.  You can use the escape sequence @samp{%@var{xx}} (where
@@ -4735,22 +4750,47 @@ character whose @sc{ascii} value is @var{xx}.  Use this feature to
 describe single quote and other characters that may not appear in string
 literals as themselves.  For example, the C statement @w{@samp{char *a =
 "he said \"it's 50% off\"";}} is represented in Z8000 assembly language
-as
+(shown with the assembler output in hex at the left) as
 
+@iftex
+@begingroup
+@let@nonarrowing=@comment
+@end iftex
 @smallexample
-sval    'he said %22it%27s 50%25 off%22%00'
+68652073    sval    'he said %22it%27s 50%25 off%22%00'
+61696420 
+22697427 
+73203530 
+25206F66
+662200
 @end smallexample
+@iftex
+@endgroup
+@end iftex
 
 @item rsect
+@kindex rsect
 synonym for @code{.section}
 
 @item block
+@kindex block
 synonym for @code{.space}
 
 @item even
+@kindex even
 synonym for @code{.align 1}
 @end table
 
+@node Z8000 Opcodes
+@subsection Opcodes
+
+@cindex Z8000 opcode summary
+@cindex opcode summary, Z8000
+@cindex mnemonics, Z8000
+@cindex instruction summary, Z8000
+For detailed information on the Z8000 machine instruction set, see
+@cite{Z8000 Technical Manual}.
+
 The following table summarizes the opcodes and their arguments:
 @iftex
 @begingroup
index 6bd7b74..90264be 100644 (file)
@@ -79,7 +79,7 @@ _if__(!_GENERIC__)
 @subtitle for the _HOST__ family
 _fi__(!_GENERIC__)
 @sp 1
-@subtitle January 1992
+@subtitle November 1992
 @sp 1
 @sp 13
 The Free Software Foundation Inc.  thanks The Nice Computer
@@ -5254,9 +5254,21 @@ _fi__(_GENERIC__)
 _CHAPSEC__(0+_GENERIC__) Z8000 Dependent Features
 
 @cindex Z8000 support
+The Z8000 _AS__ supports both members of the Z8000 family: the
+unsegmented Z8002, with 16 bit addresses, and the segmented Z8001 with
+24 bit addresses.
+
+When the assembler is in unsegmented mode (specified with the
+@code{unsegm} directive), an address will take up one word (16 bit)
+sized register.  When the assembler is in segmented mode (specified with
+the @code{segm} directive), a 24-bit address takes up a long (32 bit)
+register.  @xref{Z8000 Directives,,Assembler Directives for the Z8000},
+for a list of other Z8000 specific assembler directives.
+
 @menu
 * Z8000 Options::               No special command-line options for Z8000
-* Z8000 Syntax::                Assembler Syntax for the Z8000
+* Z8000 Syntax::                Assembler syntax for the Z8000
+* Z8000 Directives::            Special directives for the Z8000
 * Z8000 Opcodes::               Opcodes
 @end menu
 
@@ -5330,63 +5342,66 @@ Register direct
 Indirect register 
 
 @item @var{addr}
-Direct: the 16/24 bit address of the operand is in the instruction.
+Direct: the 16 bit or 24 bit address (depending on whether the assembler
+is in segmented or unsegmented mode) of the operand is in the instruction.
 
 @item address(r@var{n})
-Indexed: the 16/24 bit address is added to the 16 bit register to produce
+Indexed: the 16 or 24 bit address is added to the 16 bit register to produce
 the final address in memory of the operand.
 
 @item r@var{n}(#@var{imm})
-Base Address: the 16/24 bit register is added to the 16 bit sign
+Base Address: the 16 or 24 bit register is added to the 16 bit sign
 extended immediate displacement to produce the final address in memory
 of the operand.
 
 @item r@var{n}(r@var{m})
-Base Index: the 16/24 bit register r@var{n} is added to the sign
+Base Index: the 16 or 24 bit register r@var{n} is added to the sign
 extended 16 bit index register r@var{m} to produce the final address in
 memory of the operand.
 
 @item #@var{xx}
 Immediate data @var{xx}.
 @end table
-@node Z8000 Opcodes
-_CHAPSEC__(1+_GENERIC__) Opcodes
 
-@cindex Z8000 opcode summary
-@cindex opcode summary, Z8000
-@cindex mnemonics, Z8000
-@cindex instruction summary, Z8000
-For detailed information on the Z8000 machine instruction set, see
-@cite{Z8000 Technical Manual}.
+@node Z8000 Directives
+_CHAPSEC__(1+_GENERIC__) Assembler Directives for the Z8000
 
 @cindex Z8000 directives
+@cindex directives, Z8000
 The Z8000 port of _AS__ includes these additional assembler directives,
 for compatibility with other Z8000 assemblers:
 
 @table @code
 @item segm
-@cindex segm
+@kindex segm
 Generates code for the segmented Z8001.
 
 @item unsegm
+@kindex unsegm
 Generates code for the unsegmented Z8002.
 
 @item name
+@kindex name
 Synonym for @code{.file}
 
 @item global
+@kindex global
 Synonum for @code{.global}
 
 @item wval
-Synonym for .word
+@kindex wval
+Synonym for @code{.word}
 
 @item lval
-Synonym for .long
+@kindex lval
+Synonym for @code{.long}
 
 @item bval
-Synonym for .byte
+@kindex bval
+Synonym for @code{.byte}
 
 @item sval
+@kindex sval
 Assemble a string.  @code{sval} expects one string literal, delimited by
 single quotes.  It assembles each byte of the string into consecutive
 addresses.  You can use the escape sequence @samp{%@var{xx}} (where
@@ -5395,22 +5410,47 @@ character whose @sc{ascii} value is @var{xx}.  Use this feature to
 describe single quote and other characters that may not appear in string
 literals as themselves.  For example, the C statement @w{@samp{char *a =
 "he said \"it's 50% off\"";}} is represented in Z8000 assembly language
-as
+(shown with the assembler output in hex at the left) as
 
+@iftex
+@begingroup
+@let@nonarrowing=@comment
+@end iftex
 @smallexample
-sval    'he said %22it%27s 50%25 off%22%00'
+68652073    sval    'he said %22it%27s 50%25 off%22%00'
+61696420 
+22697427 
+73203530 
+25206F66
+662200
 @end smallexample
+@iftex
+@endgroup
+@end iftex
 
 @item rsect
+@kindex rsect
 synonym for @code{.section}
 
 @item block
+@kindex block
 synonym for @code{.space}
 
 @item even
+@kindex even
 synonym for @code{.align 1}
 @end table
 
+@node Z8000 Opcodes
+_CHAPSEC__(1+_GENERIC__) Opcodes
+
+@cindex Z8000 opcode summary
+@cindex opcode summary, Z8000
+@cindex mnemonics, Z8000
+@cindex instruction summary, Z8000
+For detailed information on the Z8000 machine instruction set, see
+@cite{Z8000 Technical Manual}.
+
 The following table summarizes the opcodes and their arguments:
 @iftex
 @begingroup