A FCode Reference





FCode Primitives

This appendix contains four lists:

FCodes by Function

The following tables describe FCodes currently supported by the OpenBoot PROM. New 2.0 FCodes are indicated by V2. Both the FCode token values and Forth names are included. A token value entry of CR indicates a cross- compiler-generated sequence, while - indicates that no FCode is generated.

    Table A-1 Stack Manipulation

------------------------------------------------------------------------------------------------------------------------------------------
Value Function Stack Description ------------------------------------------------------------------------------------------------------------------------------------------
                                                                                       
51                               depth     ( -- +n )                                   How many items on stack?
                                                                                       
46                               drop      ( n -- )                                    Removes n from the stack
                                                                                       
52                               2drop     ( n1 n2 -- )                                Removes 2 items from stack
                                                                                       
47                               dup       ( n -- n n )                                Duplicates n
                                                                                       
53                               2dup      ( n1 n2 --  n1 n2  n1 n2 )                  Duplicates 2 stack items
                                                                                       
50                               ?dup      ( n -- n n | 0 )                            Duplicates n if it is non-zero
                                                                                       
CR                               3dup      ( n1 n2 n3 -- n1 n2 n3 n1 n2 n3 )           Copies top 3 stack items
                                                                                       
4d                               nip       ( n1 n2 -- n2 )                             Discards the second stack item
                                                                                       
48                               over      ( n1 n2 -- n1 n2 n1 )                       Copies second stack item to top of stack
                                                                                       
54                               2over     ( n1 n2  n3 n4 -- n1 n2  n3 n4  n1 n2 )     Copies 2 stack items
                                                                                       
4e                               pick      ( +n -- n2 )                                Copies +n-th stack item
                                                                                       
30                               >r         ( n -- ) ( rs: -- n)                        Moves a stack item to the return stack*
                                                                                       
31                               r'>       ( -- n ) ( rs: n -- )                       Moves  item from return stack to data stack*
                                                                                       
32                               r@        ( -- n ) ( rs: -- )                         Copies the top of the return stack to the data stack
                                                                                       
4f                               roll      ( +n -- )                                   Rotates +n stack items
                                                                                       
4a                               rot       ( n1 n2 n3 -- n2 n3 n1 )                    Rotates 3 stack items
                                                                                       
4b                               -rot      ( n1 n2 n3 -- n3 n1 n2 )                    Shuffles top 3 stack items
                                                                                       
56                               2rot      ( n1 n2 n3 n4 n5 n6 -- n3 n4 n5 n6 n1 n2 )  Rotates 3 pairs of stack items
                                                                                       
49                               swap      ( n1 n2 -- n2 n1 )                          Exchanges the top 2 stack items
                                                                                       
55                               2swap     ( n1 n2  n3 n4 -- n3 n4  n1 n2 )            Exchanges 2 pairs of stack items
                                                                                       
4c                               tuck      ( n1 n2 -- n2 n1 n2 )                       Copies the top stack item below the second item
                                                                                       
*  Use these FCodes cautiously.                                                        

------------------------------------------------------------------------------------------------------------------------------------------

    Table A-2 Arithmetic Operations

-------------------------------------------------------------------------------------------------------------------
Value Function Stack Description -------------------------------------------------------------------------------------------------------------------
                                                      
20     *         ( n1 n2 -- n3 )                      Multiplies n1 times n2
                                                      
1e     +         ( n1 n2 -- n3 )                      Adds n1+n2
                                                      
1f     -         ( n1 n2 -- n3 )                      Subtracts n1-n2
                                                      
21     /         ( n1 n2 -- quot )                    Divides n1/n2
                                                      
CR     1+        ( n1 -- n2 )                         Adds one
                                                      
CR     1-        ( n1 -- n2 )                         Subtracts one
                                                      
59     2*        ( n1 -- n2 )                         Multiplies by 2
                                                      
57     2/        ( n1 -- n2 )                         Divides by 2
<<
                                                      
27               ( n1 +n -- n2 )                      Left shifts n1 by +n places
                                                      
28     >'>        ( n1 +n -- n2 )                      Right shifts n1 by +n places
                                                      
CR     <<a         ( n1 +n -- n2 )                      Arithmetic left shifts (same as <<)
                                                      
29     >a         ( n1 +n -- n2 )                      Arithmetic right shifts n1 by +n places
                                                      
2d     abs       ( n -- u )                           Absolute value
                                                      
ae     aligned   ( adr1 -- adr2 )                     Adjusts an address to a machine word boundary
                                                      
23     and       ( n1 n2 -- n3 )                      Logical and
                                                      
ac     bounds    ( startadr len -- endadr startadr )  Converts start,len to end,start for do loop
                                                      
2f     max       ( n1 n2 -- n3 )                      n3 is maximum of n1 and n2
                                                      
2e     min       ( n1 n2 -- n3 )                      n3 is minimum of n1 and n2
                                                      
22     mod       ( n1 n2 -- rem )                     Remainder of n1/n2
                                                      
CR     */mod     ( n1 n2 n3 -- rem quot )             Remainder, quotient of n1*n2/n3
                                                      
2a     /mod      ( n1 n2 -- rem quot )                Remainder, quotient of n1/n2
                                                      
2c     negate    ( n1 -- n2 )                         Changes the sign of n1
                                                      
26     not       ( n1 -- n2 )                         One's complement
                                                      
24     or        ( n1 n2 -- n3 )                      Logical or
                                                      
2b     u/mod     ( ul un -- un.rem un.quot )          Unsigned 32-bit divide of ul/un
                                                      
58     u2/       ( u1 -- u2 )                         Logical right shifts 1 bit
                                                      
25     xor       ( n1 n2 -- n3 )                      Exclusive or
                                                      
d4     u*x       ( u1[32] u2[32] -- product[64] )     Multiplies two unsigned 32-bit numbers, yields an unsigned 64-
                                                      bit product.  V2
                                                      
d5     xu/mod    ( u1[64] u2[32] -- remainder[32]     Divides an unsigned 64-bit number by an unsigned  32-bit 
                 quot[32] )                           number, yields a 32-bit remainder and quotient  V2
                                                      
d8     x+        ( x1 x2 -- x3 )                      Adds two 64-bit numbers  V2
                                                      
d9     x-        ( x1 x2 -- x3 )                      Subtracts two 64-bit numbers  V2

-------------------------------------------------------------------------------------------------------------------

    Table A-3 Memory Operations

-------------------------------------------------------------------------------------------------------
Value Function Stack Description -------------------------------------------------------------------------------------------------------
                                         
72     !         ( n adr -- )            Stores a 32-bit number into the variable at adr
                                         
6c     +!        ( n adr -- )            Adds n to the 32-bit number stored in the variable at adr
                                         
77     2!        ( n1 n2 adr -- )        Stores 2 numbers at adr; n2 at lower address
                                         
76     2@        ( adr -- n1 n2 )        Fetches 2 numbers from adr; n2 from lower address
                                         
6d     @         ( adr -- n )            Fetches a number from the variable at adr
                                         
CR     ?         ( adr  -- )             Displays the 32-bit number at adr
                                         
75     c!        ( n adr -- )            Stores low byte of n at adr
                                         
71     c@        ( adr -- byte )         Fetches a byte from adr
                                         
CR     blank     ( adr len -- )          Sets len bytes of memory to ASCII space, starting at adr
                                         
CR     cmove     ( adr1 adr2 u -- )      Same as move
                                         
CR     cmove'>   ( adr1 adr2 u -- )      Same as move
                                         
7a     comp      ( adr1 adr2 len -- n )  Compares two byte arrays including case.  n=0 if same
                                         
CR     erase     ( adr len -- )          Sets len bytes of memory to zero, starting at adr
                                         
79     fill      ( adr u byte -- )       Sets u bytes of memory to byte
                                         
0237   lflips    ( adr len -- )          Exchanges 16-bit words within 32-bit longwords in adr len  V2
                                         
73     l!        ( l adr -- )            Stores the 32-bit number at adr, must be 32-bit aligned
                                         
6e     l@        ( adr -- l )            Fetches the 32-bit longword at adr, must be 32-bit aligned
                                         
78     move      ( adr1 adr2 u -- )      Copies u bytes from adr1 to adr2, handles overlap correctly.
                                         
6b     off       ( adr -- )              Stores false  (32-bit 0)  at adr
                                         
6a     on        ( adr -- )              Stores true  (32-bit -1)  at adr
                                         
0236   wflips    ( adr len -- )          Exchanges bytes within 16-bit words in the specified region  V2
                                         
74     w!        ( w adr -- )            Stores a 16-bit word at adr, must be 16-bit aligned
                                         
6f     w@        ( adr -- w )            Fetches the unsigned 16-bit word at adr, must be 16-bit aligned
                                         
70     <w@        ( adr -- n )            Fetches the signed 16-bit word at adr, must be 16-bit aligned

-------------------------------------------------------------------------------------------------------

    Table A-4 Atomic Access

----------------------------------------------------------------------------------------------
Value Function Stack Description ----------------------------------------------------------------------------------------------
                                   
0230   rb@       ( adr -- byte )   Reads the 8-bit value at the given address, atomically  V2
                                   
0231   rb!       ( byte  adr -- )  Writes the 8-bit value at the given address, atomically  V2
                                   
0232   rw@       ( adr -- word )   Reads the 16-bit value at the given address, atomically  V2
                                   
0233   rw!       ( word adr -- )   Writes the 16-bit value at the given address, atomically  V2
                                   
0234   rl@       ( adr -- long )   Reads the 32-bit value at the given address, atomically  V2
                                   
0235   rl!       ( long adr -- )   Writes the 32-bit value at the given address, atomically  V2

----------------------------------------------------------------------------------------------

    Table A-5 Data Exception Tests

---------------------------------------------------------------------------------------------------------------------------
Value Function Stack Description ---------------------------------------------------------------------------------------------------------------------------
                                                
0220   cpeek     ( adr -- false | byte  true )  Reads the 8-bit value at the given address, returns false if unsuccessful  
                                                V2
                                                
0221   wpeek     ( adr -- false | word true )   Reads the 16-bit value at the given address, returns false if 
                                                unsuccessful  V2
                                                
0222   lpeek     ( adr -- false | long true )   Reads the 32-bit value at the given address, returns false if 
                                                unsuccessful  V2
                                                
0223   cpoke     ( byte  adr --  ok? )          Writes the 8-bit value at the given address, returns false if unsuccessful  
                                                V2
                                                
0224   wpoke     ( word adr --  ok? )           Writes the 16-bit value at the given address, returns false if 
                                                unsuccessful  V2
                                                
0225   lpoke     ( long adr --  ok? )           Writes the 32-bit value at the given address, returns false if 
                                                unsuccessful  V2

---------------------------------------------------------------------------------------------------------------------------

    Table A-6 Comparison Operations

---------------------------------------------------------------------------
Value Function Stack Description ---------------------------------------------------------------------------
                                        
36     0<         ( n -- flag )          True if n < 0
                                        
37     0<=        ( n -- flag )          True if n <= 0
                                        
35     0<'>       ( n -- flag )          True if n < 0
                                        
34     0=        ( n -- flag )          True if n = 0, also inverts any flag
                                        
38     0'>       ( n -- flag )          True if n  0
                                        
39     0=        ( n -- flag )          True if n = 0
<
                                        
3a               ( n1 n2 -- flag )      True if n1 < n2
                                        
43     <=         ( n1 n2 -- flag )      True if n1 <= n2
                                        
3d     <'>        ( n1 n2 -- flag )      True if n1 < n2
                                        
3c     =         ( n1 n2 -- flag )      True if n1 = n2
>
                                        
3b               ( n1 n2 -- flag )      True if n1  n2
                                        
42     >=         ( n1 n2 -- flag )      True if n1 = n2
                                        
44     between   ( n min max -- flag )  True if min <= n <= max
                                        
CR     false     ( -- 0 )               The value false
                                        
CR     true      ( --  -1 )             The value true
                                        
40     u<         ( u1 u2 -- flag )      True if u1 < u2, unsigned
                                        
3f     u<=        ( u1 n2 -- flag )      True if u1 <= u2, unsigned
                                        
3e     u'>       ( u1 n2 -- flag )      True if u1  u2, unsigned
                                        
41     u=        ( u1 n2 -- flag )      True if u1 = u2, unsigned
                                        
45     within    ( n min max -- flag )  True if min <= n < max

---------------------------------------------------------------------------

    Table A-7 Text Input

--------------------------------------------------------------------------------------------
Value Function Stack Description --------------------------------------------------------------------------------------------
                                  
-      ( text)     ( -- )         Begins a comment (ignored)
                                  
-      \           ( -- )         Ignore rest of line (comment)
                                  
CR     ascii x     ( -- char )    ASCII value of next character
                                  
CR     control x   ( -- char )    Interprets next character as ASCII control character
                                  
8e     key         ( -- char )    Reads a character from the keyboard
                                  
8d     key?        ( -- flag )    True if a key has been typed on the keyboard
                                  
8a     expect      ( adr +n -- )  Gets a line of edited input from the keyboard; store at adr
                                  
88     span        ( -- adr )     Variable containing the number of characters read by expect
                                  
-      (s text)    ( -- )         Begins a comment (ignored)

--------------------------------------------------------------------------------------------

    Table A-8 ASCII Constants

--------------------------------------------------------------------------------------
Value Function Stack Description --------------------------------------------------------------------------------------
                           
ab     bell      ( -- n )  The ASCII code for the bell character; decimal 7
                           
a9     bl        ( -- n )  The ASCII code for the space character; decimal 32
                           
aa     bs        ( -- n )  The ASCII code for the backspace character; decimal 8
                           
CR     carret    ( -- n )  The ASCII code for the carriage return character; decimal 13
                           
CR     linefeed  ( -- n )  The ASCII code for the linefeed character; decimal 10
                           
CR     newline   ( -- n )  The ASCII code for the newline character; decimal 10

--------------------------------------------------------------------------------------

    Table A-9 Numeric Input

-----------------------------------------------------------------------------
Value Function Stack Description -----------------------------------------------------------------------------
                              
a4     -1          ( -- -1 )  Constant -1
                              
a5     0           ( -- 0 )   Constant 0
                              
a6     1           ( -- 1 )   Constant 1
                              
a7     2           ( -- 2 )   Constant 2
                              
a8     3           ( -- 3 )   Constant 3
                              
CR     b# number   ( -- n )   Interprets next number in binary
                              
-      binary      ( -- )     If outside definition, input text in binary
                              
CR     d# number   ( -- n )   Interprets next number in decimal
                              
-      decimal     ( -- )     If outside definition, input text in decimal
                              
CR     h# number   ( -- n )   Interprets next number in hexadecimal
                              
-      hex         ( -- )     If outside definition, input text in hexadecimal
                              
CR     o# number   ( -- n )   Interprets next number in octal
                              
