Diff for /gforth/doc/gforth.ds between versions 1.54 and 1.55

version 1.54, 2000/06/17 19:38:28 version 1.55, 2000/06/29 18:07:50
Line 2891  like this: Line 2891  like this:
    ( ... n ) throw ;     ( ... n ) throw ;
 @end example  @end example
   
 Gforth provides an alternative syntax in addition to @code{cacth}:  Gforth provides an alternative syntax in addition to @code{catch}:
 @code{try ... recover ... endtry}.  If the code between @code{try} and  @code{try ... recover ... endtry}.  If the code between @code{try} and
 @code{recover} has an exception, the stack depths are restored, the  @code{recover} has an exception, the stack depths are restored, the
 exception number is pushed on the stack, and the code between  exception number is pushed on the stack, and the code between
Line 3321  The search order is a powerful foundatio Line 3321  The search order is a powerful foundatio
 to Modula-2 modules and C++ namespaces.  However, trying to modularize  to Modula-2 modules and C++ namespaces.  However, trying to modularize
 programs in this way has disadvantages for debugging and reuse/factoring  programs in this way has disadvantages for debugging and reuse/factoring
 that overcome the advantages in my experience (I don't do huge projects,  that overcome the advantages in my experience (I don't do huge projects,
 though).  These disadvanategs are not so clear in other  though).  These disadvantages are not so clear in other
 languages/programming environments, because these langauges are not so  languages/programming environments, because these langauges are not so
 strong in debugging and reuse.  strong in debugging and reuse.
   
Line 8669  The instruction names usually end with a Line 8669  The instruction names usually end with a
 to visually separate instructions if you put several of them on one  to visually separate instructions if you put several of them on one
 line; it also avoids shadowing other Forth words (e.g., @code{and}).  line; it also avoids shadowing other Forth words (e.g., @code{and}).
   
   Registers are usually specified by number; e.g., (decimal) @code{11}
   specifies registers R11 and F11 on the Alpha architecture (which one,
   depends on the instruction).  The usual names are also available, e.g.,
   @code{s2} for R11 on Alpha.
   
 Control flow is specified similar to normal Forth code (@pxref{Arbitrary  Control flow is specified similar to normal Forth code (@pxref{Arbitrary
 control structures}), with @code{if,}, @code{ahead,}, @code{then,},  control structures}), with @code{if,}, @code{ahead,}, @code{then,},
 @code{begin,}, @code{until,}, @code{again,}, @code{cs-roll},  @code{begin,}, @code{until,}, @code{again,}, @code{cs-roll},
Line 8704  Andrew McKewan; it is in the public doma Line 8709  Andrew McKewan; it is in the public doma
 @node Alpha Assembler, MIPS assembler, 386 Assembler, Assembler and Code Words  @node Alpha Assembler, MIPS assembler, 386 Assembler, Assembler and Code Words
 @subsection Alpha Assembler  @subsection Alpha Assembler
   
 The Alpha assembler and disassembler was written by Bernd Thallner.  The Alpha assembler and disassembler were originally written by Bernd
   Thallner.
   
   The register names @code{a0}--@code{a5} are not available to avoid
   shadowing hex numbers.
   
   Immediate forms of arithmetic instructions are distinguished by a
   @code{#} just before the @code{,}, e.g., @code{and#,} (note: @code{lda,}
   does not count as arithmetic instruction).
   
   You have to specify all operands to an instruction, even those that
   other assemblers consider optional, e.g., the destination register for
   @code{br,}, or the destination register and hint for @code{jmp,}.
   
   You can specify conditions for @code{if,} by removing the first @code{b}
   and the trailing @code{,} from a branch with a corresponding name; e.g.,
   
   @example
   11 fgt if, \ if F11>0e
     ...
   endif,
   
   @code{fbgt,} gives @code{fgt}.  
   
 @node MIPS assembler, Other assemblers, Alpha Assembler, Assembler and Code Words  @node MIPS assembler, Other assemblers, Alpha Assembler, Assembler and Code Words
 @subsection MIPS assembler  @subsection MIPS assembler
Line 8714  The MIPS assembler was originally writte Line 8741  The MIPS assembler was originally writte
 Currently the assembler and disassembler only cover the MIPS-I  Currently the assembler and disassembler only cover the MIPS-I
 architecture (R3000), and don't support FP instructions.  architecture (R3000), and don't support FP instructions.
   
 Registers are specified by numbers, e.g., @code{1} (without preceding  The register names @code{$a0}--@code{$a3} are not available to avoid
 @code{$}).  You can also specify them by name, e.g. @code{$at}; however,  shadowing hex numbers.
 @code{$a0}--@code{$a3} are not available, to avoid shadowing hex  
 numbers.  
   
 Because there is no way to distinguish registers from immediate values,  Because there is no way to distinguish registers from immediate values,
 you have to explicitly use the immediate forms of instructions, i.e.,  you have to explicitly use the immediate forms of instructions, i.e.,

Removed from v.1.54  
changed lines
  Added in v.1.55


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>