-      octal       ( -- )     If outside definition, input text in octal

-----------------------------------------------------------------------------

    Table A-10 Numeric Primitives

--------------------------------------------------------------------------------------------------------------------
Value Function Stack Description --------------------------------------------------------------------------------------------------------------------
                                                           
99     #         ( +l1 -- +l2 )                            Converts a digit in pictured numeric output
                                                           
97     #'>       ( l -- adr +n )                           Ends pictured numeric output
                                                           
96     <#         ( -- )                                    Initializes pictured numeric output
                                                           
a0     base      ( -- adr )                                Variable containing number base
                                                           
a3     digit     ( char base -- digit true | char false )  Converts a character to a digit
                                                           
95     hold      ( char -- )                               Inserts the char in the pictured numeric output string
                                                           
9a     #s        ( +l -- 0 )                               Converts the rest of the digits in pictured numeric output
                                                           
98     sign      ( n -- )                                  Sets sign of pictured output
                                                           
a2     $number   ( adr len -- true | n false )             Converts a string to a number  V2

--------------------------------------------------------------------------------------------------------------------

    Table A-11 Numeric Output

-----------------------------------------------------------------------------
Value Function Stack Description -----------------------------------------------------------------------------
                              
9d     .         ( n -- )     Displays a number
                              
CR     .d        ( n -- )     Displays number in decimal
                              
CR     binary    ( -- )       If inside definition, output  in binary
                              
CR     decimal   ( -- )       If inside definition, output  in decimal
                              
CR     .h        ( n -- )     Displays number in hexadecimal
                              
CR     hex       ( -- )       If inside definition, output in hexadecimal
                              
CR     octal     ( -- )       If inside definition, output  in octal
                              
9e     .r        ( n +n -- )  Displays a number in a fixed width field
                              
9f     .s        ( -- )       Displays the contents of the data stack
                              
CR     s.        ( n -- )     Displays n as a signed number
                              
9b     u.        ( u -- )     Displays an unsigned number
                              
9c     u.r       ( u +n -- )  Prints an unsigned number in a fixed width field

-----------------------------------------------------------------------------

    Table A-12 General-purpose Output

-------------------------------------------------------------------------
Value Function Stack Description -------------------------------------------------------------------------
                                    
CR     ."   text"    ( -- )         Compiles string for later output
                                    
CR     .(  text)     ( -- )         Displays a string now
                                    
91     (cr           ( -- )         Outputs ASCII CR character; decimal 13
                                    
92     cr            ( -- )         Starts a new line of display output
                                    
8f     emit          ( char -- )    Displays the character
                                    
CR     space         ( -- )         Outputs a single space character
                                    
CR     spaces        ( +n -- )      Outputs +n spaces
                                    
90     type          ( adr +n -- )  Displays n characters

-------------------------------------------------------------------------

    Table A-13 Formatted Output

-----------------------------------------------------------------------------------
Value Function Stack Description -----------------------------------------------------------------------------------
                             
94     #line     ( -- adr )  Variable holding the line number on the output device
                             
93     #out      ( -- adr )  Variable holding the column number on the output device

-----------------------------------------------------------------------------------

    Table A-14 begin Loops

------------------------------------------------------------------------------------------
Value Function Stack Description ------------------------------------------------------------------------------------------
                              
CR     again     ( -- )       Ends begin..again (infinite) loop
                              
CR     begin     ( -- )       Starts conditional loop
                              
CR     repeat    ( -- )       Returns to loop start
                              
CR     until     ( flag -- )  If true, exits begin..until loop
                              
CR     while     ( flag -- )  If true, continues begin..while..repeat loop, else exits loop

------------------------------------------------------------------------------------------

    Table A-15 Conditionals

---------------------------------------------------------------------------
Value Function Stack Description ---------------------------------------------------------------------------
                              
CR     if        ( flag -- )  If true, executes next FCode(s)
                              
CR     else      ( -- )       (optional) Executes next FCode(s) if if failed
                              
CR     then      ( -- )       Terminates if..else..then

---------------------------------------------------------------------------

    Table A-16 do Loops

-------------------------------------------------------------------------------------------------
Value Function Stack Description -------------------------------------------------------------------------------------------------
                                   
CR     do        ( end start -- )  Loops, index start to end-1 inclusive
                                   
CR     ?do       ( end start -- )  Like do, but skips loop if end = start
                                   
19     i         ( -- n )          Returns current loop index value
                                   
1a     j         ( -- n )          Returns value of  next outer loop index
                                   
CR     leave     ( -- )            Exits do loop immediately
                                   
CR     ?leave    ( flag -- )       If flag is true, exits do loop
                                   
CR     loop      ( -- )            Increments index, returns to do
                                   
CR     +loop     ( n -- )          Increments by n, returns to do.  If n<0, index start  to end

-------------------------------------------------------------------------------------------------

    Table A-17 Control Words

--------------------------------------------------------------------------------------------------------------------
Value Function Stack Description --------------------------------------------------------------------------------------------------------------------
                                                                                  
1d     execute        ( acf -- )                                                  Executes the word whose 
                                                                                  compilation address is on the stack
                                                                                  
33     exit           ( -- )                                                      Returns from the current word
                                                                                  
0238   probe          ( arg-adr arg-len reg-adr reg-len fcode-adr fcode-len -- )  V2.2
                                                                                  
0239   probe-virtual  ( arg-adr arg-len reg-adr reg-len fcode-adr -- )            V2.2

--------------------------------------------------------------------------------------------------------------------

    Table A-18 Strings

------------------------------------------------------------------------------------------------------------------------
Value Function Stack Description ------------------------------------------------------------------------------------------------------------------------
                                                             
CR     "   text"    ( -- adr len )                           Collects a string
                                                             
84     count        ( pstr -- adr +n )                       Unpacks a packed string
                                                             
82     lcc          ( char -- lower-case-char )              Converts char to lower case
                                                             
83     pack         ( adr len pstr -- pstr )                 Makes a packed string from adr len, placing it at pstr
                                                             
81     upc          ( char -- upper-case-char )              Converts char to upper case
                                                             
0240   left-parse-  ( adr len char -- adrR lenR adrL lenL )  Splits a string at the given delimiter (which is discarded) 
       string                                                V2
                                                             
011b   decode-2int  ( adr len  -- phys space )               Converts a string into a physical address and space  V2

------------------------------------------------------------------------------------------------------------------------

    Table A-19 Defining Words

------------------------------------------------------------------------------------------------------------------
Value Function Stack Description ------------------------------------------------------------------------------------------------------------------
                                                                 
CR     : (colon) name            ( -- )                          Begins colon definition
                                                                 
CR     ; (semicolon)             ( -- )                          Ends colon definition
                                                                 
-      alias newname oldname     ( -- )                          Creates newname with behavior of oldname
                                                                 
CR     buffer: name              ( size -- )                     Creates data array of size bytes
                                                                 
CR     constant name             ( n -- )                        Creates a constant 
                                                                 
CR     create name               ( -- )                          Generic defining word
                                                                 
CR     defer name                ( -- )                          Execution vector (change with is)
                                                                 
CR     field name                ( offset size -- offset+size )  Creates a named offset pointer
                                                                 
c0     instance                  ( -- )                          Declare a data type to be local  V2.1
                                                                 
CR     struct                    ( -- 0 )                        Initializes for field creation
                                                                 
CR     variable name             ( -- )                          Creates a data variable
                                                                 
CR     value name                ( n -- )                        Creates named value-type variable (change with is)

------------------------------------------------------------------------------------------------------------------

    Table A-20 Dictionary Compilation

----------------------------------------------------------------------
Value Function Stack Description ----------------------------------------------------------------------
                             
d3     ,         ( n -- )    Places a number in the dictionary
                             
d0     c,        ( n -- )    Places a byte in the dictionary
                             
ad     here      ( -- adr )  Address of top of dictionary
                             
d2     l,        ( l -- )    Places a 32-bit longword in the dictionary
                             
d1     w,        ( w -- )    Places a 16-bit word in the dictionary
                             
CR     is name   ( n -- )    Changes value in a defer word or a value

----------------------------------------------------------------------

    Table A-21 Dictionary Search

------------------------------------------------------------------------------------------------------
Value Function Stack Description ------------------------------------------------------------------------------------------------------
                                                            
CR     '  name    ( -- acf )                                Finds the word (while executing)
                                                            
CR     ['] name   ( -- acf )                                Finds word (while compiling)
                                                            
cb     $find      ( adr len -- adr len false  |  acf +-1 )  Finds a name in the OpenBoot PROM
                                                            
cd     eval       ( ??? adr len -- ? )                      Executes Forth commands within a string  V2

------------------------------------------------------------------------------------------------------

    Table A-22 Conversions Operators

---------------------------------------------------------------------------------------
Value Function Stack Description ---------------------------------------------------------------------------------------
                                              
7f     bljoin    ( b.low b2 b3 b.hi -- l )    Joins four bytes to form a longword
                                              
b0     bwjoin    ( b.low b.hi -- w )          Joins two bytes to form a 16-bit word
                                              
5a     /c        ( -- n )                     Address increment for a byte; 1
                                              
66     /c*       ( n1 -- n2 )                 Multiplies by /c
                                              
5e     ca+       ( adr1 index -- adr2 )       Increments adr1 by index times /c
                                              
62     ca1+      ( adr1 -- adr2 )             Increments adr1 by /c
                                              
80     flip      ( w1 -- w2 )                 Swaps the bytes within a 16-bit word
                                              
5c     /l        ( -- n )                     Address increment for a 32-bit longword; 4
                                              
68     /l*       ( n1 -- n2 )                 Multiplies by /l
                                              
60     la+       ( adr1 index -- adr2 )       Increments adr1 by index times /l
                                              
64     la1+      ( adr1 -- adr2 )             Increments adr1 by /l
                                              
7e     lbsplit   ( l -- b.low b2 b3 b.high )  Splits a longword into four bytes
                                              
7c     lwsplit   ( l -- w.low w.high )        Splits a longword into two words
                                              
5d     /n        ( -- n )                     Address increment for a normal; 4
                                              
69     /n*       ( n1 -- n2 )                 Multiplies by /n
                                              
61     na+       ( adr1 index -- adr2 )       Increments adr1 by index times /n
                                              
65     na1+      ( adr1 -- adr2 )             Increments adr1 by /n
                                              
5b     /w        ( -- n )                     Address increment for a 16-bit word; 2
                                              
67     /w*       ( n1 -- n2 )                 Multiplies by /w
                                              
5f     wa+       ( adr1 index -- adr2 )       Increments adr1 by index times /w
                                              
63     wa1+      ( adr1 -- adr2 )             Increments adr1 by /w
                                              
af     wbsplit   ( w -- b.low b.high )        Splits a 16-bit word into two bytes
                                              
CR     wflip     ( l1 -- l2 )                 Swaps halves of 32-bit longword
                                              
7d     wljoin    ( w.low w.high -- l )        Joins two words to form a longword

---------------------------------------------------------------------------------------

    Table A-23 Memory Buffers Allocation

--------------------------------------------------------------------------------------
Value Function Stack Description --------------------------------------------------------------------------------------
                                     
8b     alloc-mem  ( nbytes -- adr )  Allocates nbytes of memory and returns its address
                                     
8c     free-mem   ( adr nbytes -- )  Frees memory allocated by alloc-mem

--------------------------------------------------------------------------------------

    Table A-24 Miscellaneous Operators

-------------------------------------------------------------------------------------------------
Value Function Stack Description -------------------------------------------------------------------------------------------------
                                        
86     >body             ( acf -- apf )  Finds parameter field address from compilation address
                                        
85     body'>           ( apf -- acf )  Finds compilation address from parameter field address
                                        
CR     emit-byte        ( n -- )        Outputs FCode byte (use with tokenizer[)
                                        
00     end0             ( -- )          Marks the end of FCode
                                        
ff     end1             ( -- )          Alternates form for end0  (not recommended)
                                        
CR     fcode-version1   ( -- )          Begins FCode program
                                        
-      fload filename   ( -- )          Begins tokenizing filename
                                        
-      headerless       ( -- )          Creates new names with new-token (no name fields)
                                        
-      headers          ( -- )          Creates new names with named-token (default)
                                        
7b     noop             ( -- )          Does nothing
                                        
cc     offset16         ( -- )          All further branches use 16-bit offsets (instead of 8-bit)
                                        
-      tokenizer[       ( -- )          Begins tokenizer program commands
                                        
-      ]tokenizer       ( -- )          Ends tokenizer program commands
                                        
CR     fcode-version2   ( -- )          Begins 2.0 FCode program, compiles start1  V2
                                        
-      external         ( -- )          Creates new names with external-token  V2

-------------------------------------------------------------------------------------------------

    Table A-25 Internal Operators, (invalid for program text)

----------------------------------------------------------------------------------------------------------------------
Value Function Stack Description ----------------------------------------------------------------------------------------------------------------------
                                          
1-f    { table#1-15 }                     Reserved byte codes, used for 2-byte entries
                                          
10     b(lit)          ( -- n )           Followed by 32-bit#.  Compiled by numeric data
                                          
11     b(')            ( -- acf )         Followed by a token (1 or 2-byte code) .  Compiled by ['] or '
                                          
12     b(")            ( -- adr len )     Followed by count byte, text.  Compiled by " or ."
                                          
c3     b(is)           ( n -- )           Compiled by is
                                          
fd     version1        ( -- )             Followed by reserved byte, checksum (2 bytes) , length (4 bytes).  Compiled 
                                          by fcode-version1, as the first FCode bytes
                                          
fe     4-byte-id       ( -- )             Followed by 3 identifier bytes.  First FCode byte.  Not supported.
                                          
13     bbranch         ( -- )             Followed by offset.  Compiled by else or again
                                          
14     b?branch        ( -- )             Followed by offset.  Compiled by if or until
                                          
15     b(loop)         ( -- )             Followed by offset.  Compiled by loop
                                          
16     b(+loop)        ( n -- )           Followed by offset.  Compiled by +loop
                                          
17     b(do)           ( end  start -- )  Followed by offset.  Compiled by do
                                          
18     b(?do)          ( end  start -- )  Followed by offset.  Compiled by ?do
                                          
1b     b(leave)        ( -- )             Compiled by leave or ?leave
                                          
b1     b(<mark)         ( -- )             Compiled by begin
                                          
b2     b(resolve)      ( -- )             Compiled by else or then
                                          
c4     b(case)         ( -- )             Compiled by case
                                          
c5     b(endcase)      ( -- )             Compiled by endcase
                                          
c6     b(endof)        ( -- )             Compiled by endof
                                          
1c     b(of)           ( sel testval --   Followed by offset.  Compiled by of
                       sel | none )                                                                                      
                                          
b5     new-token       ( -- )             Followed by table#, code#, token-type.  Compiled by any defining word. 
                                          Headerless, not used normally.
                                          
b6     named-token     ( -- )             Followed by packed string (count,text), table#, code#, token-type.  Compiled 
                                          by any defining word  (: value constant etc.)
                                          
b7     b(:)                               Token-type compiled by :
                                          
b8     b(value)                           Token-type compiled by value
                                          
b9     b(variable)                        Token-type compiled by variable
                                          
ba     b(constant)                        Token-type compiled by constant
                                          
bb     b(create)                          Token-type compiled by create
                                          
bc     b(defer)                           Token-type compiled by defer
                                          
bd     b(buffer:)                         Token-type compiled by buffer:
                                          
be     b(field)                           Token-type compiled by field
                                          
c2     b(;)            ( -- )             End a colon definition.  Compiled by ;
                                          
ca     external-token  ( -- )             Like named-token, but name header is always created at probe time  V2
                                          
f0     start0          ( -- )             Like version1, but for version 2.0 FCodes.  Uses 16-bit branches.  Fetches 
                                          successive tokens from same address  V2
                                          
f1     start1          ( -- )             Like version1, but for version 2.0 FCodes.  Uses 16-bit branches.  Fetches 
                                          successive tokens from consecutive addresses.  Compiled by fcode-version2  
                                          V2
                                          
f2     start2          ( -- )             Like version1, but for version 2.0 FCodes.  Uses 16-bit branches.  Fetches 
                                          successive tokens from consecutive 16-bit addresses  V2
                                          
f3     start4          ( -- )             Like version1, but for version 2.0 FCodes.  Uses 16-bit branches.  Fetches 
                                          successive tokens from consecutive 32-bit addresses  V2

----------------------------------------------------------------------------------------------------------------------

    Table A-26 Memory Allocation

----------------------------------------------------------------------------------------------------------
Value Function Stack Description ----------------------------------------------------------------------------------------------------------
                                                    
0101   dma-alloc     ( nbytes -- virt )             Maps in nbytes of DMA space, return virtual adr
                                                    
0104   memmap        ( phys space nbytes -- virt )  Maps in a region, return virtual  address
                                                    
0105   free-virtual  ( virt nbytes -- )             Frees virtual memory from memmap, dma-alloc,or map-sbus
                                                    
0106   >physical      ( virt -- phys space )         Returns physical adr and space for virtual adr

----------------------------------------------------------------------------------------------------------

    Table A-27 Non-volatile Parameters

---------------------------------------------------------------------------------------------------------------------
Value Function Stack Description ---------------------------------------------------------------------------------------------------------------------
                                  
010f   my-params  ( -- adr len )  Returns a data array for this plug-in device.  The data format is defined 
                                  specifically for each plug-in device, in order to customize the device.  Params for 
                                  each device, as needed, will be stored in  the system NVRAM

---------------------------------------------------------------------------------------------------------------------

    Table A-28 Properties

----------------------------------------------------------------------------------------------------------------------
Value Function Stack Description ----------------------------------------------------------------------------------------------------------------------
                                                               
0110   attribute         ( xdr-adr xdr-len name-adr            Declares a property with the given value structure, for 
                           name-len -- )                       the given name string.
                                                               
0111   xdrint            ( n -- xdr-adr xdr-len )              Converts a number into an xdr-format string
                                                               
0112   xdr+              ( xdr-adr1 xdr-len1 xdr-adr2          Merges two xdr-format strings. They must  have been 
                           xdr-len2 -- xdr-adr xdr-len1+2 )    created sequentially
                                                               
0113   xdrphys           ( phys space -- xdr-adr xdr-len )     Converts physical address and space into an xdr-
                                                               format string
                                                               
0114   xdrstring         ( adr  len -- xdr-adr  xdr-len )      Converts a string into an xdr-format string
                                                               
0115   xdrbytes          ( adr len -- xdr-adr xdr-len )        Converts a byte array into an xdr-format string  V2.1
                                                               
021a   get-my-attribute  ( nam-adr nam-len -- true |           Returns the xdr-format string for the given property 
                           xdr-adr xdr-len false )             name  V2
                                                               
021b   xdrtoint          ( xdr-adr xdr-len -- xdr2-adr         Converts the beginning of an xdr-format string to an 
                           xdr2-len n )                        integer  V2
                                                               
021c   xdrtostring       ( xdr-adr xdr-len -- xdr2-adr         Converts the beginning of an xdr-format string to a 
                           xdr2-len adr len )                  normal string  V2
                                                               
021d   get-inherited-    ( nam-adr nam-len -- true | xdr-adr   Returns the value string for the given property, 
       attribute         xdr-len false )                       searches parents' properties if not found  V2
                                                               
021e   delete-attribute  ( nam-adr nam-len -- )                Deletes the property with the given name  V2
                                                               
021f   get-package-      ( adr len phandle -- true | xdr-adr   Returns the xdr-format string for the given property 
       attribute         xdr-len false )                       name in the package "phandle"  V2

----------------------------------------------------------------------------------------------------------------------

    Table A-29 Commmonly-used Properties

------------------------------------------------------------------------------------------------------------------------
Value Function Stack Description ------------------------------------------------------------------------------------------------------------------------
                                              
0116   reg          ( phys space size -- )    Declares location and size of device registers
                                              
0117   intr         ( intr-level vector -- )  Declares interrupt level and vector for this device
                                              
0118   driver       ( adr len -- )            Not supported
                                              
0119   model        ( adr len -- )            Declares model# for this device, such as " SUNW,501-1415-01"
                                              
011a   device-type  ( adr len -- )            Declares type of device, e.g. " display", " block", " network",  or " byte"
                                              
CR     name         ( adr len -- )            Declares SunOS driver name, as in  " SUNW,zebra"
                                              
0201   device-      ( adr len -- )            Creates the "name" attribute with the given value  V2
       name                                                                                                                

------------------------------------------------------------------------------------------------------------------------

    Table A-30 System Version Information

-------------------------------------------------------------------------------
Value Function Stack Description -------------------------------------------------------------------------------
                                    
0210   processor-  ( -- processor-  Obsolete  V2
       type        type )                                                         
                                    
0211   firmware-   ( -- n )         Returns major/minor CPU firmware version  V2
       version                                                                    
                                    
0212   fcode-      ( -- n )         Obsolete  V2
       version                                                                    
                                    
87     version     ( -- n )         Returns major/minor FCode interface version

-------------------------------------------------------------------------------

    Table A-31 Device Activation Vector Setup

-----------------------------------------------------------------------------------------
Value Function Stack Description -----------------------------------------------------------------------------------------
                                  
011c   is-install     ( acf -- )  Identifies "install" routine to allocate a framebuffer
                                  
011d   is-remove      ( acf -- )  Identifies "remove" routine, to deallocate a framebuffer
                                  
011e   is-selftest    ( acf -- )  Identifies "selftest" routine for this framebuffer
                                  
011f   new-device     ( -- )      Opens an additional device, using this driver package
                                  
0127   finish-device  ( -- )      Closes out current device, ready for new-device

-----------------------------------------------------------------------------------------

    Table A-32 Self-test utility Routines

--------------------------------------------------------------------------------------------------
Value Function Stack Description --------------------------------------------------------------------------------------------------
                                                 
0120   diagnostic-mode?   ( -- flag )            Returns "true" if extended diagnostics are desired
                                                 
0121   display-status     ( n -- )               Obsolete
                                                 
0122   memory-test-suite  ( adr len -- status )  Calls memory tester for given region
                                                 
0123   group-code         ( -- adr )             Obsolete
                                                 
0124   mask               ( -- adr )             Variable, holds "mask" used by memory-test-suite

--------------------------------------------------------------------------------------------------

    Table A-33 Time Utilities

--------------------------------------------------------------------------------------
Value Function Stack Description --------------------------------------------------------------------------------------
                                
0125   get-msecs  ( -- ms )     Returns the current time, in milliseconds, approx.
                                
0126   ms         ( n -- )      Delays for n milliseconds.  Resolution is 1 millisecond
                                
0213   alarm      ( acf n -- )  Periodically execute acf. If n=0, stop. V2

--------------------------------------------------------------------------------------

    Table A-34 Machine-specific Support

------------------------------------------------------------------------------------------------
Value Function Stack Description ------------------------------------------------------------------------------------------------
                                                  
0130   map-sbus      ( phys size -- virt )        Maps a region of memory in 'sbus' address space
                                                  
0131   sbus-intrcpu  ( sbus-intr# -- cpu-intr# )  Translates SBus interrupt# into CPU interrupt#

------------------------------------------------------------------------------------------------

Note - Table A-35 through Table A-41 apply only to display device-types.

    Table A-35 User-set terminal Emulation Values

-------------------------------------------------------------------------------------------------------------------
Value Function Stack Description -------------------------------------------------------------------------------------------------------------------
                           
0150   #lines    ( -- n )  Number of lines of text being used for display.  This word must be initialized (using 
                           is). fbx-install does this automatically, and also properly incorporates the NVRAM 
                           parameter "screen-#rows"
                           
0151   #columns  ( -- n )  Number of columns (chars/line)  used for display.  This word must be initialized  
                           (using is).   fbx-install does this  automatically, and also properly incorporates the 
                           NVRAM  parameter "screen-#columns"

-------------------------------------------------------------------------------------------------------------------

    Table A-36 Terminal Emulator-set Terminal Emulation Values

---------------------------------------------------------------------------------------
Value Function Stack Description ---------------------------------------------------------------------------------------
                                     
0152   line#            ( -- n )     Current cursor position (line#).  0 is top line
                                     
0153   column#          ( -- n )     Current cursor position (column#).  0 is left char.
                                     
0154   inverse?         ( -- flag )  True if output is inverted (white-on-black)
                                     
0155   inverse-screen?  ( -- flag )  True if screen has been inverted (black background)

---------------------------------------------------------------------------------------

    Table A-37 Terminal Emulation Routines*

-----------------------------------------------------------------------------------------------------------------------------------------------
Value Function Stack Description -----------------------------------------------------------------------------------------------------------------------------------------------
                                                                                                
0157                            draw-character     ( char -- )                                  Paints the given character and advance the 
                                                                                                cursor
                                                                                                
0158                            reset-screen       ( -- )                                       Initializes the display device
                                                                                                
0159                            toggle-cursor      ( -- )                                       Draws or erase the cursor
                                                                                                
015a                            erase-screen       ( -- )                                       Clears all pixels on the display
                                                                                                
015b                            blink-screen       ( -- )                                       Flashes the display momentarily
                                                                                                
015c                            invert-screen      ( -- )                                       Changes all pixels to the opposite color
                                                                                                
015d                            insert-characters  ( n -- )                                     Inserts n blanks just before the cursor
                                                                                                
015e                            delete-characters  ( n -- )                                     Deletes n characters starting at with cursor 
                                                                                                character, rightward.  Remaining chars slide 
                                                                                                left
                                                                                                
015f                            insert-lines       ( n -- )                                     Inserts n blank lines just before the current 
                                                                                                line, lower lines are scrolled downward
                                                                                                
0160                            delete-lines       ( n -- )                                     Deletes n lines starting with the current line, 
                                                                                                lower lines are scrolled upward
                                                                                                
0161                            draw-logo          ( line# logoaddr logowidth logoheight -- )   Draws the logo
                                                                                                
*defer-type loadable routines.                                                                  

-----------------------------------------------------------------------------------------------------------------------------------------------

    Table A-38 Frame Buffer Parameter Values*

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Value Function Stack Description -----------------------------------------------------------------------------------------------------------------------------------------------------------------------
                                                                                              
016c                                                            char-height       ( -- n )    Height (in pixels)  of a character (usually 22)
                                                                                              
016d                                                            char-width        ( -- n )    Width (in pixels) of a character (usually 12)
                                                                                              
016f                                                            fontbytes         ( -- n )    Number of bytes/scan line for font entries (usually 2)
                                                                                              
0162                                                            frame-buffer-adr  ( -- adr )  Address of frame buffer memory
                                                                                              
0163                                                            screen-height     ( -- n )    Total height of the display (in pixels)
                                                                                              
0164                                                            screen-width      ( -- n )    Total width of the display (in pixels)
                                                                                              
0165                                                            window-top        ( -- n )    Distance (in pixels) between display top and   text window
                                                                                              
0166                                                            window-left       ( -- n )    Distance  (in pixels) between display left edge and  text window left edge
                                                                                              
*These must all be initialized before using any fbx- routines.                                

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Table A-39 Font Operators

-----------------------------------------------------------------------------------------------------------
Value Function Stack Description -----------------------------------------------------------------------------------------------------------
                                                          
016a   default-font  ( -- fontbase charwidth charheight   Returns default font values, plugs directly into 
                          fontbytes #firstchar #chars )   set-font
                                                          
016b   set-font      ( fontbase charwidth charheight      Sets the character font for text output
                       fontbytes #firstchar #chars -- )                                                       
                                                          
016e   >font          ( char -- adr )                      Returns font address for given ASCII character

-----------------------------------------------------------------------------------------------------------

    Table A-40 One-bit Framebuffer Utilities

-------------------------------------------------------------------------------------------------------------------------
Value Function Stack Description -------------------------------------------------------------------------------------------------------------------------
                                                                     
0170   fb1-draw-character     ( char -- )                            Paints the character and advance the cursor
                                                                     
0171   fb1-reset-screen       ( -- )                                 Initializes the display device (noop)
                                                                     
0172   fb1-toggle-cursor      ( -- )                                 Draws or erases the cursor
                                                                     
0173   fb1-erase-screen       ( -- )                                 Clears all pixels on the display
                                                                     
0174   fb1-blink-screen       ( -- )                                 Inverts the screen, twice (slow)
                                                                     
0175   fb1-invert-screen      ( -- )                                 Changes all pixels to the opposite color
                                                                     
0176   fb1-insert-characters  ( n -- )                               Inserts n blanks just before the cursor
                                                                     
0177   fb1-delete-characters  ( n -- )                               Deletes n characters, starting at with cursor 
                                                                     character, rightward.   Remaining chars slide left
                                                                     
0178   fb1-insert-lines       ( n -- )                               Inserts n blank lines just before the current line, 
                                                                     lower lines are scrolled downward
                                                                     
0179   fb1-delete-lines       ( n -- )                               Deletes n lines starting with the current line,lower 
                                                                     lines are scrolled upward
                                                                     
017a   fb1-draw-logo          ( line# logoaddr logowidth             Draws the logo
                                logoheight -- )                                                                             
                                                                     
017b   fb1-install            ( width height #columns #lines -- )    Installs the one-bit built-in routines
                                                                     
017c   fb1-slide-up           ( n -- )                               Like fb1-delete-lines, but doesn't clear lines at 
                                                                     bottom

-------------------------------------------------------------------------------------------------------------------------

    Table A-41 Eight-bit Framebuffer Utilities

---------------------------------------------------------------------------------------------------------------------
Value Function Stack Description ---------------------------------------------------------------------------------------------------------------------
                                                           
0180   fb8-draw-character     ( char -- )                  Paints the character and advance the cursor
                                                           
0181   fb8-reset-screen       ( -- )                       Initializes the display device (noop)
                                                           
0182   fb8-toggle-cursor      ( -- )                       Draws or erases the cursor
                                                           
0183   fb8-erase-screen       ( -- )                       Clears all pixels on the display
                                                           
0184   fb8-blink-screen       ( -- )                       Inverts the screen, twice (slow)
                                                           
0185   fb8-invert-screen      ( -- )                       Changes all pixels to the opposite color
                                                           
0186   fb8-insert-characters  ( n -- )                     Inserts n blanks just before the cursor
                                                           
0187   fb8-delete-characters  ( n -- )                     Deletes n characters starting at with cursor character, 
                                                           rightward.  Remaining chars slide left
                                                           
0188   fb8-insert-lines       ( n -- )                     Inserts n blank lines just before the current  line, lower 
                                                           lines are scrolled downward
                                                           
0189   fb8-delete-lines       ( n -- )                     Deletes n lines starting with the current line, lower 
                                                           lines are scrolled upward
                                                           
018a   fb8-draw-logo          ( line# logoaddr logowidth   Draws the logo
                                logoheight -- )                                                                         
                                                           
018b   fb8-install            ( width height #columns      Installs the eight-bit built-in routines
                                #lines -- )                                                                             

---------------------------------------------------------------------------------------------------------------------

    Table A-42 Package Support

----------------------------------------------------------------------------------------------------------------------
Value Function Stack Description ----------------------------------------------------------------------------------------------------------------------
                                                       
023c   peer            ( phandle --                    Returns phandle of package that is the next child of the the 
                         next-phandle )                parent of the package V2.3
                                                       
023b   child           ( parent-phandle --             Returns phandle of the package that is the first child of the 
                         child-phandle )               package parent-phandle V2.3
                                                       
0204   find-package    ( adr len -- false |            Finds a package named "adr len"  V2
                         phandle true )                                                                                  
                                                       
0205   open-package    ( adr len phandle --            Opens an instance of the package "phandle," passes arguments 
                         ihandle | 0 )                 "adr len"  V2
                                                       
020f   $open-package   ( arg-adr arg-len adr len --    Finds a package "adr len," then opens it with arguments "arg-
                         ihandle | 0 )                 adr arg-len"  V2
                                                       
020a   my-parent       ( -- ihandle )                  Returns the ihandle of the parent of the current package 
                                                       instance  V2
                                                       
0203   my-self         ( -- ihandle )                  Returns the instance handle of currently-executing package 
                                                       instance  V2
                                                       
020b   ihandlephandle  ( ihandle -- phandle )          Converts an ihandle to a phandle  V2
                                                       
0206   close-package   ( ihandle -- )                  Closes an instance of  a package  V2
                                                       
0207   find-method     ( adr len phandle -- false |    Finds the method (command) named "adr len" within the 
                       acf true )                      package "phandle"  V2
                                                       
0208   call-package    ( [...] acf ihandle -- [...] )  Executes the method "acf" within the instance "ihandle"  V2
                                                       
020e   $call-method    ( [...]adr len ihandle --       Executes the method named "adr len" within the instance 
                         [...])                        "ihandle"  V2
                                                       
0209   $call-parent    ( [...] adr len -- [...] )      Executes the method "adr len" within the parent's package  V2
                                                       
0202   my-args         ( -- adr len )                  Returns the argument string "adr len" passed when this package 
                                                       was opened  V2
                                                       
020d   my-unit         ( -- low  high )                Returns the physical unit number pair for this package  V2
                                                       
0102   my-address      ( -- phys )                     Returns the physical adr of  this plug-in device.  "phys" is a 
                                                       "magic" number, usable by other routines  V2
                                                       
0103   my-space        ( -- space )                    Returns address space of  plug-in device.  "space" is a "magic" 
                                                       number, usable by other routines  V2

----------------------------------------------------------------------------------------------------------------------

    Table A-43 Asynchronous Support

-----------------------------------------------------------------------------------------------------------
Value Function Stack Description -----------------------------------------------------------------------------------------------------------
                                 
0213   alarm       ( acf n -- )  Executes the method (command) indicated by "acf" every "n" milliseconds  V2
                                 
0219   user-abort  ( -- )        Abort after alarm routine finishes execution

-----------------------------------------------------------------------------------------------------------

    Table A-44 Miscellaneous Operations

------------------------------------------------------------------------------------------------------
Value Function Stack Description ------------------------------------------------------------------------------------------------------
                                           
0214   (is-user-word)  ( adr len acf -- )  Creates a new word called "adr len" which executes "acf"  V2
                                           
01a4   mac-address     ( -- adr len )      Returns the MAC address  V2

------------------------------------------------------------------------------------------------------

    Table A-45 Interpretation

-------------------------------------------------------------------------------------------------------------
Value Function Stack Description -------------------------------------------------------------------------------------------------------------
                              
0215   suspend-fcode  ( -- )  Suspends execution of FCode, resumes later if an undefined command is required  
                              V2

-------------------------------------------------------------------------------------------------------------

    Table A-46 Error Handling

-----------------------------------------------------------------------------------------------------------------
Value Function Stack Description -----------------------------------------------------------------------------------------------------------------
                                                     
0216   abort      ( -- )                             Aborts FCode execution, returns to the "ok" prompt  V2
                                                     
0217   catch      ( [...] acf -- [...] error-code )  Executes "acf," returns throw error code or 0 if throw not 
                                                     encountered  V2
                                                     
0218   throw      ( error-code -- )                  Returns given error code to catch  V2
                                                     
fc     ferror    ( -- )                              Displays "Unimplemented FCode" and stops FCode interpretation

-----------------------------------------------------------------------------------------------------------------

FCodes by Byte Value

The following table lists, in hexadecimal order, currently-assigned FCode byte values.

    Table A-47 FCodes by Byte Value

-----------------------------------------------------------------------------------------------------------
Value Function Stack Version 2? -----------------------------------------------------------------------------------------------------------
                                                                                                  
00     end0                     ( -- )                                                            
                                                                                                  
10     b(lit)                   ( -- n )                                                          
                                                                                                  
11     b(')                     ( -- acf )                                                        
                                                                                                  
12     b(")                     ( -- adr len )                                                    
                                                                                                  
13     bbranch                  ( -- )                                                            
                                                                                                  
14     b?branch                 ( -- )                                                            
                                                                                                  
15     b(loop)                  ( -- )                                                            
                                                                                                  
16     b(+loop)                 ( n -- )                                                          
                                                                                                  
17     b(do)                    ( end  start -- )                                                 
                                                                                                  
18     b(?do)                   ( end  start -- )                                                 
                                                                                                  
19     i                        ( -- n )                                                          
                                                                                                  
1a     j                        ( -- n )                                                          
                                                                                                  
1b     b(leave)                 ( -- )                                                            
                                                                                                  
1c     b(of)                    ( sel testval -- sel | none )                                     
                                                                                                  
1d     execute                  ( acf -- )                                                        
                                                                                                  
1e     +                        ( n1 n2 -- n3 )                                                   
                                                                                                  
1f     -                        ( n1 n2 -- n3 )                                                   
                                                                                                  
20     *                        ( n1 n2 -- n3 )                                                   
                                                                                                  
21     /                        ( n1 n2 -- quot )                                                 
                                                                                                  
22     mod                      ( n1 n2 -- rem )                                                  
                                                                                                  
23     and                      ( n1 n2 -- n3 )                                                   
                                                                                                  
24     or                       ( n1 n2 -- n3 )                                                   
                                                                                                  
25     xor                      ( n1 n2 -- n3 )                                                   
                                                                                                  
26     not                      ( n1 -- n2 )                                                      
<<
                                                                                                  
27                              ( n1 +n -- n2 )                                                   
                                                                                                  
28     >'>                       ( n1 +n -- n2 )                                                   
                                                                                                  
29     >a                        ( n1 +n -- n2 )                                                   
                                                                                                  
2a     /mod                     ( n1 n2 -- rem quot )                                             
                                                                                                  
2b     u/mod                    ( ul un -- un.rem un.quot )                                       
                                                                                                  
2c     negate                   ( n1 -- n2 )                                                      
                                                                                                  
2d     abs                      ( n -- u )                                                        
                                                                                                  
2e     min                      ( n1 n2 -- n3 )                                                   
                                                                                                  
2f     max                      ( n1 n2 -- n3 )                                                   
                                                                                                  
30     >r                        ( n -- ) ( rs: -- n)                                              
                                                                                                  
31     r'>                      ( -- n ) ( rs: n -- )                                             
                                                                                                  
32     r@                       ( -- n ) ( rs: -- )                                               
                                                                                                  
33     exit                     ( -- )                                                            
                                                                                                  
34     0=                       ( n -- flag )                                                     
                                                                                                  
35     0<'>                      ( n -- flag )                                                     
                                                                                                  
36     0<                        ( n -- flag )                                                     
                                                                                                  
37     0<=                       ( n -- flag )                                                     
                                                                                                  
38     0'>                      ( n -- flag )                                                     
                                                                                                  
39     0=                       ( n -- flag )                                                     
<
                                                                                                  
3a                              ( n1 n2 -- flag )                                                 
>
                                                                                                  
3b                              ( n1 n2 -- flag )                                                 
                                                                                                  
3c     =                        ( n1 n2 -- flag )                                                 
                                                                                                  
3d     <'>                       ( n1 n2 -- flag )                                                 
                                                                                                  
3e     u'>                      ( u1 n2 -- flag )                                                 
                                                                                                  
3f     u<=                       ( u1 n2 -- flag )                                                 
                                                                                                  
40     u<                        ( u1 u2 -- flag )                                                 
                                                                                                  
41     u=                       ( u1 n2 -- flag )                                                 
                                                                                                  
42     >=                        ( n1 n2 -- flag )                                                 
                                                                                                  
43     <=                        ( n1 n2 -- flag )                                                 
                                                                                                  
44     between                  ( n min max -- flag )                                             
                                                                                                  
45     within                   ( n min max -- flag )                                             
                                                                                                  
46     drop                     ( n -- )                                                          
                                                                                                  
47     dup                      ( n -- n n )                                                      
                                                                                                  
48     over                     ( n1 n2 -- n1 n2 n1 )                                             
                                                                                                  
49     swap                     ( n1 n2 -- n2 n1 )                                                
                                                                                                  
4a     rot                      ( n1 n2 n3 -- n2 n3 n1 )                                          
                                                                                                  
4b     -rot                     ( n1 n2 n3 -- n3 n1 n2 )                                          
                                                                                                  
4c     tuck                     ( n1 n2 -- n2 n1 n2 )                                             
                                                                                                  
4d     nip                      ( n1 n2 -- n2 )                                                   
                                                                                                  
4e     pick                     ( +n -- n2 )                                                      
                                                                                                  
4f     roll                     ( +n -- )                                                         
                                                                                                  
50     ?dup                     ( n -- n n | 0 )                                                  
                                                                                                  
51     depth                    ( -- +n )                                                         
                                                                                                  
52     2drop                    ( n1 n2 -- )                                                      
                                                                                                  
53     2dup                     ( n1 n2 --  n1 n2  n1 n2 )                                        
                                                                                                  
54     2over                    ( n1 n2  n3 n4 -- n1 n2  n3 n4  n1 n2 )                           
                                                                                                  
55     2swap                    ( n1 n2 n3 n4 -- n3 n4 n1 n2 )                                    
                                                                                                  
56     2rot                     ( n1 n2 n3 n4 n5 n6 -- n3 n4 n5 n6 n1 n2 )                        
                                                                                                  
57     2/                       ( n1 -- n2 )                                                      
                                                                                                  
58     u2/                      ( u1 -- u2 )                                                      
                                                                                                  
59     2*                       ( n1 -- n2 )                                                      
                                                                                                  
5a     /c                       ( -- n )                                                          
                                                                                                  
5b     /w                       ( -- n )                                                          
                                                                                                  
5c     /l                       ( -- n )                                                          
                                                                                                  
5d     /n                       ( -- n )                                                          
                                                                                                  
5e     ca+                      ( adr1 index -- adr2 )                                            
                                                                                                  
5f     wa+                      ( adr1 index -- adr2 )                                            
                                                                                                  
60     la+                      ( adr1 index -- adr2 )                                            
                                                                                                  
61     na+                      ( adr1 index -- adr2 )                                            
                                                                                                  
62     ca1+                     ( adr1 -- adr2 )                                                  
                                                                                                  
63     wa1+                     ( adr1 -- adr2 )                                                  
                                                                                                  
64     la1+                     ( adr1 -- adr2 )                                                  
                                                                                                  
65     na1+                     ( adr1 -- adr2 )                                                  
                                                                                                  
66     /c*                      ( n1 -- n2 )                                                      
                                                                                                  
67     /w*                      ( n1 -- n2 )                                                      
                                                                                                  
68     /l*                      ( n1 -- n2 )                                                      
                                                                                                  
69     /n*                      ( n1 -- n2 )                                                      
                                                                                                  
6a     on                       ( adr -- )                                                        
                                                                                                  
6b     off                      ( adr -- )                                                        
                                                                                                  
6c     +!                       ( n adr -- )                                                      
                                                                                                  
6d     @                        ( adr -- n )                                                      
                                                                                                  
6e     l@                       ( adr -- l )                                                      
                                                                                                  
6f     w@                       ( adr -- w )                                                      
                                                                                                  
70     <w@                       ( adr -- n )                                                      
                                                                                                  
71     c@                       ( adr -- byte )                                                   
                                                                                                  
72     !                        ( n adr -- )                                                      
                                                                                                  
73     l!                       ( l adr -- )                                                      
                                                                                                  
74     w!                       ( w adr -- )                                                      
                                                                                                  
75     c!                       ( n adr -- )                                                      
                                                                                                  
76     2@                       ( adr -- n1 n2 )                                                  
                                                                                                  
77     2!                       ( n1 n2 adr -- )                                                  
                                                                                                  
78     move                     ( adr1 adr2 u -- )                                                
                                                                                                  
79     fill                     ( adr u byte -- )                                                 
                                                                                                  
7a     comp                     ( adr1 adr2 len -- n )                                            
                                                                                                  
7b     noop                     ( -- )                                                            
                                                                                                  
7c     lwsplit                  ( l -- w.low w.high )                                             
                                                                                                  
7d     wljoin                   ( w.low w.high -- l )                                             
                                                                                                  
7e     lbsplit                  ( l -- b.low b2 b3 b.high )                                       
                                                                                                  
7f     bljoin                   ( b.low b2 b3 b.hi -- l )                                         
                                                                                                  
80     flip                     ( w1 -- w2 )                                                      
                                                                                                  
81     upc                      ( char -- upper-case-char )                                       
                                                                                                  
82     lcc                      ( char -- lower-case-char )                                       
                                                                                                  
83     pack                     ( adr len pstr -- pstr )                                          
                                                                                                  
84     count                    ( pstr -- adr +n )                                                
                                                                                                  
85     body'>                   ( apf -- acf )                                                    
                                                                                                  
86     >body                     ( acf -- apf )                                                    
                                                                                                  
87     version                  ( -- n )                                                          
                                                                                                  
88     span                     ( -- adr )                                                        
                                                                                                  
8a     expect                   ( adr +n -- )                                                     
                                                                                                  
8b     alloc-mem                ( nbytes -- adr )                                                 
                                                                                                  
8c     free-mem                 ( adr nbytes -- )                                                 
                                                                                                  
8d     key?                     ( -- flag )                                                       
                                                                                                  
8e     key                      ( -- char )                                                       
                                                                                                  
8f     emit                     ( char -- )                                                       
                                                                                                  
90     type                     ( adr +n -- )                                                     
                                                                                                  
91     (cr                      ( -- )                                                            
                                                                                                  
92     cr                       ( -- )                                                            
                                                                                                  
93     #out                     ( -- adr )                                                        
                                                                                                  
94     #line                    ( -- adr )                                                        
                                                                                                  
95     hold                     ( char -- )                                                       
                                                                                                  
96     <#                        ( -- )                                                            
                                                                                                  
97     #'>                      ( l -- adr +n )                                                   
                                                                                                  
98     sign                     ( n -- )                                                          
                                                                                                  
99     #                        ( +l1 -- +l2 )                                                    
                                                                                                  
9a     #s                       ( +l -- 0 )                                                       
                                                                                                  
9b     u.                       ( u -- )                                                          
                                                                                                  
9c     u.r                      ( u +n -- )                                                       
                                                                                                  
9d     .                        ( n -- )                                                          
                                                                                                  
9e     .r                       ( n +n -- )                                                       
                                                                                                  
9f     .s                       ( -- )                                                            
                                                                                                  
a0     base                     ( -- adr )                                                        
                                                                                                  
a2     $number                  ( adr len -- true | n false )                                     V2
                                                                                                  
a3     digit                    ( char base -- digit true | char false )                          
                                                                                                  
a4     -1                       ( -- -1 )                                                         
                                                                                                  
a5     0                        ( -- 0 )                                                          
                                                                                                  
a6     1                        ( -- 1 )                                                          
                                                                                                  
a7     2                        ( -- 2 )                                                          
                                                                                                  
a8     3                        ( -- 3 )                                                          
                                                                                                  
a9     bl                       ( -- n )                                                          
                                                                                                  
aa     bs                       ( -- n )                                                          
                                                                                                  
ab     bell                     ( -- n )                                                          
                                                                                                  
ac     bounds                   ( startadr len -- endadr startadr )                               
                                                                                                  
ad     here                     ( -- adr )                                                        
                                                                                                  
ae     aligned                  ( adr1 -- adr2 )                                                  
                                                                                                  
af     wbsplit                  ( w -- b.low b.high )                                             
                                                                                                  
b0     bwjoin                   ( b.low b.hi -- w )                                               
                                                                                                  
b1     b(<mark)                  ( -- )                                                            
                                                                                                  
b2     b(resolve)               ( -- )                                                            
                                                                                                  
b5     new-token                ( -- )                                                            
                                                                                                  
b6     named-token              ( -- )                                                            
                                                                                                  
b7     b(:)                                                                                       
                                                                                                  
b8     b(value)                                                                                   
                                                                                                  
b9     b(variable)                                                                                
                                                                                                  
ba     b(constant)                                                                                
                                                                                                  
bb     b(create)                                                                                  
                                                                                                  
bc     b(defer)                                                                                   
                                                                                                  
bd     b(buffer:)                                                                                 
                                                                                                  
be     b(field)                                                                                   
                                                                                                  
c0     instance                 ( -- )                                                            V2.1
                                                                                                  
c2     b(;)                     ( -- )                                                            
                                                                                                  
c3     b(is)                    ( n -- )                                                          
                                                                                                  
c4     b(case)                  ( -- )                                                            
                                                                                                  
c5     b(endcase)               ( -- )                                                            
                                                                                                  
c6     b(endof)                 ( -- )                                                            
                                                                                                  
ca     external-token           ( -- )                                                            V2
                                                                                                  
cb     $find                    ( adr len -- adr len false  |  acf +-1 )                          
                                                                                                  
cc     offset16                 ( -- )                                                            
                                                                                                  
cd     eval                     ( ??? adr len -- ? )                                              V2
                                                                                                  
d0     c,                       ( n -- )                                                          
                                                                                                  
d1     w,                       ( w -- )                                                          
                                                                                                  
d2     l,                       ( l -- )                                                          
                                                                                                  
d3     ,                        ( n -- )                                                          
                                                                                                  
d4     u*x                      ( u1[32] u2[32] -- product[64] )                                  V2
                                                                                                  
d5     xu/mod                   ( u1[64] u2[32] -- remainder[32] quot[32] )                       V2
                                                                                                  
d8     x+                       ( x1 x2 -- x3 )                                                   V2
                                                                                                  
d9     x-                       ( x1 x2 -- x3 )                                                   V2
                                                                                                  
f0     start0                   ( -- )                                                            V2
                                                                                                  
f1     start1                   ( -- )                                                            V2
                                                                                                  
f2     start2                   ( -- )                                                            V2
                                                                                                  
f3     start4                   ( -- )                                                            V2
                                                                                                  
fc     ferror                   ( -- )                                                            V2.3
                                                                                                  
fd     version1                 ( -- )                                                            
                                                                                                  
fe     4-byte-id                ( -- )                                                            
                                                                                                  
ff     end1                     ( -- )                                                            
                                                                                                  
0101   dma-alloc                ( nbytes -- virt )                                                
                                                                                                  
0102   my-address               ( -- phys )                                                       V2
                                                                                                  
0103   my-space                 ( -- space )                                                      V2
                                                                                                  
0104   memmap                   ( physoffset space size -- virtual )                              
                                                                                                  
0105   free-virtual             ( virt nbytes -- )                                                
                                                                                                  
0106   >physical                 ( virt -- phys space )                                            
                                                                                                  
010f   my-params                ( -- adr len )                                                    
                                                                                                  
0110   attribute                ( xdr-adr xdr-len name-adr name-len -- )                          
                                                                                                  
0111   xdrint                   ( n -- xdr-adr xdr-len )                                          
                                                                                                  
0112   xdr+                     ( xdr-adr1 xdr-len1 xdr-adr2 xdr-len2 -- xdr-adr xdr-len1+2 )     
                                                                                                  
0113   xdrphys                  ( phys space -- xdr-adr xdr-len )                                 
                                                                                                  
0114   xdrstring                ( adr  len -- xdr-adr  xdr-len )                                  
                                                                                                  
0115   xdrbytes                 ( adr len --  xdr-adr xdr-len )                                   V2.1
                                                                                                  
0116   reg                      ( phys space size -- )                                            
                                                                                                  
0117   intr                     ( intr-level vector -- )                                          
                                                                                                  
0118   driver                   ( adr len -- )                                                    
                                                                                                  
0119   model                    ( adr len -- )                                                    
                                                                                                  
011a   device-type              ( adr len -- )                                                    
                                                                                                  
011b   decode-2int              ( xdr-adr xdr-len  -- phys space )                                V2
                                                                                                  
011c   is-install               ( acf -- )                                                        
                                                                                                  
011d   is-remove                ( acf -- )                                                        
                                                                                                  
011e   is-selftest              ( acf -- )                                                        
                                                                                                  
011f   new-device               ( -- )                                                            
                                                                                                  
0120   diagnostic-mode?         ( -- flag )                                                       
                                                                                                  
0121   display-status           ( n -- )                                                          
                                                                                                  
0122   memory-test-suite        ( adr len -- status )                                             
                                                                                                  
0123   group-code               ( -- adr )                                                        
                                                                                                  
0124   mask                     ( -- adr )                                                        
                                                                                                  
0125   get-msecs                ( -- ms )                                                         
                                                                                                  
0126   ms                       ( n -- )                                                          
                                                                                                  
0127   finish-device            ( -- )                                                            
                                                                                                  
0130   map-sbus                 ( phys size -- virt )                                             
                                                                                                  
0131   sbus-intrcpu             ( sbus-intr# -- cpu-intr# )                                       
                                                                                                  
0150   #lines                   ( -- n )                                                          
                                                                                                  
0151   #columns                 ( -- n )                                                          
                                                                                                  
0152   line#                    ( -- n )                                                          
                                                                                                  
0153   column#                  ( -- n )                                                          
                                                                                                  
0154   inverse?                 ( -- flag )                                                       
                                                                                                  
0155   inverse-screen?          ( -- flag )                                                       
                                                                                                  
0157   draw-character           ( char -- )                                                       
                                                                                                  
0158   reset-screen             ( -- )                                                            
                                                                                                  
0159   toggle-cursor            ( -- )                                                            
                                                                                                  
015a   erase-screen             ( -- )                                                            
                                                                                                  
015b   blink-screen             ( -- )                                                            
                                                                                                  
015c   invert-screen            ( -- )                                                            
                                                                                                  
015d   insert-characters        ( n -- )                                                          
                                                                                                  
015e   delete-characters        ( n -- )                                                          
                                                                                                  
015f   insert-lines             ( n -- )                                                          
                                                                                                  
0160   delete-lines             ( n -- )                                                          
                                                                                                  
0161   draw-logo                ( line# logoaddr logowidth logoheight -- )                        
                                                                                                  
0162   frame-buffer-adr         ( -- adr )                                                        
                                                                                                  
0163   screen-height            ( -- n )                                                          
                                                                                                  
0164   screen-width             ( -- n )                                                          
                                                                                                  
0165   window-top               ( -- n )                                                          
                                                                                                  
0166   window-left              ( -- n )                                                          
                                                                                                  
016a   default-font             ( -- fontbase charwidth charheight fontbytes #firstchar #chars )  
                                                                                                  
016b   set-font                 ( fontbase charwidth charheight fontbytes #firstchar #chars -- )  
                                                                                                  
016c   char-height              ( -- n )                                                          
                                                                                                  
016d   char-width               ( -- n )                                                          
                                                                                                  
016e   >font                     ( char -- adr )                                                   
                                                                                                  
016f   fontbytes                ( -- n )                                                          
                                                                                                  
0170   fb1-draw-character       ( char -- )                                                       
                                                                                                  
0171   fb1-reset-screen         ( -- )                                                            
                                                                                                  
0172   fb1-toggle-cursor        ( -- )                                                            
                                                                                                  
0173   fb1-erase-screen         ( -- )                                                            
                                                                                                  
0174   fb1-blink-screen         ( -- )                                                            
                                                                                                  
0175   fb1-invert-screen        ( -- )                                                            
                                                                                                  
0176   fb1-insert-characters    ( n -- )                                                          
                                                                                                  
0177   fb1-delete-characters    ( n -- )                                                          
                                                                                                  
0178   fb1-insert-lines         ( n -- )                                                          
                                                                                                  
0179   fb1-delete-lines         ( n -- )                                                          
                                                                                                  
017a   fb1-draw-logo            ( line# logoaddr logowidth logoheight -- )                        
                                                                                                  
017b   fb1-install              ( width height #columns #lines -- )                               
                                                                                                  
017c   fb1-slide-up             ( n -- )                                                          
                                                                                                  
0180   fb8-draw-character       ( char -- )                                                       
                                                                                                  
0181   fb8-reset-screen         ( -- )                                                            
                                                                                                  
0182   fb8-toggle-cursor        ( -- )                                                            
                                                                                                  
0183   fb8-erase-screen         ( -- )                                                            
                                                                                                  
0184   fb8-blink-screen         ( -- )                                                            
                                                                                                  
0185   fb8-invert-screen        ( -- )                                                            
                                                                                                  
0186   fb8-insert-characters    ( n -- )                                                          
                                                                                                  
0187   fb8-delete-characters    ( n -- )                                                          
                                                                                                  
0188   fb8-insert-lines         ( n -- )                                                          
                                                                                                  
0189   fb8-delete-lines         ( n -- )                                                          
                                                                                                  
018a   fb8-draw-logo            ( line# logoaddr logowidth logoheight -- )                        
                                                                                                  
018b   fb8-install              ( width height #columns #lines -- )                               
                                                                                                  
01a4   mac-address              ( -- adr len )                                                    V2
                                                                                                  
0201   device-name              ( adr len -- )                                                    V2
                                                                                                  
0202   my-args                  ( -- adr len )                                                    V2
                                                                                                  
0203   my-self                  ( -- ihandle )                                                    V2
                                                                                                  
0204   find-package             ( adr len -- false | phandle true )                               V2
                                                                                                  
0205   open-package             ( adr len phandle -- ihandle | 0 )                                V2
                                                                                                  
0206   close-package            ( ihandle -- )                                                    V2
                                                                                                  
0207   find-method              ( adr len phandle -- false | acf true )                           V2
                                                                                                  
0208   call-package             ( [...] acf ihandle -- [...] )                                    V2
                                                                                                  
0209   $call-parent             ( [...] adr len -- [...] )                                        V2
                                                                                                  
020a   my-parent                ( -- ihandle )                                                    V2
                                                                                                  
020b   ihandlephandle           ( ihandle -- phandle )                                            V2
                                                                                                  
020d   my-unit                  ( -- low  high )                                                  V2
                                                                                                  
020e   $call-method             ( [...]adr len ihandle -- [...])                                  V2
                                                                                                  
020f   $open-package            ( arg-adr arg-len adr len -- ihandle | 0 )                        V2
                                                                                                  
0210   processor-type           ( -- processor-type )                                             V2
                                                                                                  
0211   firmware-version         ( -- n )                                                          V2
                                                                                                  
0212   fcode-version            ( -- n )                                                          V2
                                                                                                  
0213   alarm                    ( acf n -- )                                                      V2
                                                                                                  
0214   (is-user-word)           ( adr len acf -- )                                                V2
                                                                                                  
0215   suspend-fcode            ( -- )                                                            V2
                                                                                                  
0216   abort                    ( -- )                                                            V2
                                                                                                  
0217   catch                    ( [...] acf -- [...] error-code )                                 V2
                                                                                                  
0218   throw                    ( error-code -- )                                                 V2
                                                                                                  
0219   user-abort               ( -- )                                                            V2.1
                                                                                                  
021a   get-my-attribute         ( nam-adr nam-len -- true | xdr-adr xdr-len false )               V2
                                                                                                  
021b   xdrtoint                 ( xdr-adr xdr-len -- xdr2-adr xdr2-len n )                        V2
                                                                                                  
021c   xdrtostring              ( xdr-adr xdr-len -- xdr2-adr xdr2-len adr len )                  V2
                                                                                                  
021d   get-inherited-attribute  ( nam-adr nam-len -- true | xdr-adr xdr-len false )               V2
                                                                                                  
021e   delete-attribute         ( nam-adr nam-len -- )                                            V2
                                                                                                  
021f   get-package-attribute    ( adr len phandle -- true | xdr-adr xdr-len false )               V2
                                                                                                  
0220   cpeek                    ( adr -- false | byte  true )                                     V2
                                                                                                  
0221   wpeek                    ( adr -- false | word true )                                      V2
                                                                                                  
0222   lpeek                    ( adr -- false | long true )                                      V2
                                                                                                  
0223   cpoke                    ( byte  adr --  ok? )                                             V2
                                                                                                  
0224   wpoke                    ( word adr --  ok? )                                              V2
                                                                                                  
0225   lpoke                    ( long adr --  ok? )                                              V2
                                                                                                  
0230   rb@                      ( adr -- byte )                                                   V2
                                                                                                  
0231   rb!                      ( byte  adr -- )                                                  V2
                                                                                                  
0232   rw@                      ( adr -- word )                                                   V2
                                                                                                  
0233   rw!                      ( word adr -- )                                                   V2
                                                                                                  
0234   rl@                      ( adr -- long )                                                   V2
                                                                                                  
0235   rl!                      ( long adr -- )                                                   V2
                                                                                                  
0236   wflips                   ( adr len -- )                                                    V2
                                                                                                  
0237   lflips                   ( adr len -- )                                                    V2
                                                                                                  
0238   probe                    ( arg-adr arg-len reg-adr reg-len fcode-adr fcode-len -- )        V2.2
                                                                                                  
0239   probe-virtual            ( arg-adr arg-len reg-adr reg-len fcode-adr -- )                  V2.2
                                                                                                  
023b   child                    ( phandle -- child-phandle )                                      V2.3
                                                                                                  
023c   peer                     ( phandle -- peer-phandle )                                       V2.3
                                                                                                  
0240   left-parse-string        ( adr len char -- adrR lenR adrL lenL )                           V2.2
                                                                                                  
-      ( text)                  ( -- )                                                            
                                                                                                  
-      (s text)                 ( -- )                                                            
                                                                                                  
-      ]tokenizer               ( -- )                                                            
                                                                                                  
-      \                        ( -- )                                                            
                                                                                                  
-      alias                    ( -- )                                                            
                                                                                                  
-      binary                   ( -- )                                                            
                                                                                                  
-      decimal                  ( -- )                                                            
                                                                                                  
-      external                 ( -- )                                                            V2
                                                                                                  
-      fload filename           ( -- )                                                            
                                                                                                  
-      headerless               ( -- )                                                            
                                                                                                  
-      headers                  ( -- )                                                            
                                                                                                  
-      hex                      ( -- )                                                            
                                                                                                  
-      octal                    ( -- )                                                            
                                                                                                  
-      tokenizer[               ( -- )                                                            
                                                                                                  
CR     "   text"                ( -- adr len )                                                    
                                                                                                  
CR     '  name                  ( -- acf )                                                        
                                                                                                  
CR     */mod                    ( n1 n2 n3 -- rem quot )                                          
                                                                                                  
CR     +loop                    ( n -- )                                                          
                                                                                                  
CR     ."   text"               ( -- )                                                            
                                                                                                  
CR     .(  text)                ( -- )                                                            
                                                                                                  
CR     .d                       ( n -- )                                                          
                                                                                                  
CR     .h                       ( n -- )                                                          
                                                                                                  
CR     1+                       ( n1 -- n2 )                                                      
                                                                                                  
CR     1-                       ( n1 -- n2 )                                                      
                                                                                                  
CR     3dup                     ( n1 n2 n3 -- n1 n2 n3 n1 n2 n3 )                                 
                                                                                                  
CR     : (colon) name           ( -- )                                                            
                                                                                                  
CR     ; (semicolon)            ( -- )                                                            
                                                                                                  
CR     <<a                        ( n1 +n -- n2 )                                                   
                                                                                                  
CR     ?                        ( adr  -- )                                                       
                                                                                                  
CR     ?do                      ( end start -- )                                                  
                                                                                                  
CR     ?leave                   ( flag -- )                                                       
                                                                                                  
CR     ['] name                 ( -- acf )                                                        
                                                                                                  
CR     again                    ( -- )                                                            
                                                                                                  
CR     ascii x                  ( -- char )                                                       
                                                                                                  
CR     b# number                ( -- n )                                                          
                                                                                                  
CR     begin                    ( -- )                                                            
                                                                                                  
CR     blank                    ( adr len -- )                                                    
                                                                                                  
CR     buffer: name             ( size -- )                                                       
                                                                                                  
CR     carret                   ( -- n )                                                          
                                                                                                  
CR     cmove                    ( adr1 adr2 u -- )                                                
                                                                                                  
CR     cmove'>                  ( adr1 adr2 u -- )                                                
                                                                                                  
CR     constant name            ( n -- )                                                          
                                                                                                  
CR     control x                ( -- char )                                                       
                                                                                                  
CR     create name              ( -- )                                                            
                                                                                                  
CR     d# number                ( -- n )                                                          
                                                                                                  
CR     decimal                  ( -- )                                                            
                                                                                                  
CR     defer name               ( -- )                                                            
                                                                                                  
CR     do                       ( end start -- )                                                  
                                                                                                  
CR     else                     ( -- )                                                            
                                                                                                  
CR     emit-byte                ( n -- )                                                          
                                                                                                  
CR     erase                    ( adr len -- )                                                    
                                                                                                  
CR     false                    ( -- 0 )                                                          
                                                                                                  
CR     fcode-version1           ( -- )                                                            
                                                                                                  
CR     fcode-version2           ( -- )                                                            V2
                                                                                                  
CR     field name               ( offset size -- offset+size )                                    
                                                                                                  
CR     h# number                ( -- n )                                                          
                                                                                                  
CR     hex                      ( -- )                                                            
                                                                                                  
CR     if                       ( flag -- )                                                       
                                                                                                  
CR     is name                  ( n -- )                                                          
                                                                                                  
CR     leave                    ( -- )                                                            
                                                                                                  
CR     linefeed                 ( -- n )                                                          
                                                                                                  
CR     loop                     ( -- )                                                            
                                                                                                  
CR     name                     ( adr len -- )                                                    
                                                                                                  
CR     newline                  ( -- n )                                                          
                                                                                                  
CR     o# number                ( -- n )                                                          
                                                                                                  
CR     repeat                   ( -- )                                                            
                                                                                                  
CR     s.                       ( n -- )                                                          
                                                                                                  
CR     space                    ( -- )                                                            
                                                                                                  
CR     spaces                   ( +n -- )                                                         
                                                                                                  
CR     struct                   ( -- 0 )                                                          
                                                                                                  
CR     then                     ( -- )                                                            
                                                                                                  
CR     true                     ( --  -1 )                                                        
                                                                                                  
CR     until                    ( flag -- )                                                       
                                                                                                  
CR     value name               ( n -- )                                                          
                                                                                                  
CR     variable name            ( -- )                                                            
                                                                                                  
CR     wflip                    ( l1 -- l2 )                                                      
                                                                                                  
CR     while                    ( flag -- )                                                       

-----------------------------------------------------------------------------------------------------------

FCodes by Name

The following table lists, in alphabetic order, currently-assigned FCodes.

    Table A-48 FCodes by Name

-----------------------------------------------------------------------------------------------------------
Value Function Stack Version 2? -----------------------------------------------------------------------------------------------------------
                                                                                                  
a5     0                        ( -- 0 )                                                          
                                                                                                  
36     0<                        ( n -- flag )                                                     
                                                                                                  
37     0<=                       ( n -- flag )                                                     
                                                                                                  
35     0<'>                      ( n -- flag )                                                     
                                                                                                  
34     0=                       ( n -- flag )                                                     
                                                                                                  
38     0'>                      ( n -- flag )                                                     
                                                                                                  
39     0=                       ( n -- flag )                                                     
                                                                                                  
a6     1                        ( -- 1 )                                                          
                                                                                                  
CR     1+                       ( n1 -- n2 )                                                      
                                                                                                  
CR     1-                       ( n1 -- n2 )                                                      
                                                                                                  
a7     2                        ( -- 2 )                                                          
                                                                                                  
77     2!                       ( n1 n2 adr -- )                                                  
                                                                                                  
59     2*                       ( n1 -- n2 )                                                      
                                                                                                  
57     2/                       ( n1 -- n2 )                                                      
                                                                                                  
76     2@                       ( adr -- n1 n2 )                                                  
                                                                                                  
52     2drop                    ( n1 n2 -- )                                                      
                                                                                                  
53     2dup                     ( n1 n2 --  n1 n2  n1 n2 )                                        
                                                                                                  
54     2over                    ( n1 n2  n3 n4 -- n1 n2  n3 n4  n1 n2 )                           
                                                                                                  
56     2rot                     ( n1 n2 n3 n4 n5 n6 -- n3 n4 n5 n6 n1 n2 )                        
                                                                                                  
55     2swap                    ( n1 n2 n3 n4 -- n3 n4 n1 n2 )                                    
                                                                                                  
a8     3                        ( -- 3 )                                                          
                                                                                                  
CR     3dup                     ( n1 n2 n3 -- n1 n2 n3 n1 n2 n3 )                                 
                                                                                                  
fe     4-byte-id                ( -- )                                                            
                                                                                                  
0216   abort                     ( -- )                                                           V2
                                                                                                  
2d     abs                      ( n -- u )                                                        
                                                                                                  
CR     again                    ( -- )                                                            
                                                                                                  
0213   alarm                    ( acf n -- )                                                      V2
                                                                                                  
-      alias                    ( -- )                                                            
                                                                                                  
ae     aligned                  ( adr1 -- adr2 )                                                  
                                                                                                  
8b     alloc-mem                ( nbytes -- adr )                                                 
                                                                                                  
23     and                      ( n1 n2 -- n3 )                                                   
                                                                                                  
CR     ascii x                  ( -- char )                                                       
                                                                                                  
0110   attribute                ( xdr-adr xdr-len name-adr name-len -- )                          
                                                                                                  
CR     b# number                ( -- n )                                                          
                                                                                                  
12     b(")                     ( -- adr len )                                                    
                                                                                                  
11     b(')                     ( -- acf )                                                        
                                                                                                  
16     b(+loop)                 ( n -- )                                                          
                                                                                                  
b7     b(:)                                                                                       
                                                                                                  
c2     b(;)                     ( -- )                                                            
                                                                                                  
b1     b(<mark)                  ( -- )                                                            
                                                                                                  
b2     b(resolve)               ( -- )                                                            
                                                                                                  
18     b(?do)                   ( end  start -- )                                                 
                                                                                                  
bd     b(buffer:)                                                                                 
                                                                                                  
c4     b(case)                  ( selector -- selector )                                          
                                                                                                  
ba     b(constant)                                                                                
                                                                                                  
bb     b(create)                                                                                  
                                                                                                  
bc     b(defer)                                                                                   
                                                                                                  
17     b(do)                    ( end  start -- )                                                 
                                                                                                  
c5     b(endcase)               ( -- )                                                            
                                                                                                  
c6     b(endof)                 ( -- )                                                            
                                                                                                  
be     b(field)                                                                                   
                                                                                                  
c3     b(is)                    ( n -- )                                                          
                                                                                                  
1b     b(leave)                 ( -- )                                                            
                                                                                                  
10     b(lit)                   ( -- n )                                                          
                                                                                                  
15     b(loop)                  ( -- )                                                            
                                                                                                  
1c     b(of)                    ( sel testval -- sel | none )                                     
                                                                                                  
b8     b(value)                                                                                   
                                                                                                  
b9     b(variable)                                                                                
                                                                                                  
14     b?branch                 ( -- )                                                            
                                                                                                  
a0     base                     ( -- adr )                                                        
                                                                                                  
13     bbranch                  ( -- )                                                            
                                                                                                  
CR     begin                    ( -- )                                                            
                                                                                                  
ab     bell                     ( -- n )                                                          
                                                                                                  
44     between                  ( n min max -- flag )                                             
                                                                                                  
-      binary                   ( -- )                                                            
                                                                                                  
a9     bl                       ( -- n )                                                          
                                                                                                  
CR     blank                    ( adr len -- )                                                    
                                                                                                  
015b   blink-screen             ( -- )                                                            
                                                                                                  
7f     bljoin                   ( b.low b2 b3 b.hi -- l )                                         
                                                                                                  
85     body'>                   ( apf -- acf )                                                    
                                                                                                  
ac     bounds                   ( startadr len -- endadr startadr )                               
                                                                                                  
aa     bs                       ( -- n )                                                          
                                                                                                  
CR     buffer: name             ( size -- )                                                       
                                                                                                  
b0     bwjoin                   ( b.low b.hi -- w )                                               
                                                                                                  
75     c!                       ( n adr -- )                                                      
                                                                                                  
d0     c,                       ( n -- )                                                          
                                                                                                  
71     c@                       ( adr -- byte )                                                   
                                                                                                  
5e     ca+                      ( adr1 index -- adr2 )                                            
                                                                                                  
62     ca1+                     ( adr1 -- adr2 )                                                  
                                                                                                  
0208   call-package             ( [...] acf ihandle -- [...] )                                    V2
                                                                                                  
CR     carret                   ( -- n )                                                          
                                                                                                  
0217   catch                     ( [...] acf -- [...] error-code )                                V2
                                                                                                  
016c   char-height              ( -- n )                                                          
                                                                                                  
016d   char-width               ( -- n )                                                          
                                                                                                  
0236   child                    ( phandle -- child-phandle )                                      V2.3
                                                                                                  
0206   close-package            ( ihandle -- )                                                    V2
                                                                                                  
CR     cmove                    ( adr1 adr2 u -- )                                                
                                                                                                  
CR     cmove'>                  ( adr1 adr2 u -- )                                                
                                                                                                  
0153   column#                  ( -- n )                                                          
                                                                                                  
7a     comp                     ( adr1 adr2 len -- n )                                            
                                                                                                  
CR     constant name            ( n -- )                                                          
                                                                                                  
CR     control x                ( -- char )                                                       
                                                                                                  
84     count                    ( pstr -- adr +n )                                                
                                                                                                  
0220   cpeek                    ( adr -- false | byte  true )                                     V2
                                                                                                  
0223   cpoke                    ( byte  adr --  ok? )                                             V2
                                                                                                  
92     cr                       ( -- )                                                            
                                                                                                  
CR     create name              ( -- )                                                            
                                                                                                  
CR     d# number                ( -- n )                                                          
                                                                                                  
-      decimal                  ( -- )                                                            
                                                                                                  
CR     decimal                  ( -- )                                                            
                                                                                                  
011b   decode-2int              ( xdr-adr xdr-len  -- phys space )                                V2
                                                                                                  
016a   default-font             ( -- fontbase charwidth charheight fontbytes #firstchar #chars )  
                                                                                                  
CR     defer name               ( -- )                                                            
                                                                                                  
021e   delete-attribute         ( nam-adr nam-len -- )                                            V2
                                                                                                  
015e   delete-characters        ( n -- )                                                          
                                                                                                  
0160   delete-lines             ( n -- )                                                          
                                                                                                  
51     depth                    ( -- +n )                                                         
                                                                                                  
0201   device-name              ( adr len -- )                                                    V2
                                                                                                  
011a   device-type              ( adr len -- )                                                    
                                                                                                  
0120   diagnostic-mode?         ( -- flag )                                                       
                                                                                                  
a3     digit                    ( char base -- digit true | char false )                          
                                                                                                  
0121   display-status           ( n -- )                                                          
                                                                                                  
0101   dma-alloc                ( nbytes -- virt )                                                
                                                                                                  
CR     do                       ( end start -- )                                                  
                                                                                                  
0157   draw-character           ( char -- )                                                       
                                                                                                  
0161   draw-logo                ( line# logoaddr logowidth logoheight -- )                        
                                                                                                  
0118   driver                   ( adr len -- )                                                    
                                                                                                  
46     drop                     ( n -- )                                                          
                                                                                                  
47     dup                      ( n -- n n )                                                      
                                                                                                  
CR     else                     ( -- )                                                            
                                                                                                  
8f     emit                     ( char -- )                                                       
                                                                                                  
CR     emit-byte                ( n -- )                                                          
                                                                                                  
00     end0                     ( -- )                                                            
                                                                                                  
ff     end1                     ( -- )                                                            
                                                                                                  
CR     erase                    ( adr len -- )                                                    
                                                                                                  
015a   erase-screen             ( -- )                                                            
                                                                                                  
cd     eval                     ( ??? adr len -- ? )                                              V2
                                                                                                  
1d     execute                  ( acf -- )                                                        
                                                                                                  
33     exit                     ( -- )                                                            
                                                                                                  
8a     expect                   ( adr +n -- )                                                     
                                                                                                  
-      external                 ( -- )                                                            V2
                                                                                                  
ca     external-token           ( -- )                                                            V2
                                                                                                  
CR     false                    ( -- 0 )                                                          
                                                                                                  
0174   fb1-blink-screen         ( -- )                                                            
                                                                                                  
0177   fb1-delete-characters    ( n -- )                                                          
                                                                                                  
0179   fb1-delete-lines         ( n -- )                                                          
                                                                                                  
0170   fb1-draw-character       ( char -- )                                                       
                                                                                                  
017a   fb1-draw-logo            ( line# logoaddr logowidth logoheight -- )                        
                                                                                                  
0173   fb1-erase-screen         ( -- )                                                            
                                                                                                  
0176   fb1-insert-characters    ( n -- )                                                          
                                                                                                  
0178   fb1-insert-lines         ( n -- )                                                          
                                                                                                  
017b   fb1-install              ( width height #columns #lines -- )                               
                                                                                                  
0175   fb1-invert-screen        ( -- )                                                            
                                                                                                  
0171   fb1-reset-screen         ( -- )                                                            
                                                                                                  
017c   fb1-slide-up             ( n -- )                                                          
                                                                                                  
0172   fb1-toggle-cursor        ( -- )                                                            
                                                                                                  
0184   fb8-blink-screen         ( -- )                                                            
                                                                                                  
0187   fb8-delete-characters    ( n -- )                                                          
                                                                                                  
0189   fb8-delete-lines         ( n -- )                                                          
                                                                                                  
0180   fb8-draw-character       ( char -- )                                                       
                                                                                                  
018a   fb8-draw-logo            ( line# logoaddr logowidth logoheight -- )                        
                                                                                                  
0183   fb8-erase-screen         ( -- )                                                            
                                                                                                  
0186   fb8-insert-characters    ( n -- )                                                          
                                                                                                  
0188   fb8-insert-lines         ( n -- )                                                          
                                                                                                  
018b   fb8-install              ( width height #columns #lines -- )                               
                                                                                                  
0185   fb8-invert-screen        ( -- )                                                            
                                                                                                  
0181   fb8-reset-screen         ( -- )                                                            
                                                                                                  
0182   fb8-toggle-cursor        ( -- )                                                            
                                                                                                  
0212   fcode-version            ( -- n )                                                          V2
                                                                                                  
CR     fcode-version1           ( -- )                                                            
                                                                                                  
CR     fcode-version2           ( -- )                                                            V2
                                                                                                  
fc     ferror                   ( -- )                                                            V2.3
                                                                                                  
CR     field name               ( offset size -- offset+size )                                    
                                                                                                  
79     fill                     ( adr u byte -- )                                                 
                                                                                                  
0207   find-method              ( adr len phandle -- false | acf true )                           V2
                                                                                                  
0204   find-package             ( adr len -- false | phandle true )                               V2
                                                                                                  
0127   finish-device            ( -- )                                                            
                                                                                                  
0211   firmware-version         ( -- n )                                                          V2
                                                                                                  
80     flip                     ( w1 -- w2 )                                                      
                                                                                                  
-      fload filename           ( -- )                                                            
                                                                                                  
016f   fontbytes                ( -- n )                                                          
                                                                                                  
0162   frame-buffer-adr         ( -- adr )                                                        
                                                                                                  
8c     free-mem                 ( adr nbytes -- )                                                 
                                                                                                  
0105   free-virtual             ( virt nbytes -- )                                                
                                                                                                  
021d   get-inherited-attribute  ( nam-adr nam-len -- true | xdr-adr xdr-len false )               V2
                                                                                                  
0125   get-msecs                ( -- ms )                                                         
                                                                                                  
021a   get-my-attribute         ( nam-adr nam-len -- true | xdr-adr xdr-len false )               V2
                                                                                                  
021f   get-package-attribute    ( adr len phandle -- true | xdr-adr xdr-len false )               V2
                                                                                                  
0123   group-code               ( -- adr )                                                        
                                                                                                  
CR     h# number                ( -- n )                                                          
                                                                                                  
-      headerless               ( -- )                                                            
                                                                                                  
-      headers                  ( -- )                                                            
                                                                                                  
ad     here                     ( -- adr )                                                        
                                                                                                  
-      hex                      ( -- )                                                            
                                                                                                  
CR     hex                      ( -- )                                                            
                                                                                                  
95     hold                     ( char -- )                                                       
                                                                                                  
19     i                        ( -- n )                                                          
                                                                                                  
CR     if                       ( flag -- )                                                       
                                                                                                  
020b   ihandlephandle           ( ihandle -- phandle )                                            V2
                                                                                                  
015d   insert-characters        ( n -- )                                                          
                                                                                                  
015f   insert-lines             ( n -- )                                                          
                                                                                                  
c0     instance                 ( -- )                                                            V2.1
                                                                                                  
0117   intr                     ( intr-level vector -- )                                          
                                                                                                  
0155   inverse-screen?          ( -- flag )                                                       
                                                                                                  
0154   inverse?                 ( -- flag )                                                       
                                                                                                  
015c   invert-screen            ( -- )                                                            
                                                                                                  
CR     is name                  ( n -- )                                                          
                                                                                                  
011c   is-install               ( acf -- )                                                        
                                                                                                  
011d   is-remove                ( acf -- )                                                        
                                                                                                  
011e   is-selftest              ( acf -- )                                                        
                                                                                                  
1a     j                        ( -- n )                                                          
                                                                                                  
8e     key                      ( -- char )                                                       
                                                                                                  
8d     key?                     ( -- flag )                                                       
                                                                                                  
73     l!                       ( l adr -- )                                                      
                                                                                                  
d2     l,                       ( l -- )                                                          
                                                                                                  
6e     l@                       ( adr -- l )                                                      
                                                                                                  
60     la+                      ( adr1 index -- adr2 )                                            
                                                                                                  
64     la1+                     ( adr1 -- adr2 )                                                  
                                                                                                  
7e     lbsplit                  ( l -- b.low b2 b3 b.high )                                       
                                                                                                  
82     lcc                      ( char -- lower-case-char )                                       
                                                                                                  
CR     leave                    ( -- )                                                            
                                                                                                  
0240   left-parse-string        ( adr len char -- adrR lenR adrL lenL )                           V2
                                                                                                  
0237   lflips                   ( adr len -- )                                                    V2
                                                                                                  
0152   line#                    ( -- n )                                                          
                                                                                                  
CR     linefeed                 ( -- n )                                                          
                                                                                                  
CR     loop                     ( -- )                                                            
                                                                                                  
0222   lpeek                    ( adr -- false | long true )                                      V2
                                                                                                  
0225   lpoke                    ( long adr --  ok? )                                              V2
                                                                                                  
7c     lwsplit                  ( l -- w.low w.high )                                             
                                                                                                  
01a4   mac-address              ( -- adr len )                                                    V2
                                                                                                  
0130   map-sbus                 ( phys size -- virt )                                             
                                                                                                  
0124   mask                     ( -- adr )                                                        
                                                                                                  
2f     max                      ( n1 n2 -- n3 )                                                   
                                                                                                  
0122   memory-test-suite        ( adr len -- status )                                             
                                                                                                  
0104   memmap                   ( physoffset space size -- virtual )                              
                                                                                                  
2e     min                      ( n1 n2 -- n3 )                                                   
                                                                                                  
22     mod                      ( n1 n2 -- rem )                                                  
                                                                                                  
0119   model                    ( adr len -- )                                                    
                                                                                                  
78     move                     ( adr1 adr2 u -- )                                                
                                                                                                  
0126   ms                       ( n -- )                                                          
                                                                                                  
0102   my-address               ( -- phys )                                                       V2
                                                                                                  
0202   my-args                  ( -- adr len )                                                    V2
                                                                                                  
010f   my-params                ( -- adr len )                                                    
                                                                                                  
020a   my-parent                ( -- ihandle )                                                    V2
                                                                                                  
0203   my-self                  ( -- ihandle )                                                    V2
                                                                                                  
0103   my-space                 ( -- space )                                                      V2
                                                                                                  
020d   my-unit                  ( -- low  high )                                                  V2
                                                                                                  
61     na+                      ( adr1 index -- adr2 )                                            
                                                                                                  
65     na1+                     ( adr1 -- adr2 )                                                  
                                                                                                  
CR     name                     ( adr len -- )                                                    
                                                                                                  
b6     named-token              ( -- )                                                            
                                                                                                  
2c     negate                   ( n1 -- n2 )                                                      
                                                                                                  
011f   new-device               ( -- )                                                            
                                                                                                  
b5     new-token                ( -- )                                                            
                                                                                                  
CR     newline                  ( -- n )                                                          
                                                                                                  
4d     nip                      ( n1 n2 -- n2 )                                                   
                                                                                                  
7b     noop                     ( -- )                                                            
                                                                                                  
26     not                      ( n1 -- n2 )                                                      
                                                                                                  
CR     o# number                ( -- n )                                                          
                                                                                                  
-      octal                    ( -- )                                                            
                                                                                                  
6b     off                      ( adr -- )                                                        
                                                                                                  
cc     offset16                 ( -- )                                                            
                                                                                                  
6a     on                       ( adr -- )                                                        
                                                                                                  
0205   open-package             ( adr len phandle -- ihandle | 0 )                                V2
                                                                                                  
24     or                       ( n1 n2 -- n3 )                                                   
                                                                                                  
48     over                     ( n1 n2 -- n1 n2 n1 )                                             
                                                                                                  
83     pack                     ( adr len pstr -- pstr )                                          
                                                                                                  
023c   peer                     ( phandle -- peerhandle )                                         V2.3
                                                                                                  
4e     pick                     ( +n -- n2 )                                                      
                                                                                                  
0238   probe                    ( arg-adr arg-len reg-adr reg-len fcode-adr fcode-len -- )        V2.2
                                                                                                  
0239   probe-virtual            ( arg-adr arg-len reg-adr reg-len fcode-adr -- )                  V2.2
                                                                                                  
0210   processor-type           ( -- processor-type )                                             V2
                                                                                                  
31     r'>                      ( -- n ) ( rs: n -- )                                             
                                                                                                  
32     r@                       ( -- n ) ( rs: -- )                                               
                                                                                                  
0231   rb!                      ( byte  adr -- )                                                  V2
                                                                                                  
0230   rb@                      ( adr -- byte )                                                   V2
                                                                                                  
0116   reg                      ( phys space size -- )                                            
                                                                                                  
CR     repeat                   ( -- )                                                            
                                                                                                  
0158   reset-screen             ( -- )                                                            
                                                                                                  
0235   rl!                      ( long adr -- )                                                   V2
                                                                                                  
0234   rl@                      ( adr -- long )                                                   V2
                                                                                                  
4f     roll                     ( +n -- )                                                         
                                                                                                  
4a     rot                      ( n1 n2 n3 -- n2 n3 n1 )                                          
                                                                                                  
0233   rw!                      ( word adr -- )                                                   V2
                                                                                                  
0232   rw@                      ( adr -- word )                                                   V2
                                                                                                  
CR     s.                       ( n -- )                                                          
                                                                                                  
0131   sbus-intrcpu             ( sbus-intr# -- cpu-intr# )                                       
                                                                                                  
0163   screen-height            ( -- n )                                                          
                                                                                                  
0164   screen-width             ( -- n )                                                          
                                                                                                  
016b   set-font                 ( fontbase charwidth charheight fontbytes #firstchar #chars -- )  
                                                                                                  
98     sign                     ( n -- )                                                          
                                                                                                  
CR     space                    ( -- )                                                            
                                                                                                  
CR     spaces                   ( +n -- )                                                         
                                                                                                  
88     span                     ( -- adr )                                                        
                                                                                                  
f0     start0                   ( -- )                                                            V2
                                                                                                  
f1     start1                   ( -- )                                                            V2
                                                                                                  
f2     start2                   ( -- )                                                            V2
                                                                                                  
f3     start4                   ( -- )                                                            V2
                                                                                                  
CR     struct                   ( -- 0 )                                                          
                                                                                                  
0215   suspend-fcode            ( -- )                                                            V2
                                                                                                  
49     swap                     ( n1 n2 -- n2 n1 )                                                
                                                                                                  
CR     then                     ( -- )                                                            
                                                                                                  
0218   throw                    ( error-code -- )                                                 V2
                                                                                                  
0159   toggle-cursor            ( -- )                                                            
                                                                                                  
-      tokenizer[               ( -- )                                                            
                                                                                                  
CR     true                     ( --  -1 )                                                        
                                                                                                  
4c     tuck                     ( n1 n2 -- n2 n1 n2 )                                             
                                                                                                  
90     type                     ( adr +n -- )                                                     
                                                                                                  
d4     u*x                      ( u1[32] u2[32] -- product[64] )                                  V2
                                                                                                  
9b     u.                       ( u -- )                                                          
                                                                                                  
9c     u.r                      ( u +n -- )                                                       
                                                                                                  
2b     u/mod                    ( ul un -- un.rem un.quot )                                       
                                                                                                  
58     u2/                      ( u1 -- u2 )                                                      
                                                                                                  
40     u<                        ( u1 u2 -- flag )                                                 
                                                                                                  
3f     u<=                       ( u1 u2 -- flag )                                                 
                                                                                                  
3e     u'>                      ( u1 u2 -- flag )                                                 
                                                                                                  
41     u=                       ( u1 u2 -- flag )                                                 
                                                                                                  
CR     (u.)                     ( n -- adr len )                                                  
                                                                                                  
CR     until                    ( flag -- )                                                       
                                                                                                  
81     upc                      ( char -- upper-case-char )                                       
                                                                                                  
0219   user-abort               ( -- )                                                            V2.1
                                                                                                  
CR     value name               ( n -- )                                                          
                                                                                                  
CR     variable name            ( -- )                                                            
                                                                                                  
87     version                  ( -- n )                                                          
                                                                                                  
fd     version1                 ( -- )                                                            
                                                                                                  
74     w!                       ( w adr -- )                                                      
                                                                                                  
d1     w,                       ( w -- )                                                          
                                                                                                  
6f     w@                       ( adr -- w )                                                      
                                                                                                  
5f     wa+                      ( adr1 index -- adr2 )                                            
                                                                                                  
63     wa1+                     ( adr1 -- adr2 )                                                  
                                                                                                  
af     wbsplit                  ( w -- b.low b.high )                                             
                                                                                                  
CR     wflip                    ( l1 -- l2 )                                                      
                                                                                                  
0236   wflips                   ( adr len -- )                                                    V2
                                                                                                  
CR     while                    ( flag -- )                                                       
                                                                                                  
0166   window-left              ( -- n )                                                          
                                                                                                  
0165   window-top               ( -- n )                                                          
                                                                                                  
45     within                   ( n min max -- flag )                                             
                                                                                                  
7d     wljoin                   ( w.low w.high -- l )                                             
                                                                                                  
0221   wpeek                    ( adr -- false | word true )                                      V2
                                                                                                  
0224   wpoke                    ( word adr --  ok? )                                              V2
                                                                                                  
d8     x+                       ( x1 x2 -- x3 )                                                   V2
                                                                                                  
d9     x-                       ( x1 x2 -- x3 )                                                   V2
                                                                                                  
0112   xdr+                     ( xdr-adr1 xdr-len1 xdr-adr2 xdr-len2 -- xdr-adr xdr-len1+2 )     
                                                                                                  
0115   xdrbytes                 ( adr  len -- xdr-adr  xdr-len )                                  V2.1
                                                                                                  
0111   xdrint                   ( n -- xdr-adr xdr-len )                                          
                                                                                                  
0113   xdrphys                  ( phys space -- xdr-adr xdr-len )                                 
                                                                                                  
0114   xdrstring                ( adr  len -- xdr-adr  xdr-len )                                  
                                                                                                  
021b   xdrtoint                 ( xdr-adr xdr-len -- xdr2-adr xdr2-len n )                        V2
                                                                                                  
021c   xdrtostring              ( xdr-adr xdr-len -- xdr2-adr xdr2-len adr len )                  V2
                                                                                                  
25     xor                      ( n1 n2 -- n3 )                                                   
                                                                                                  
d5     xu/mod                   ( u1[64] u2[32] -- remainder[32] quot[32] )                       V2
                                                                                                  
CR     : (colon) name           ( -- )                                                            
                                                                                                  
CR     ; (semicolon)            ( -- )                                                            
<
                                                                                                  
3a                              ( n1 n2 -- flag )                                                 
                                                                                                  
96     <#                        ( -- )                                                            
<<
                                                                                                  
27                              ( n1 +n -- n2 )                                                   
                                                                                                  
CR     <<a                        ( n1 +n -- n2 )                                                   
                                                                                                  
43     <=                        ( n1 n2 -- flag )                                                 
                                                                                                  
3d     <'>                       ( n1 n2 -- flag )                                                 
                                                                                                  
70     <w@                       ( adr -- n )                                                      
                                                                                                  
3c     =                        ( n1 n2 -- flag )                                                 
>
                                                                                                  
3b                              ( n1 n2 -- flag )                                                 
                                                                                                  
42     >=                        ( n1 n2 -- flag )                                                 
                                                                                                  
28     >'>                       ( n1 +n -- n2 )                                                   
                                                                                                  
29     >a                        ( n1 +n -- n2 )                                                   
                                                                                                  
86     >body                     ( acf -- apf )                                                    
                                                                                                  
016e   >font                     ( char -- adr )                                                   
                                                                                                  
0106   >physical                 ( virt -- phys space )                                            
                                                                                                  
30     >r                        ( n -- ) ( rs: -- n)                                              
                                                                                                  
CR     ?                        ( adr  -- )                                                       
                                                                                                  
CR     ?do                      ( end start -- )                                                  
                                                                                                  
50     ?dup                     ( n -- n n | 0 )                                                  
                                                                                                  
CR     ?leave                   ( flag -- )                                                       
                                                                                                  
6d     @                        ( adr -- n )                                                      
                                                                                                  
CR     ['] name                 ( -- acf )                                                        
                                                                                                  
-      \                        ( -- )                                                            
                                                                                                  
-      ]tokenizer               ( -- )                                                            
                                                                                                  
72     !                        ( n adr -- )                                                      
                                                                                                  
CR     "   text"                ( -- adr len )                                                    
                                                                                                  
99     #                        ( +l1 -- +l2 )                                                    
                                                                                                  
97     #'>                      ( l -- adr +n )                                                   
                                                                                                  
0151   #columns                 ( -- n )                                                          
                                                                                                  
94     #line                    ( -- adr )                                                        
                                                                                                  
0150   #lines                   ( -- n )                                                          
                                                                                                  
93     #out                     ( -- adr )                                                        
                                                                                                  
9a     #s                       ( +l -- 0 )                                                       
                                                                                                  
020e   $call-method             ( [...]adr len ihandle -- [...])                                  V2
                                                                                                  
0209   $call-parent             ( [...] adr len -- [...] )                                        V2
                                                                                                  
cb     $find                    ( adr len -- adr len false  |  acf +-1 )                          
                                                                                                  
a2     $number                  ( adr len -- true | n false )                                     V2
                                                                                                  
020f   $open-package            ( arg-adr arg-len adr len -- ihandle | 0 )                        V2
                                                                                                  
CR     '  name                  ( -- acf )                                                        
                                                                                                  
-      ( text)                  ( -- )                                                            
                                                                                                  
91     (cr                      ( -- )                                                            
                                                                                                  
CR     (.)                      ( n -- adr len )                                                  
                                                                                                  
0214   (is-user-word)           ( adr len acf -- )                                                V2
                                                                                                  
-      (s text)                 ( -- )                                                            
                                                                                                  
20     *                        ( n1 n2 -- n3 )                                                   
                                                                                                  
CR     */mod                    ( n1 n2 n3 -- rem quot )                                          
                                                                                                  
1e     +                        ( n1 n2 -- n3 )                                                   
                                                                                                  
6c     +!                       ( n adr -- )                                                      
                                                                                                  
CR     +loop                    ( n -- )                                                          
                                                                                                  
d3     ,                        ( n -- )                                                          
                                                                                                  
1f     -                        ( n1 n2 -- n3 )                                                   
                                                                                                  
a4     -1                       ( -- -1 )                                                         
                                                                                                  
4b     -rot                     ( n1 n2 n3 -- n3 n1 n2 )                                          
                                                                                                  
9d     .                        ( n -- )                                                          
                                                                                                  
CR     ."   text"               ( -- )                                                            
                                                                                                  
CR     .(  text)                ( -- )                                                            
                                                                                                  
CR     .d                       ( n -- )                                                          
                                                                                                  
CR     .h                       ( n -- )                                                          
                                                                                                  
9e     .r                       ( n +n -- )                                                       
                                                                                                  
9f     .s                       ( -- )                                                            
                                                                                                  
21     /                        ( n1 n2 -- quot )                                                 
                                                                                                  
5a     /c                       ( -- n )                                                          
                                                                                                  
66     /c*                      ( n1 -- n2 )                                                      
                                                                                                  
5c     /l                       ( -- n )                                                          
                                                                                                  
68     /l*                      ( n1 -- n2 )                                                      
                                                                                                  
2a     /mod                     ( n1 n2 -- rem quot )                                             
                                                                                                  
5d     /n                       ( -- n )                                                          
                                                                                                  
69     /n*                      ( n1 -- n2 )                                                      
                                                                                                  
5b     /w                       ( -- n )                                                          
                                                                                                  
67     /w*                      ( n1 -- n2 )                                                      

-----------------------------------------------------------------------------------------------------------

Version 2 FCodes

The following table lists, in alphabetic order, Version 2 FCodes.

    Table A-49 Version 2 FCodes

--------------------------------------------------------------------------------------------------
Value Function Stack Version --------------------------------------------------------------------------------------------------
                                                                                            
0216   abort                    ( -- )                                                      V2
                                                                                            
0213   alarm                    ( acf n -- )                                                V2
                                                                                            
0208   call-package             ( [...] acf ihandle -- [...] )                              V2
                                                                                            
0217   catch                    ( [...] acf -- [...] error-code )                           V2
                                                                                            
0236   child                    ( phandle -- child-phandle )                                V2.3
                                                                                            
0206   close-package            ( ihandle -- )                                              V2
                                                                                            
0220   cpeek                    ( adr -- false | byte  true )                               V2
                                                                                            
0223   cpoke                    ( byte  adr --  ok? )                                       V2
                                                                                            
011b   decode-2int              ( xdr-adr xdr-len  -- phys space )                          V2
                                                                                            
021e   delete-attribute         ( nam-adr nam-len -- )                                      V2
                                                                                            
0201   device-name              ( adr len -- )                                              V2
                                                                                            
cd     eval                     ( ??? adr len -- ? )                                        V2
                                                                                            
-      external                 ( -- )                                                      V2
                                                                                            
ca     external-token           ( -- )                                                      V2
                                                                                            
0212   fcode-version            ( -- n )                                                    V2
                                                                                            
CR     fcode-version2           ( -- )                                                      V2
                                                                                            
fc     ferror                   ( -- )                                                      V2.3
                                                                                            
0207   find-method              ( adr len phandle -- false | acf true )                     V2
                                                                                            
0204   find-package             ( adr len -- false | phandle true )                         V2
                                                                                            
0211   firmware-version         ( -- n )                                                    V2
                                                                                            
021d   get-inherited-attribute  ( nam-adr nam-len -- true | xdr-adr xdr-len false )         V2
                                                                                            
021a   get-my-attribute         ( nam-adr nam-len -- true | xdr-adr xdr-len false )         V2
                                                                                            
021f   get-package-attribute    ( adr len phandle -- true | xdr-adr xdr-len false )         V2
                                                                                            
020b   ihandlephandle           ( ihandle -- phandle )                                      V2
                                                                                            
c0     instance                 ( -- )                                                      V2.1
                                                                                            
0240   left-parse-string        ( adr len char -- adrR lenR adrL lenL )                     V2
                                                                                            
0237   lflips                   ( adr len -- )                                              V2
                                                                                            
0222   lpeek                    ( adr -- false | long true )                                V2
                                                                                            
0225   lpoke                    ( long adr --  ok? )                                        V2
                                                                                            
01a4   mac-address              ( -- adr len )                                              V2
                                                                                            
0102   my-address               ( -- phys )                                                 V2
                                                                                            
0202   my-args                  ( -- adr len )                                              V2
                                                                                            
020a   my-parent                ( -- ihandle )                                              V2
                                                                                            
0203   my-self                  ( -- ihandle )                                              V2
                                                                                            
0103   my-space                 ( -- space )                                                V2
                                                                                            
020d   my-unit                  ( -- low  high )                                            V2
                                                                                            
0205   open-package             ( adr len phandle -- ihandle | 0 )                          V2
                                                                                            
023c   peer                     ( phandle -- peerhandle )                                   V2.3
                                                                                            
0238   probe                    ( arg-adr arg-len reg-adr reg-len fcode-adr fcode-len -- )  V2.2
                                                                                            
0239   probe-virtual            ( arg-adr arg-len reg-adr reg-len fcode-adr -- )            V2.2
                                                                                            
0210   processor-type           ( -- processor-type )                                       V2
                                                                                            
0231   rb!                      ( byte  adr -- )                                            V2
                                                                                            
0230   rb@                      ( adr -- byte )                                             V2
                                                                                            
0235   rl!                      ( long adr -- )                                             V2
                                                                                            
0234   rl@                      ( adr -- long )                                             V2
                                                                                            
0233   rw!                      ( word adr -- )                                             V2
                                                                                            
0232   rw@                      ( adr -- word )                                             V2
                                                                                            
f0     start0                   ( -- )                                                      V2
                                                                                            
f1     start1                   ( -- )                                                      V2
                                                                                            
f2     start2                   ( -- )                                                      V2
                                                                                            
f3     start4                   ( -- )                                                      V2
                                                                                            
0215   suspend-fcode            ( -- )                                                      V2
                                                                                            
0218   throw                    ( error-code -- )                                           V2
                                                                                            
d4     u*x                      ( u1[32] u2[32] -- product[64] )                            V2
                                                                                            
0219   user-abort               ( -- )                                                      V2.1
                                                                                            
0236   wflips                   ( adr len -- )                                              V2
                                                                                            
0221   wpeek                    ( adr -- false | word true )                                V2
                                                                                            
0224   wpoke                    ( word adr --  ok? )                                        V2
                                                                                            
d8     x+                       ( x1 x2 -- x3 )                                             V2
                                                                                            
d9     x-                       ( x1 x2 -- x3 )                                             V2
                                                                                            
0115   xdrbytes                 ( adr len -- xdr-adr xdr-len )                              V2.1
                                                                                            
021b   xdrtoint                 ( xdr-adr xdr-len -- xdr2-adr xdr2-len n )                  V2
                                                                                            
021c   xdrtostring              ( xdr-adr xdr-len -- xdr2-adr xdr2-len adr len )            V2
                                                                                            
d5     xu/mod                   ( u1[64] u2[32] -- remainder[32] quot[32] )                 V2
                                                                                            
020e   $call-method             ( [...]adr len ihandle -- [...])                            V2
                                                                                            
0209   $call-parent             ( [...] adr len -- [...] )                                  V2
                                                                                            
a2     $number                  ( adr len -- true | n false )                               V2
                                                                                            
020f   $open-package            ( arg-adr arg-len adr len -- ihandle | 0 )                  V2
                                                                                            
0214   (is-user-word)           ( adr len acf -- )                                          V2

--------------------------------------------------------------------------------------------------