home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
forth
/
compiler
/
fpc
/
doc
/
f_pcglos.txt
< prev
next >
Wrap
Text File
|
1989-10-16
|
202KB
|
5,810 lines
Word Glossary of the F-PC Forth Vocabulary by Tom Zimmer
****************************** Notice *************************************
* 10/16/89 T. Zimmer *
* As of this release, this glossary contains all of the words that are *
* going to be documented in F-PC, BUT! Not all of the words have glossary *
* entries entered, so you will find some words that specify only a word *
* name, followed by a vocabulary name. This file is still in the process *
* of being updated. *
* *
***************************************************************************
Forward
This glossary contains entries for all of the words in F-PC's FORTH
vocabulary, broken into two major sections. The first section contains
lists of words broken into catagories. The second section contains the
same words grouped in a single alphabetized list. The alphabetized
list includes a stack picuture, the filename where the words source can
be found, and descriptive text explaining the function of each word in
the list. The catagory section contains only a list of words in a
catagory, and a stack picture for each word.
Glossary Format
The format of this glossary uses abreviated character sequences to
describe a series of words, this is done primarily for brevity. Here
is a list of the abreviations used in this glossary.
Symbol definitions used in this Glossary
n1 16 bit signed number
d1 32 bit signed number
u1 16 bit unsigned number
ud1 32 bit unsigned number
f1 boolean flag
c1 8 bit character
nfa Name field address
cfa code field address
lfa link field address
seg 16 bit absolute segment number
offset 16 bit offset into a segment
<char> A character from the input stream.
<name> A Forth word, comes from the input stream.
<string> A sequence of ascii characters, comes from the
input stream.
<filespec> Standard DOS file specification
| seperator for stack parameters and input stream
parameters.
Glossary entries in the alphabetized section are in the following format:
Example:
WORD ( c1 | <string> --- a1 ) FILE_WHERE_FOUND
DESCRIPTIVE_TEXT: The character c1 is passed into WORD on the data
stack, <string> is passed to WORD from the input stream, and a1 is
returned by WORD on the data stack.
---------------------- Operators by Catagory -------------------------
This section contains the list of available word separated into catagory
or use. This section is most useful when you know what you want to do but
don't know what the word name is that does the function you want. the
words of F-PC have been broken into catagories, here is a list of those
catagories:
Catagory Titles
Compiling and Allocation words
Conditional Test & Compilation words
Defining and Related Words
Dictionary Field Manipulation words
DOS Interface words
File Manipulation words
Math words
Memory words for VARIABLES and ARRAYS in CODE space
Memory words for VALUES
Memory Manipulation words for External memory and Ports
Menu Building words
Mode Control and Associated words
Number Conversion & Output words
Printing Related words
Stack Manipulation words
Status Testing and Error Condition Handling words
String Manipulation and Output words
System words
Terminal Input & Output words
Timing Related words
Utility words
VIEW Manipulation words
Window Control words
Here then is the words contained in each catagory along with their stack
picture. For detailed information on a particular function examine its
entry in the alphabetized section.
Compiling and Allocation words
ALIGN ( --- )
ALLOT ( n1 --- ) ASCII ( | <char> --- c1 )
C, ( c1 --- ) DEFERS ( <name> --- )
DLITERAL ( d# -- ) DP ( --- a1 )
LITERAL ( n1 -- ) NEWINFO ( --- )
X, ( n1 --- ) X," ( | <string>" --- )
X>"BUF ( --- "BUF ) XC, ( n1 --- )
XDP ( --- a1 ) XDPSEG ( --- a1 )
XHERE ( --- seg n1 ) Y! ( n1 a1 --- )
Y, ( n1 --- ) Y@ ( a1 --- n1 )
YC! ( n1 a1 --- ) YC@ ( a1 --- n1 )
YCOUNT ( a1 --- a2 n1 ) YCSET ( byte a1 --- )
YDP ( --- a1 ) YHASH ( yname vocaddr --- thread )
YHERE ( --- a1 ) YS: ( a1 --- yseg a1 )
YSEG ( -- a1 ) YSTART ( --- a1 )
[ ( -- ) ['] ( | <name> -- )
[COMPILE] ( | <name> -- ) \ ( -- )
\S ( n1 --- ) \UNLESS ( | <name> --- )
] ( -- ) ` ( command --- )
Conditional Test & Compilation words
#ELSE ( --- ) #ENDIF ( --- )
#THEN ( --- ) #IF ( f1 --- )
+LOOP ( n1 --- ) 0< ( n1 --- f1 )
0<= ( n1 --- f1 ) 0<> ( n1 --- f1 )
0= ( n1 --- f1 ) 0> ( n1 --- f1 )
0>= ( n1 --- f1 ) < ( n1 n2 --- f1 )
<= ( n1 n2 --- f1 ) <> ( n1 n2 --- f1 )
= ( n1 n2 --- f1 ) > ( n1 n2 --- f1 )
>= ( n1 n2 --- f1 ) >MARK ( --- a1 )
>RESOLVE ( a1 --- ) ?<MARK ( --- f1 a1 )
?<RESOLVE ( f1 a1 --- ) ?>MARK ( --- f1 a1 )
?>RESOLVE ( f1 a1 --- ) ?BRANCH ( f1 --- )
?DO ( limit start --- ) ?EXIT ( f1 --- )
?LEAVE ( f1 --- ) ?UNTIL ( f1 --- )
?WHILE ( f1 --- ) AGAIN ( --- )
AND ( n1 n2 --- n3 ) BEGIN ( --- )
BETWEEN ( n1 n2 n3 --- f1 ) BOUNDS ( a1 n1 --- a2 a3 )
BRANCH ( --- ) CASE ( -- )
D0= ( d1 --- f1 ) D< ( d1 d2 --- f1 )
D= ( d1 d2 --- f1 ) D> ( d1 d2 --- f1 )
DMAX ( d1 d2 --- d3 ) DMIN ( d1 d2 --- d3 )
DNEGATE ( d1 d2 --- d3 ) DO ( limit start -- )
DU< ( d1 d2 --- f1 ) ELSE ( --- )
ENDCASE ( -- ) ENDOF ( -- )
EXIT ( --- ) FALSE ( --- f1 )
I ( --- n1 ) IF ( f1 -- )
J ( --- n1 ) LEAVE ( -- )
LOOP ( -- ) NOT ( n1 --- n2 )
NRESOLVE ( 0 n1 n2 ... n -- ) OF ( n1 n2 -- n1 ) ( n1 n1 -- )
OR ( n1 n2 --- n3 ) RECURSE ( -- )
RECURSIVE ( -- ) immediate REPEAT ( -- )
THEN ( -- ) TRUE ( --- f1 )
U< ( n1 n2 --- f1 ) U<= ( un1 un2 --- f1 )
U> ( n1 n2 --- f1 ) U>= ( n1 n2 --- f1 )
UNDO ( --- ) UNNEST ( --- )
UNTIL ( f1 -- ) WHILE ( f1 -- )
WITHIN ( n1 n2 --- f1 ) XOR ( n1 n2 --- n3 )
Defining and Related Words
2CONSTANT ( d1 | <name> --- ) 2VARIABLE ( | <name> --- )
: ( | <name> ... ; --- ) ; ( --- )
;CODE ( --- ) ;USES ( --- )
ALIAS ( a1 | <name> --- ) ANEW ( | <name> --- )
CODE ( | <name> --- ) CONSTANT ( n1 | <name> -- )
CREATE ( | <name> -- ) DEFER ( | <name> -- )
DEFINED ( -- here 0 | a1 true ) DEFINITIONS ( -- )
DOES> ( -- ) EXEC: ( n1 -- )
EXECUTE ( a1 --- ) HEADER ( | <name> -- )
HIDE ( -- ) IMMEDIATE ( -- )
IS ( cfa -- ) LABEL ( --- a1 )
PERFORM ( a1 --- ) REVEAL ( -- )
VALUE ( n1 | <name> --- ) VARIABLE ( | <name> -- )
WIDTH ( --- a1 )
Dictionary Field Manipulation words
.ID ( nfa --- ) >BODY ( cfa --- pfa )
>LINK ( cfa --- lfa ) >NAME ( cfa --- nfa )
>VIEW ( cfa --- vfa ) BODY> ( cfa --- cfa )
L>NAME ( lfa -- nfa ) LINK> ( lfa -- cfa )
N>LINK ( nfa -- lfa) NAME> ( nfa -- cfa )
NAME>PAD ( A1 --- PAD ) TRAVERSE ( a1 direction -- addr' )
VIEW> ( vfa -- cfa )
DOS Interface words
A: ( --- ) B: ( --- )
C: ( --- ) ALLOC ( n1 --- n2 n3 n4 )
CD ( | <filespec> --- )
CHDIR ( | <filespec> --- ) COMSPEC$ ( --- a1 )
COMSPEC@ ( --- ) COPY ( <filespec> --- )
D: ( --- ) DEALLOC ( n1 --- f1 )
DEL ( <filespec> --- ) DIR ( <filespec> --- )
DOS-LINE ( --- a1 ) DOS>TIB ( --- )
DOSVER ( --- n1 ) DRIVE? ( --- n1 )
ENVSIZE ( --- n1 ) EVSEG ( --- n1 )
FINDFIRST ( string --- f1 ) FINDNEXT ( --- f1 )
ME$ ( --- a1 ) ME@ ( --- )
PATH$ ( --- a1 ) PATH@ ( --- )
PATHHNDL ( --- a1 ) PATHSET ( handle --- f1 )
REN ( <filespec> --- ) RENAME ( | <filespec> --- )
SELECT ( n1 --- ) SET-DTA ( a1 --- )
SETBLOCK ( seg size --- f1 ) SYS ( | command --- )
File Manipulation words
!HCB ( a1 | <name> --- ) $>HANDLE ( a1 handle --- )
$HOPEN ( a1 --- f1 ) $PFILE ( a1 --- f1 )
$FLOAD ( a1 --- f1 ) .CURFILE ( --- )
.FILE ( --- ) .FILES ( --- )
.LOADED ( --- ) .SEQHANDLE ( --- )
>ATTRIB ( handle --- attrib-a1 )
>LINE ( n1 --- )
>NAM ( handle --- name-string-a1 )
>HNDLE ( handle --- handle-a1 )
?DRIVE.EXTRACT ( handle --- drive-n1 )
?DRIVE.PREPEND ( drive-n1 handle --- )
?FILEOPEN ( --- )
?PREPEND.VPATH ( a1 --- a1 ) B/HCB ( --- n1 )
CHARREAD ( --- c1 ) CLOSE ( --- )
CLR-HCB ( a1 --- ) CURPOINTER ( handle --- d1-current )
DEFEXT ( --- a1 )
ENDFILE ( handle --- double-end )
EXHREAD ( a1 n1 hndl seg1 --- n2 )
EXHWRITE ( a1 n1 hndl seg1 --- )
FCB>HANDLE ( a1 a2 --- ) FILE ( | <name> --- )
FILE>TIB ( a1 --- ) FILEPOINTER ( --- a1 )
FILES ( --- ) FILLBUFF ( --- )
FILLTIB ( --- ) FL ( | <name> --- )
FLHNDL ( --- a1 ) FLOAD ( | <name> --- )
GET_ALINE ( --- ) GFL ( | <name> --- )
HANDLE ( | <name> --- ) HANDLE>EXT ( a1 --- a2 )
HCLOSE ( handle --- f1 ) HCREATE ( handle --- error-code )
HDELETE ( handle --- f1 )
HNDLS ( --- a1 )
HOPEN ( handle --- error-code )
HREAD ( a1 n1 handle --- n2 )
HRENAME ( handle1 handle2 --- return-code )
HWRITE ( a1 n1 handle --- n2 )
IBLEN ( --- n1 ) IBRESET ( --- )
INCLUDE ( | <name> --- ) LINEREAD ( --- a1 )
LOAD ( n1 --- ) LOADED, ( --- )
LOADER ( --- ) LOADING ( --- a1 )
LOADSTAT ( --- ) MOVEPOINTER ( d1-offset handle --- )
NEEDS ( | <name> --- ) NEWFILE ( | <name> --- )
OBLEN ( --- n1 ) OK ( --- )
OPEN ( | <name> --- ) OUTBUF ( --- a1 )
PREPEND.PATH( handle --- f1 ) RWERR ( --- a1 )
RWMODE ( --- a1 ) SAVEPOINTER ( --- )
SEEK ( d1 --- ) SEQDOWN ( --- )
SEQHANDLE+ ( --- a1 ) SEQHANDLE ( --- a1 )
SEQUP ( --- )
Math words
* ( n1 n2 --- n3 ) */ ( n1 n2 n3 --- quotient )
*/MOD ( n1 n2 n3 --- n4 n5 )
*D ( n1 n2 --- d1 ) + ( n1 n2 --- n3 )
/ ( n1 n2 --- n3 ) /MOD ( n1 n2 --- n3 n4 )
1+ ( n1 --- n2 ) 1- ( n1 --- n2 )
2* ( n1 --- n2 ) 2+ ( n1 --- n2 )
2- ( n1 --- n2 ) 2/ ( n1 --- n2 )
8* ( n1 --- n2 ) D+ ( d1 d2 --- d3 )
D- ( d1 d2 --- d3 ) D2* ( d1 --- d2 )
D2/ ( d1 --- d2 ) DABS ( d1 --- d2 )
M/MOD ( d1 n1 --- rem quot ) MAX ( n1 n2 --- n3 )
MIN ( n1 n2 --- n3 ) MOD ( num den -- modulus )
MU/MOD ( d1 n1 --- rem dquot ) NEGATE ( n1 --- n2 )
U16/ ( n1 --- n2 ) U2/ ( n1 --- n2 )
UM* ( un1 un2 -- ud ) UM/MOD ( ud un --- urem uquot )
Memory words for VARIABLES and ARRAYS in CODE space
! ( n1 a1 --- ) +! ( n1 a1 --- )
, ( n1 --- ) - ( n1 n2 --- n3 )
-1! ( a1 --- ) 0! ( a1 --- )
2! ( d1 a1 --- ) 2+! ( d1 a1 --- )
2@ ( a1 --- d1 ) @ ( a1 --- n1 )
@L ( seg a1 --- n1 ) @REL>ABS ( cfa --- a1 )
BLANK ( a1 n1 --- ) C! ( c1 a1 --- )
C+! ( c1 a1 --- ) C@ ( a1 --- c1 )
CAPS-COMP ( a1 a2 n1 --- f1 ) CMOVE ( a1 a2 n1 --- )
CMOVE> ( a1 a2 n1 --- ) COMP ( a1 a2 n1 --- f1 )
COMPARE ( a1 a2 n1 --- f1 ) COUNT ( a1 --- a2 n1 )
CRESET ( n1 a1 --- ) CSET ( n1 a1 --- )
CTOGGLE ( a1 n1 --- ) DECR ( a1 -- )
ERASE ( a1 n1 --- ) EVEN ( -- )
FILL ( a1 n1 c1 --- ) INCR ( a1 -- )
LARGEST ( a1 n1 --- a2 n2 ) LENGTH ( a1 --- a2 n1 )
MOVE ( a1 a2 n1 --- ) OFF ( a1 --- )
ON ( a1 --- ) SCAN ( a1 n1 c1 --- )
SCANW ( a1 w1 w2 --- a2 w3 )
SEARCH ( sadr slen badr blen -- n1 f1 )
SKIP ( a1 n1 c1 --- )
SSEG ( --- a1 ) UPC ( char --- char' )
UPPER ( a1 length --- )
Memory words for VALUES
!> ( n1 | <name> --- ) +!> ( n1 | <name> --- )
=: ( n1 | <name> --- ) IS ( cfa --- data-address )
@> ( | <name> --- n1 ) DECR> ( | <name> -- )
INCR> ( | <name> -- ) OFF> ( | <name> --- )
ON> ( | <name> --- )
Memory Manipulation words for External memory and Ports
!L ( n1 seg a1 --- )
C!L ( c1 seg a1 --- )
CMOVEL ( sseg sptr dseg dptr cnt -- )
CMOVEL> ( from-seg from-offset to-seg to-offset length --- )
LFILL ( a1 len value --- )
LFILLW ( seg offset byte-len WORD --- )
P! ( n1 port# --- )
P@ ( port# -- n1 )
PARAGRAPH ( offset --- paragraph-in )
PC! ( n1 port# --- )
PC@ ( port# -- n1 )
XALIGN ( --- )
XEVEN ( a1 --- a2 )
Menu Building words
ENDMENU ( a1 n1 --- )
MENU ( --- a1 n1 )
MENULINE" ( n1 | <string> <func> --- n1+1 )
NEWMENU ( | <name> --- )
NEWMENUBAR ( | <name> --- )
Mode Control and Associated words
AUTOEDITOFF ( --- ) AUTOEDITON ( --- )
AUTOSAVEOFF ( --- ) AUTOSAVEON ( --- )
BACKUPOFF ( --- ) BACKUPON ( --- )
BLANKOFF ( --- ) BLANKON ( --- )
HELPOFF ( --- ) HELPON ( --- )
HIDELINES ( --- ) INITCOLOR ( --- )
INITMONO ( --- ) NOBACKUP ( --- )
RESTORESTATE( --- ) RESTORE_VECTORS ( -- )
SAVESTATE ( --- ) SET_VECTORS ( -- )
SHOWLINES ( --- ) SRCOFF ( --- )
SRCON ( --- ) STATOFF ( --- )
STATON ( --- ) WITHPATH ( --- f1 )
Number Conversion & Output words
# ( d1 --- d2 ) #> ( d1 --- a1 n1 )
#S ( d1 --- d2=0 ) (D.) ( d1 --- a1 n1 )
(U.) ( n1 --- a1 n2 ) (UD.) ( d1 --- a1 n1 )
. ( n1 --- ) .R ( n1 n2 --- )
<# ( d1 --- d1 ) ? ( a1 --- )
BASE ( --- a1 ) CONVERT ( +d1 a1 --- +d2 a2 )
D. ( d1 --- ) D.M.Y ( --- )
D.R ( d1 n1 --- ) DECIMAL ( --- )
DIGIT ( char base --- n1 f1 ) DOUBLE? ( --- f1 )
DPL ( --- a1 ) H. ( u -- )
HEX ( --- ) HLD ( --- a1 )
HOLD ( c1 --- ) M/D/Y ( --- )
NUMBER ( a1 --- d1 ) NUMBER? ( a1 --- d1 f1 )
OCTAL ( --- ) S>D ( n1 --- d1 )
SIGN ( n1 --- ) U*D ( n1 n2 --- d1 )
U. ( n1 --- ) U.R ( n1 n2 --- )
UD. ( d1 --- ) UD.R ( d1 n1 --- )
Y-M-D ( --- )
Printing Related words
FILEPRINT ( | <name> --- ) FPRINT ( file_specs --- )
IBM-PROPRINT ( --- ) PCLOSE ( --- )
PDOS ( a1 drive# --- f1 ) PEMIT ( c1 --- )
PFILE ( | <name> --- ) PR-STATUS ( n1 --- n2 )
PRINT ( | <command-line> -- ) PRINTING ( --- a1 )
PRNHNDL ( --- a1 ) TELETYPE ( --- )
TOPRINTER ( --- )
Stack Manipulation words
-ROT ( n1 n2 n3 --- n3 n1 n2 )
.S ( --- )
2>R ( n1 n2 --- )
2DROP ( d1 --- ) 2DUP ( d1 --- d1 d1 )
2OVER ( d1 d2 --- d1 d2 d1 ) 2R> ( --- n1 n2 )
2R@ ( --- n1 n2 ) 2ROT ( d1 d2 d3 --- d2 d3 d1 )
2SWAP ( d1 d2 --- d2 d1 )
3DROP ( n1 n2 n3 --- )
3DUP ( n1 n2 n3 --- n1 n2 n3 n1 n2 n3 )
4DUP ( d1 d2 --- d1 d2 d1 d2 )
>R ( n1 --- )
?DNEGATE ( d1 d2 --- d3 ) ?DUP ( n1 --- n1 n1<>0 | n1=0)
?NEGATE ( n1 n2 --- n3 ) ABS ( n1 --- n2 )
DEPTH ( -- n1 )
DROP ( n1 --- ) DUP ( n1 --- n1 n1 )
DUP>R ( n1 --- n1 ) FLIP ( n1 --- n2 )
NIP ( n1 n2 --- n2 ) OVER ( n1 n2 --- n1 n2 n1 )
PICK ( n1 --- n2 ) R> ( --- n1 )
R>DROP ( --- ) R@ ( --- n1 )
RESTORE> ( --- )
ROLL ( n1 --- n2 )
ROT ( n1 n2 n3 --- n2 n3 n1 )
RP! ( a1 --- )
RP0 ( --- a1 ) RP@ ( --- a1 )
SAVE!> ( n1 --- ) SAVE> ( --- )
SP! ( a1 --- ) SP0 ( --- a1 )
SP@ ( --- a1 ) SPLIT ( n1 --- n2 n3 )
SWAP ( n1 n2 --- n2 n1 ) TUCK ( n1 n2 --- n2 n1 n2 )
Status Testing and Error Condition Handling words
?COMP ( --- ) ?CONDITION ( f1 --- )
?CSP ( --- ) ?DOINGMAC ( --- f1 )
?DOSIO ( --- f1 ) ?ENOUGH ( n1 --- )
?ERROR ( a1 n1 f1 --- ) ?EXEC ( --- )
?LOADED ( | <filename> --- ) ?MISSING ( f1 --- )
?STACK ( --- ) ABORT ( --- )
ABORT" ( f1 | <message>" --- ) CSP ( --- a1 )
STATUS ( -- )
String Manipulation and Output words
" ( | <string>" --- ) "" ( | <string>" --- )
">$ ( a1 n1 --- a2 ) "BUF ( --- a1 )
"ENVFIND ( a1 n1 --- n2 f1 ) "HEADER ( a1 --- )
$>EXT ( a1 n1 a2 --- ) $>HANDLE ( a1 handle --- )
$>TIB ( a1 --- ) ," ( | <string> --- )
-TRAILING ( a1 n1 --- a2 n2 ) ." ( | <string>" --- )
.( ( | <string>) --- )
.BOX" ( | <string>" --- )
.COMMENT: ( | ....COMMENT; --- )
/STRING ( a1 len n1 --- addr' len' )
?CR ( --- )
?LINE ( n1 --- )
?PAGE ( --- ) ?UPPERCASE ( a1 --- a1 )
COMMENT: ( --- ) PAD ( --- a1 )
PAGE ( --- ) PARSE ( a1 --- a2 n1 )
PLACE ( from count to --- )
System words
!CSP ( --- ) !USED ( --- )
#CODESEGS ( --- n1 ) #HEADSEGS ( --- n1 )
#LISTSEGS ( --- n1 ) #THREADS ( --- n1 )
#TIB ( --- a1 ) #USER ( --- a1 )
#VOCS ( --- a1 ) ' ( | <name> --- cfa )
'DOCOL ( --- a1 ) 'TIB ( --- a1 )
'WORD ( --- a1 )
( ( --- )
(FIND) ( here lfa --- cfa flag | here flase )
(FRGET) ( code-addr relative-link-addr --- )
,CALL ( --- )
,JUMP ( --- )
,VIEW ( --- ) .COMPSTAT ( --- )
.COMSPEC ( --- ) .DATE ( --- )
.ELAPSED ( --- ) .ENV ( --- )
.FREE ( --- ) .HELLO ( --- )
.ME ( --- ) .PATH ( --- )
.STATUS ( --- ) .TIME ( --- )
.USED ( --- ) .VOCWORDS ( --- )
/* ( | ... */ --- ) 0COMPILER ( --- )
>NEST ( --- a1 ) >NEXT ( --- a1 )
>PRE ( --- ) ?CS: ( --- seg )
?ES: ( --- seg ) ?FILLBUFF ( --- )
?VMODE ( --- ) A; ( --- )
ADEBUG ( a1 --- ) ASSEMBLER ( --- )
ATBL ( --- a1 ) AUTOSAVE-MINUTES ( --- n1 )
BDOS ( n1 func# --- a1 ) BGSTUFF ( --- )
BOOT ( --- ) BUG ( --- )
BYE ( --- ) BYTFUNC ( --- )
CNHASH ( cfa -- ya ) CNSRCH ( cfa ya maxya -- nfa failf )
CNT ( --- a1 ) COLD ( -- )
COMPILE ( | <name> -- ) CONHNDL ( --- a1 )
CONTEXT ( --- a1 ) CONTROL ( <char> -- n1 )
CRASH ( -- ) CURRENT ( --- a1 )
DBG ( | <name> --- ) DEFAULT ( --- )
DEFAULTSTATE( --- ) DIV0FUNC ( -- )
DIV0STRT ( -- )
DIVIDE0 ( status_reg CS IP AX BX CX DX SI BP -- )
DLN ( a1 --- )
DONE? ( n1 -- f1 ) EDITOR ( --- )
EMIT. ( char -- ) END? ( --- a1 )
ENTRY ( --- a1 ) ES0 ( --- a1 )
EXEHCB ( --- a1 ) FIRST ( --- a1 )
FORTH ( --- ) FUDGE ( --- a1 )
GO ( a1 --- ) HASH ( str-addr voc-ptr -- thread )
HDEFAULT ( -- )
HDOS1 ( cx dx fun -- ax cf | err-code 1 )
HERE ( --- a1 )
HIDDEN ( --- )
INITSTUFF ( --- ) INSTALLSTUFF( --- )
INTERPRET ( -- ) LAST ( --- a1 )
LIMIT ( --- a1 ) LINK ( --- a1 )
MAKEDUMMY ( | <name> -- ) MAX.S ( --- a1 )
MAXNEST ( --- n1 ) MEMCHK ( f1 --- )
NO-NAME ( --- ) NOOP ( --- )
OSF ( --- a1 ) OUTPAUSE ( --- )
PAUSE ( --- ) PAUSE-FUNC ( --- )
PRE> ( --- ) PRIOR ( --- a1 )
ROOT ( --- ) RUN ( --- )
SEGSET ( --- ) SEQINIT ( --- )
SETTIB ( a1 --- ) SETYSEG ( --- )
SOURCE ( --- a1 n1 ) SOURCE-PARSE-WRD ( C1 --- A1 N1 )
START ( --- ) STATE ( --- a1 )
SVINIT ( --- ) SVSEG ( --- seg1 )
TOS ( --- a1 ) TOTALWORDS ( --- a1 )
TRIM ( faddr voc-addr -- ) UNBUG ( -- )
UNINSTALLSTUFF ( --- ) UP ( --- a1 )
USER ( --- ) VMODE-VAR ( --- a1 )
VMODE.SET ( --- ) VOC-LINK ( --- a1 )
VOCABULARY ( | <name> -- ) W.NAME ( NFA --- )
WARM ( -- ) WARNING ( --- a1 )
WORD ( C1 --- A1 ) XSEG ( --- a1 )
Terminal Input & Output words
#LINE ( --- a1 ) #OUT ( --- a1 )
#PAGE ( --- a1 ) (EMIT) ( c1 --- )
(EXPECT) ( a1 n1 --- ) (KEY) ( --- c1 )
(KEY?) ( --- f1 ) -LINE ( --- )
-TAB ( --- ) >ATTRIB1-8 ( --- )
>BG ( n1 --- ) >BOLD ( --- )
>BOLDBLNK ( --- ) >BOLDUL ( --- )
>BUGN ( --- ) >BUWT ( --- )
>COLOR ( --- ) >FG ( n1 --- )
>IBM ( --- ) >IN ( --- a1 )
>LCD ( --- ) >MONO ( --- )
>NONE ( --- ) >NORM ( --- )
>RDWT ( --- ) >REV ( --- )
>REVBLNK ( --- ) >TYPE ( a1 n1 --- )
>UL ( --- ) ?DARK ( --- )
?KEYPAUSE ( --- ) ?PRINTER.READY ( --- f1 )
AT ( col row --- ) ATTRIB ( --- a1 )
BACKSPACES ( n1 --- ) BEEP ( --- )
BELL ( --- c1 ) BIG-CURSOR ( --- )
BIOSCHAR ( --- a1 ) BIOSKEY ( --- n1 )
BIOSKEY? ( --- f1 ) BIOSKEYVAL ( --- a1 )
BL ( --- c1 ) BLACK ( --- n1 )
BLACK-ON-WHITE ( --- ) BLUE ( --- n1 )
BROWN ( --- n1 ) BS ( --- c1 )
CLS ( --- ) COLS ( --- n1 )
CONSOLE ( c1 --- ) CR ( --- )
CRLF ( --- ) CROWS ( --- n1 )
CRTAB ( --- ) CURSOR-ON ( --- )
CURSOR-OFF ( --- ) CYAN ( --- n1 )
DARK ( --- ) DKGRAY ( --- n1 )
DTBUF ( --- a1 ) EEOL ( --- )
EMIT ( c1 -- ) EXPECT ( a1 n1 --- )
EXTYPE ( seg a1 n1 --- ) FEMIT ( c1 --- )
FORM-FEED ( --- ) GET-CURSOR ( --- SHAPE )
GREEN ( --- n1 ) IBM--LINE ( -- )
IBM-AT ( col row -- ) IBM-AT? ( --- col row )
KEY ( --- c1 ) KEY? ( --- f1 )
LDUMP ( seg offset len --- ) LMARGIN ( -- a1 )
LTBLUE ( --- n1 ) LTCYAN ( --- n1 )
LTGRAY ( --- n1 ) LTGREEN ( --- n1 )
LTMAGENTA ( --- n1 ) LTRED ( --- n1 )
MAGENTA ( --- n1 ) MED-CURSOR ( --- )
NORM-CURSOR ( --- ) QTYPE ( A1 N1 --- )
QUERY ( --- ) RED ( --- n1 )
RMARGIN ( -- a1 ) ROWS ( --- n1 )
SET-CURSOR ( N1 --- ) SLOW ( --- )
SPACE ( --- ) SPACES ( n1 --- )
SPAN ( --- a1 ) SPCS ( --- a1 )
TAB ( -- ) TABSIZE ( --- a1 )
TIB ( --- a1 ) TILLKEY ( n1 --- )
TYPE ( a1 n1 --- ) TYPESEG ( --- a1 )
VIDEO-SEG ( --- a1 ) VIDEO-TYPE ( a1 n1 --- )
WHITE ( --- n1 ) WHITE-ON-BLACK ( --- )
YELLOW ( --- n1 )
Timing Related words
10TH-ELAPSED ( --- n1 ) B>SEC ( d1 --- n1 )
B>T ( d1 --- d2 ) FORM-DATE ( d1 --- a1 )
FORM-TIME ( d1 --- a1 ) GETDATE ( --- Y MD )
GETTIME ( --- HM Sh ) HOURS ( N1 --- )
MINUTES ( N1 --- ) MS ( n1 --- )
SEC-ELAPSED ( --- N1 ) SECONDS ( N1 --- )
SETDATE ( NM Y --- ) SETTIME ( HM Sh --- )
STIME ( --- a1 ) T>B ( d1 --- d2 )
TENTHS ( N1 --- ) TIME-ELAPSED( --- d1 )
TIME-RESET ( --- ) TIMER ( | forth_commands --- )
TTIME ( --- a1 )
Utility words
DEBUG ( | <name> --- ) DEBUGABLE ( --- )
DLN ( a1 --- ) DONE ( --- )
DU ( a1 -- addr+64 ) DUMP ( a1 len -- )
ED ( --- ) EDIT ( n1 --- )
EMPTY ( --- ) FALLOF ( func | fl_specs --- )
FAST ( --- ) FENCE ( --- a1 )
FIND ( a1 -- cfa flag | a1 false )
FLOOK ( | <string> <fl_specs> --- )
FORGET ( | <name> -- )
FSAVE ( | <name> --- ) INDEX ( file_spec --- )
INLINE ( --- ) INSTALL ( --- )
LINEEDITOR ( x y a1 n1 --- f1 ) LISTING ( --- )
MANY ( -- ) MARK ( | <name> -- )
POSTFIX ( --- ) PREFIX ( --- )
QUIT ( -- ) REF ( | <name> --- )
REPAIR ( | <name> --- ) SAVE-EXE ( | <name> --- )
SED ( | filename --- ) SEE ( <name> --- )
THESE ( --- ) TIMES ( N1 -- )
TOTALLINES ( --- a1 ) TURNKEY ( | <name> --- )
UNDEFER ( | <name> -- ) UNEDIT ( --- )
UNINSTALL ( --- ) USED ( | <command_line> --- )
USEDIN ( | <name> --- ) WORDS ( | <text> <text> -- )
XDUMP ( a1 n1 --- ) XREF ( | <name> --- )
YDUMP ( A1 N1 --- )
VIEW Manipulation words
+LINES ( n1 --- ) -1LINE ( --- )
-LINES ( n1 --- ) >VIEWFILE ( cfa --- offset a1 )
>VIEWLINE ( n1 --- ) B ( --- )
HELLO ( --- ) HELP ( | <name> --- )
HELPVIEW ( | <name> --- ) L ( --- )
LIST ( n1 --- ) LL ( | <name> --- )
N ( --- ) SETVIEW ( | <path> --- )
VIEW ( | <name> --- ) VIEWLINES ( n1 n2 --- )
VIEWPATH ( --- a1 )
Window Control words
BCR ( --- )
BOX ( left top right bottom --- )
BOX&FILL ( left top right bottom --- )
RECOVERLINE ( n1 --- )
RECOVERSCR ( --- )
RESTSCR ( --- )
SAVESCR ( --- )
-------------------- Function Glossary Aplphabetic -------------------
! ( n1 a1 --- ) KERNEL1
Store a 16 bit value N1 into the address a1 in the CODE
segment.
!> ( n1 | <name> -- ) EQUCOLON
Store the value n1 on the stack into the body field of <name>.
Typically used to modify a VALUE or VARIABLE. May be used on
the command line. Used in the form: 10 !> XX where XX is a
VALUE or VARIABLE.
!CSP ( -- ) KERNEL3
Save the current stack level for later error checking by ?CSP.
!HCB ( a1 | <name> --- ) HANDLES
Get <name> from the input stream and move it into the handle
a1.
!L ( n1 seg a1 -- ) KERNEL2
Store the 16 bit value N1 into the FAR address specified by SEG
and ADDR.
!USED ( --- ) UTILS
Stores away the current values of the various segments in F-PC
for later comparison with the same values after a compile.
Used to determine dictionary space usage.
" ( | <string>" -- ) compile time KERNEL3
( --- a1 n1 ) runtime
Compile <string> terminated by a ", into CODE space. Return the
address and length of the string at runtime.
"" ( | <string>" -- ) compile time KERNEL3
( --- a1 n1 ) runtime
Compile <string> terminated by a ", into LIST space. The
string is moved into a CODE space buffer at runtime, the
address and length of the buffer are subsequently returned.
Only a single buffer is used for these strings, so each ""
string must be used before the next "" string is executed.
"+ ( a1 n1 -- ) TIMER
Append string a1,n1 to the date/time buffer DTBUF ;
".ERRMSG ( a1 n1 -- ) SEDSHELL
Display mesage a1,n1 in a 32 character wide box and wait for
a key to be pressed.
">$ ( a1 len -- a2 ) KERNEL3
Convert address a1 and length len of a string created with "
into a counted string address a2. This word relys on the fact
that " really creates counted strings, but converts them to
address and length on execution.
"BUF ( --- a1 ) KERNEL3
The buffer that is used when returning a "" string at runtime.
See also the "" definition above.
"CREATE ( a1 -- ) KERNEL3
Create a definition in the dictionary from the counted string a1.
The definition will behave like CREATEed definitions.
"EMIT ( -- ) PERTYPE
Emit a " character to the screen using the fast FEMIT word.
"ENVFIND ( a1 n1 --- n2 f1 ) ENVIRON
Search the environment for the string specified by a1, n1 where
A1 is the address of the first character to find, and N1 is the
length of the string being searched for. Return a boolean flag
TRUE if found, and N2 the offset into the environment where the
match occured.
"HEADER ( a1 --- ) KERNEL3
Use the string specified by a1 to make a header, and initialize
the code field. First we check for duplicates. Then we make
entry in >NAME hash table if appropriate. Next lay down the
view field. Then we hook in to the correct thread an make the
link field. We set up LAST so that it points to our name
field. Then we copy the name to YSEG and delimit the name
field bits. Then we make the pointer in the YSEG to the CFA.
Then we add a stopper entry to >NAME hash table in case of a
large ALLOT or end of dictionary. All of the work is done in
HEAD space, "HEADER has no effect on CODE space whatsoever.
"SYSCOMMAND ( a1 n1 c1 -- ) EXEC
Pass the string a1,n1 to DOS with the Forth line following the
command up to character c1 appended to string a1,n1.
# ( d1 --- d2 ) KERNEL2
Convert a single digit of D1 into the number conversion buffer
below PAD in the current base. Return D2 the remainder for
further conversion.
##+ ( n1 -- ) TIMER
Append the two lower digits of n1 in the current base to DTBUF.
#> ( d1 --- a1 len ) KERNEL2
Complete the numeric conversion of D1, discarding the double
ZERO and returning the address and count of the converted
string located below PAD.
#CODESEGS ( --- n1 ) KERNEL2
A VALUE which returns the number of 16 byte segments assigned
to be used for CODE (assembly language), CONSTANTS and
VARIABLES. Limited to 64k, which is the value 4096 decimal.
#DIRSEGS ( -- n1 ) WFL HIDDEN
A constant that returns the number of segments (16 byte
paragraphs) allocated to the directory save buffer.
#ELSE ( --- ) COMMENT
The optional ELSE portion of an interpreted conditional
structure started with #IF, and completed with #THEN. See
also #IF.
#EMPTY ( -- n1 ) DECOM HIDDEN
An internal word used by the decompiler. It allows the decompiler
to know how many blank lines are between the word being
decompiled, and the split screen line. Used to know when to
scroll the decompilers lines.
#ENDIF
#THEN ( --- ) COMMENT
Ends a multi-line Compiler directive. See #IF.
#FLS ( -- n1 ) WFL HIDDEN
A VALUE that holds the number of directory entries read when the
pop up file selection tool is used.
#HEADSEGS ( --- n1 ) KERNEL2
A VALUE which returns the number of 16 byte segments assigned
to be used for Forth HEADERS. Limited to 64k, which is the
value 4096 decimal.
#IF ( f1 --- ) COMMENT
Starts a multi-line compiler directive. If the boolean passed
to #IF is true, then the lines following #IF will be executed.
If the boolean is false, then the lines following #IF up to the
#ENDIF or #THEN, will be ignored. An optional #ELSE may be
inserted after #IF, and before #THEN. Used in the following
form: <boolean> #IF TRUE portion to perform
#ELSE optional else portion
#THEN operation continues here.
#LINE ( --- a1 ) KERNEL2
A variable that holds the line number of the current line on
which text is being typed. Incremented by CR.
#LISTSEGS ( --- n1 ) KERNEL2
A VALUE which returns the number of 16 byte segments assigned
to be used for bodys of Forth colon definitions. Limited by
the memory of your computer.
#MACROS ( -- n1 ) MACROS HIDDEN
A CONSTANT that specifies how many keyboard macros we can have
defined at one time.
#NUM ( a1 -- d1 f1 ) KERNEL2
A DEFERed word that is used by %NUMBER to process normal number
conversions. Normally contains NUMBER?.
#OUT ( --- a1 ) KERNEL2
A variable that holds the column number of the most recent type
or emit to the display. Incremented by EMIT or TYPE.
#PAGE ( --- a1 ) UTILS
A VARIABLE that contains the number of the current page. #PAGE
is incremented by PAGE, but must be reset manually.
#PRLINES ( -- n1 ) BROWSE HIDDEN
A VALUE that counts the times ?.PRLINES is called between actually
showing an update message on the screen while doing >BROWSE.
#S ( d1 --- d2=0 ) KERNEL2
Convert the double number D1 into ascii characters stored below
PAD until D1 is reduced to a double ZERO.
#THREADS ( -- n1 ) KERNEL1
Return the CONSTANT number of vocabulary threads used in the
dictionary. In F-PC this number can vary in binary multiples
from 2 to 128, it is normally set to 64.
#TIB ( --- a1 ) KERNEL2
Used by WORD to hold the number of characters in the terminal
input buffer when interpreting from the keyboard.
#TIMES ( -- a1 ) UTILS
Used by TIMES in performing a Forth command line repeatedly.
#USER ( --- a1 ) KERNEL4
A VARIABLE that holds the count of how many user variables are
allocated.
#VOCS ( --- n1 ) KERNEL2
The maximum number of vocabularies that can be active at one
time in the vocabulary search order array.
$.L ( a1 n1 n2 -- ) UTILS
Display string a1,n1 left justified in a field of n2 characters.
$.R ( a1 n1 n2 -- ) UTILS
Display string a1,n1 right justified in a field of n2 characters.
$>EXT ( a1 n1 a2 --- ) HANDLES
Move the specified string a1,n1 to the extension field of the
handle a2.
$>HANDLE ( a1 a2 --- ) HANDLES
Move a counted filename string a1 into handle a2 for use by
the following words.
$>TIB ( a1 --- ) UTILS
Move the counted string A1 into the Terminal Input Buffer for
immediate interpretation or access with WORD. Any contents of
TIB is overwritten.
$DIR ( a1 -- ) EXEC HIDDEN]
Display a directory for the drive and path counted string a1.
$FILE ( a1 -- f1 ) FPATH
Open the file specified by the counted string a1. Return f1
false if the file opened properly. Searches the Forth PATH in
trying to open the file.
$FLOAD ( a1 --- f1 ) SEQREAD
the file specified by counted string a1, return f1 true
if the file did not exist. Will abort if a compile error
occurs while compiling the file.
$GETDIR ( a1 -- ) WFL HIDDEN
Read the directory using the filespec in counted string a1.
The directory entries are read into the external segment
directory buffer. See the file WFL.SEQ for usage.
$HOPEN ( a1 --- f1 ) SEQREAD
Open the file specified by the counted string a1. Return
boolean f1 false if the open was succesful.
$NUM ( a1 -- d1 f1 ) KERNEL2
A DEFERed word that is used by %NUMBER to process HEXDECIMAL
numbers, that is number starting with the $ symbol.
$PFILE ( a1 --- f1 ) PRINT
Select a print file as specified by the counted string a1.
Return F1 a boolean error flag true if the print file could not
be created.
$SYS ( a1 -- f1 ) EXEC HIDDEN
Spawn a DOS shell and perform the DOS command specified in the
counted string a1. Return f1 true is an error occured.
%NUMBER ( a1 -- d1 f1 )
Convert count delimited string at a1 into double number.
Special prefixes allowed.
&> ( t1 --- a1 )
Return the BODY address a1 of word t1, a VALUE of VARIABLE.
' ( | <name> -- cfa ) pronounced "tick" KERNEL3
Return the CFA (code field address) of the next word in the
input stream, <name>.
'DOCOL ( --- a1 ) UTILS
A CONSTANT that returns the execution address of NEST, or
DOCOLON at it is sometimes known.
'NUM ( a1 -- d1 f1 ) KERNEL2
A defered word that processes 'A' byte in-line literal numbers
when compiling. See aso ^NUM, #NUM and $NUM.
'TIB ( --- a1 ) KERNEL2
A VARIABLE that contains an address that points to the location
in memory where characters are entered by user.
( ( -- ) KERNEL3
The Forth comment character. The input stream of the current
line is skipped until a ) is encountered. Terminates at line
end.
(") ( | <string> -- a1 len )KERNEL3
Return the address and length of the inline string, and
continue execution after the string.
(+LOOP) ( n1 --- ) KERNEL1
Increment the loop counter by the value on the stack and decide
whether or not to loop again. Due to the wierdness of the
8080, you have to stand on your head to determine the
conditions under which you loop or exit.
(.") ( --- ) KERNEL3
Type the inline string, and continue execution after the
string. Compiled by ." , not used from the keyboard.
(.) ( n1 --- a1 n2 ) KERNEL2
Convert a signed 16 bit number to a string.
(?DO) ( n1 n2 --- ) KERNEL1
The runtime code compiled by ?DO. The difference between ?DO
and DO is that ?DO will not perform any iterations if the
initial index is equal to the final index.
(?ERROR) ( a1 n1 f1 --- ) KERNEL3
Default for ?ERROR. If boolean f1 is true then type the message
specified by a1,n1 and QUIT. Else discard the message a1,n1.
(?LEAVE) ( f1 --- ) KERNEL1
Compiled function emplaced by ?LEAVE. Leaves if the flag on the
stack is true. Continues if not.
(?SERROR) ( a1 n1 f1 --- ) SEQREAD
If boolean is true, then print message addr1,n1 and show the
line in the current file where the error occured.
(?STACK) ( -- ) KERNEL3
An assembly primitive that checks for stack underflow, stack
overflow, and the nearly out of memory condition.
(ABORT") ( f1 -- ) KERNEL3
The Runtime code compiled by ABORT". Uses ERROR, and updates
return stack.
(CHAR) ( a1 n1 c1 -- a1 n1+1 c1 )
A primitive used by the "kernel" EXPECT that saves character c1
into the current EXPECT buffer.
(CONSOLE) ( c1 -- ) SEQREAD
Send character c1 to the console using a handle write to device
CON:. See aso CONSOLEL, (PRINT) and PRINTL.
(D.) ( d1 --- a1 n1 ) KERNEL2
Convert a signed double number to a string.
(DO) ( n1 n2 --- ) KERNEL1
The runtime code compiled by DO. Pushes the inline address onto
the return stack along with values needed by (LOOP).
(DOERROR) FORTH
(EDITERR) FORTH
(EMIT) ( c1 --- ) KERNEL2
Sends a character to both the console and optionally to the
printer.
(ESC-IN) FORTH
(EXPECT) ( a1 n1 --- ) KERNEL2
Wait for n1 characters to be typed at the keyboard, and place
those characters in the buffer starting at a1.
(FIND) ( here lfa --- cfa flag | here false ) KERNEL3
Does a search of the dictionary based on a pointer to a
vocabulary thread and a string. If it finds the string in the
chain, it returns a pointer to the CFA field inside the header.
This field contains the code field address of the body. If it
was an immediate word the flag returned is a 1. If it is
non-immediate the flag returned is a -1. If the name was not
found, the string address is returned along with a flag of
zero. Note that links point to links, and are absolute
addresses.
(FRGET) ( code-addr relative-link-addr ) KERNEL3
Forgets part of the dictionary. Both the code address and the
header address are specified, and may be independent. (FRGET)
resets all of the links and releases the space.
(IS) ( cfa -- ) KERNEL4
The code compiled by IS. Sets the following DEFERred word to the
address on the parameter stack.
(KEY) ( --- c1 ) KERNEL2
Pauses until a key is ready, and returns it on the stack.
(KEY?) ( --- f1 ) KERNEL2
Returns true if the user has already pressed a key, otherwise
false.
(LEAVE) ( --- ) KERNEL1
Compiled function emplace by LEAVE. Does an immediate exit of a
DO ... LOOP structure. Unlike FIG Forth which waits until the
next LOOP is executed.
(LIT) ( --- n1 ) KERNEL1
The runtime code for literals. Pushes the following two bytes
onto the parameter stack and moves the IP over them. It is
compiled by the word LITERAL.
(LIT+) HIDDEN
(LOOP) ( --- ) KERNEL1
the runtime procedure for LOOP. Branches back to the beginning
of the loop if there are more iterations to do. Otherwise it
exits. The loop counter is incremented.
(NUMBER) ( a1 --- d1 f1 ) KERNEL2
Convert the count delimited string at a1 to a double number.
(NUMBER) takes into account a leading minus sign, and stores a
pointer to the last period in DPL. Note the string must end
with a blank or an error message is issued.
(NUMBER?) ( a1 --- d1 f1 ) KERNEL2
Given a string containing at least one digit, convert it to a
number.
(OF) ( n1 n2 -- n1 ) ( or ) ( n1 n1 -- ) KERNEL1
The run-time code compiled of OF . If the top two stack
elements are the same, the two items will be dropped from the
stack and the code following OF will be executed. Otherwise,
only the top item is dropped from the stack, and a branch is
taken from the literal following the in-line (OF) .
(PRINT) ( c1 -- ) SEQREAD
Send character c1 to the current print device using a handle
write. See also PRINTL, (CONSOLE) and CONSOLEL.
(REF) HIDDEN
(SEE) FORTH
(TYPE) FORTH
(TYPEL) FORTH
(U.) ( n1 --- a1 n2 ) KERNEL2
Convert an unsigned 16 bit number to a string.
(UD.) ( d1 --- a1 n1 ) KERNEL2
Convert an unsigned double number to a string.
(X") FORTH
(\.") FORTH
(]) FORTH
* ( n1 n2 -- n3 ) KERNEL1
Returns a product of two numbers. The numbers may be either
signed or unsigned. The product will be correct as long as it
may be properly represented in 16 bits!
*/ ( n1 n2 n3 -- quot ) KERNEL1
is a particularly useful operator, as it allows you to do
accurate arithmetic on fractional quantities. Think of it as
multiplying n1 by the fraction n2/n3. The intermediate result
is kept to full accuracy. Notice that this is not the same as
* followed by /. See Starting Forth for more examples.
*/MOD ( n1 n2 n3 -- mod quot )KERNEL1
This returns the floored quotient and modulus of a 32 bit
numerator and a 16 bit denominator n3 . The numerator is an
intermediate 32 bit product of the 16 bit quantities n1 and n2
. Note that the sign of the modulus is the same as the sign of
the denominator.
*BIG-CURSOR HIDDEN
*D ( n1 n2 --- d1 ) KERNEL1
multiplys two singles and leaves a double.
*MED-CURSOR HIDDEN
*NORM-CURSOR HIDDEN
+ ( n1 n2 --- n3 ) KERNEL1
Add the top two numbers on the stack and return the result.
+! ( n1 a1 --- ) KERNEL1
Increment the value at a1 by n1. This is equivalent to the
following: DUP @ ROT + SWAP ! but much faster.
+!> ( n1 | <name> -- ) EQUCOLON
Increment the body field of <name> by value n1 on the stack.
Typically used to modify a VALUE or VARIABLE.
+," FORTH
+A.? HIDDEN
+LOOP ( n1 -- ) KERNEL3
Terminate a loop structure. Increment loop index by n1 and
repeat <loop-body> until loop index crosses the boundary
between limit and limit - 1. Used in the following form: DO
<loop-body> LOOP.
+TAB ( --- ) DECOM
Bump the left margin up by 8 characters. used by the
decompiler to display nested conditional structures.
+XSEG FORTH
, ( n1 -- ) pronounced "comma" KERNEL3
Set the contents of the dictionary to the arbitrary 16-bit
value on the stack.
," ( | <string> -- ) KERNEL3
Add the following text string till a " to the dictionary in
CODE space.
,CALL ( -- ) KERNEL3
Compiles a CALL to address ZERO, the actual branch address is
set later by ;USES or ;CODE.
See CREATE, VARIABLE, CONSTANT & :
,JUMP ( --- ) KERNEL3
Compiles a JMP to address ZERO, the actual jump address is set
later by ;USES or ;CODE. See CREATE, VARIABLE, CONSTANT & :
,VIEW ( -- ) KERNEL3
Calculate and compile the VIEW field into the header.
- ( n1 n2 --- n3 ) KERNEL1
Subtracts n2 from n1 leaving the result on the stack.
-1! ( a1 -- ) KERNEL1
Set the contents of the 16 bit quantity at a1 to -1 (all bits
set).
-LINE ( --- ) UTILS
A DEFERed word that deletes one line on the display at the
cursor line. Lines below the cursor line are scrolled up one
line.
-ROT ( n1 n2 n3 --- n3 n1 n2 ) KERNEL1
The inverse of ROT. Rotates the top element to third place.
-SCAN FORTH
-TAB ( --- ) DECOM
Decrement the left margin up by 8 characters. Used by the
decompiler to display nested conditional structures.
-TRAILING ( a1 n1 --- a2 n2 ) KERNEL2
Return the address and length of the given string ignoring
trailing blanks.
. ( n1 --- ) KERNEL2
Display n1 as a signed 16 bit number with a trailing space.
." ( | <string> -- ) KERNEL3
Compile the string till a " to be typed out later. These
strings are compiled into LIST space to conserve CODE room.
."X$" HIDDEN
.( ( -- ) KERNEL3
Type the following string on the terminal.
.(;CODE) HIDDEN
.+LOOP HIDDEN
.2W FORTH
.: HIDDEN
.?DO HIDDEN
.ABORT" HIDDEN
.AGAIN HIDDEN
.ASKMACRO HIDDEN
.BASE FORTH
.BEGIN HIDDEN
.BOX" ( X Y | <string> --- ) BOXTEXT
Used while compiling, followed by <string> which is compiled
into the current definition. Displays <string> inside a box on
the screen whose upper left corner is at X, Y. Used in a COLON
definitions as Follows: : TEXT 10 10 .BOX" This is a test" ;
.CASE HIDDEN
.COMMENT: ( --- ) COMMENT
Starts a multi-line print statment. All lines following the
".comment:" line will be printed to the display until a
"comment;" is encountered.
.COMPSTAT ( --- ) TIMESTUF
Display the compiler status since the most recent 0COMPILER was
performed. Used to keep track of the performance of the
compiler on various hardware. See also 0COMPILER
.COMSPEC ( --- ) ENVIRON
Print the current command specification including the drive and
path.
.CONSTANT HIDDEN
.CURFILE ( --- ) HELLO
Display the full file path and size of the currently open file.
.DATE ( --- ) TIMER
Get and display the DOS date.
.DEFER HIDDEN
.DEFINITION-CLASS HIDDEN
.DEFSRC FORTH
.DO HIDDEN
.DOES> HIDDEN
.ECURSOR HIDDEN
.ELAPSED ( --- ) TIMER
Display the elapsed time in Houres, minutes, seconds, and
hundredths since the last TIME-RESET was performed. Overflows
at 18 hours.
.ELINE HIDDEN
.ELSE HIDDEN
.ENDCASE HIDDEN
.ENDOF HIDDEN
.ENV ( --- ) ENVIRON
Display the current contents of the environment string.
.EXECUTION-CLASS HIDDEN
.FILE ( --- ) HELLO
Display the name of the currently open file.
.FILE-ONCE HIDDEN
.FILES ( --- ) FILSTAT
Print the contents of the file system handle stack.
.FINISH HIDDEN
.FIRSTLINE HIDDEN
.FOOT FORTH
.FPATH FORTH
.FREE ( --- ) UTILS
Display the amount of dictionary space available at the
current time.
.HEAD FORTH
.HELLO ( --- ) HELLO
Defered word, that displays the startup message when F-PC
begins execution. Performs .<hello> by default.
.HORIZONTAL FORTH
.ID ( nfa -- ) KERNEL4
Display the variable length name whose name field address is on
the stack. If it is shorter than its count, it is padded with
underscores. Only valid Ascii is typed.
.IF HIDDEN
.IMMEDIATE HIDDEN
.INST FORTH
.IS HIDDEN
.LIT HIDDEN
.LOADED ( --- ) FILSTAT
Print a list of all files that have been loaded.
.LOADLINE FORTH
.LOOP HIDDEN
.ME ( --- ) ENVIRON
Print the name of the program currently executing. This only
works on DOS 3.0 and higher. If it is used on DOS 2.x no name
will be printed. See also ME@.
.MENU FORTH
.MENUBAR FORTH
.NAM HIDDEN
.OF HIDDEN
.OTHER HIDDEN
.PATH ( --- ) ENVIRON
Print the current directory search PATH.
.PFA HIDDEN
.QUOTE HIDDEN
.R ( n1 n2 --- ) KERNEL2
Display n1 as a signed 16 bit number right justified in a field
of n2 spaces.
.REPEAT HIDDEN
.REPMAC HIDDEN
.RVOCWORDS HIDDEN
.S ( -- ) KERNEL4
Displays the contents of the parameter stack non destructively.
Very useful when debugging.
.SEQHANDLE ( --- ) SEQREAD
Display the filename in the current sequential file handle.
.SRCCR FORTH
.SRCDEF FORTH
.STATUS ( -- ) STATUS
Test STATV, if it is on, then display the status line at the
top of the screen.
.STRING"" HIDDEN
.STRING" HIDDEN
.STRING." HIDDEN
.THEN HIDDEN
.TIME ( --- ) TIMER
Get the time from DOS, and display it.
.UNNEST HIDDEN
.UNTIL HIDDEN
.USED ( --- ) UTILS
Display the amount of dictionary space used since the last
!USED was executed.
.USER-DEFER HIDDEN
.USER-VARIABLE HIDDEN
.VALUE HIDDEN
.VARIABLE HIDDEN
.VERTICAL FORTH
.VOCWORDS ( A1 --- ) WORDS
Display the words matching, from a vocabulary. See the source
for WORDS for usage information.
.VYET FORTH
.WHILE HIDDEN
.WORD HIDDEN
.['] HIDDEN
/ ( num den -- quot ) KERNEL1
Divide two signed single precision numbers and return the
floored quotient. Note that -5 2 / returns a value of -3 .
/* ( | <text> --- ) COMMENT
Start a group of comments until a terminating */ is
encountered.
/LISTING FORTH
/MOD ( num den -- rem quot ) KERNEL1
Divide two signed single precision numbers and return the
floored quotient and modulus (remainder). Note that this
function is designed to return a modulus which has the same
sign as the denominator (usually positive), independent of the
sign of the denominator.
/NOLISTING FORTH
/STRING ( a1 len n1 --- addr' len' ) KERNEL2
Index into the string addr, len, by n1. Returns addr+n and
len-n.
0! ( a1 -- ) KERNEL1
Clear all 16 bits at the specified address.
0< ( n1 --- f1 ) KERNEL1
Returns true if top is negative, ie sign bit is on.
0<= ( n1 --- f1 ) UTILS
Return a boolean flag true if n1 is less than or equal to zero.
0<> ( n1 --- f1 ) KERNEL1
Returns true if the top is non-zero, False otherwise.
0= ( n1 --- f1 ) KERNEL1
Returns True if top is zero, False otherwise.
0> ( n1 --- f1 ) KERNEL1
Returns true if top is positive.
0>= ( n1 --- f1 ) UTILS
Return a boolean flag true if n1 is greater than or equal to
zero.
0COMPILER ( --- ) TIMESTUF
Initialize the compiler performance monitoring tool, in
preperation for loading a quantity of source code. The word
.COMPSTAT when later executed will inform you of the number of
lines compiled, and the rate at which linew were compiled. See
also .COMPSTAT.
0DECR FORTH
0FL HIDDEN
0ISTK HIDDEN
0MAX FORTH
1+ ( n1 --- n2 ) KERNEL1
Increment the top of the stack by one.
1- ( n1 --- n2 ) KERNEL1
Decrement the top of the stack by one.
10TH-ELAPSED ( --- N1 ) TIMESTUF
Return n1 the tenths of a second that have elapsed since the
last TIME-RESET was performed.
1FILE HIDDEN
1ST-ROWCHAR FORTH
1STCOLD FORTH
2! ( d1 a1 --- ) KERNEL1
Store a 32 bit value at addr.
2* ( n1 --- n2 ) KERNEL1
Double the number on the Stack.
2+ ( n1 --- n2 ) KERNEL1
Increment the top of the stack by two.
2+! ( d1 a1 -- ) KERNEL1
Add the double number to the contents of the double word at
the specified address.
2- ( n1 --- n2 ) KERNEL1
Decrement the top of the stack by two.
2/ ( n1 --- n2 ) KERNEL1
Shift the number on the stack right one bit. Equivalent to
division by 2 for positive numbers.
2>R ( n1 n2 --- ) KERNEL1
Pops two values off of the parameter stack and pushes them onto
the return stack. It is dangerous to use this randomly! This
word is equivalent to: "SWAP >R >R" that is the order of the
operator on the parameter stack is maintained when they are
placed on the return stack.
2@ ( a1 --- d1 ) KERNEL1
Fetch a 32 bit value from addr.
2CONSTANT ( d1 | <name> -- ) compile time KERNEL3
( --- d1 ) run time
Create a double number constant.
2DROP ( n1 n2 --- ) KERNEL1
( d1 --- )
Drop the top two elements of the data stack.
2DUP ( n1 n2 --- n1 n2 n1 n2 ) KERNEL1
( d1 --- d1 d1 )
Duplicate the top two elements of the data stack.
2OVER ( n1 n2 n3 n4 --- n1 n2 n3 n4 1n 2n ) KERNEL1
( d1 d2 --- d1 d2 d1 )
Copy the second pair of numbers over the top pair. Behaves
like 2SWAP for 32 bit integers.
2R> ( --- n1 n2 ) KERNEL1
Pops two values off of the return stack and pushes them onto
the parameter stack. It is dangerous to use this randomly!
This word is equivalent to: R> R> SWAP that is the order of the
operator on the return stack is maintained when they are placed
on the parameter stack.
2R@ ( --- n1 n2 ) KERNEL1
Copies the two top values from the return stack to the
parameter stack. Same as "R> R> 2DUP >R >R SWAP" that is the
order of the operator on the return stack is maintained when
they are placed on the parameter stack.
2ROT ( n1 n2 n3 n4 n5 n6 --- n3 n4 n5 n6 n1 n2 ) KERNEL1
( d1 d2 d3 --- d2 d3 d1 )
Rotates top three double numbers.
2SWAP ( n1 n2 n3 n4 --- n3 n4 1n 2n ) KERNEL1
( d1 d2 --- d2 d1 )
Swap the top two pairs of numbers on the stack. You can use this
operator to swap two 32 bit integers and preserve their meaning as
double numbers.
2VARIABLE ( | <name> -- ) compile time KERNEL3
( --- a1 ) runtime
Create a double length variable.
3DROP ( n1 n2 n3 --- ) KERNEL1
Drop the top three elements of the data stack.
3DUP ( n1 n2 n3 --- n1 n2 n3 n1 n2 n3 ) KERNEL1
Duplicate the top three elements of the data stack.
4DUP ( n1 n2 n3 n4 --- n1 n2 n3 n4 n1 n2 n3 n4 ) KERNEL1
( d1 d2 --- d1 d2 d1 d2 )
Duplicate the top four 16 bit elements of the stack.
8* ( n1 --- n2 ) KERNEL1
Multiply the top of the stack by 8.
: ( -- ) KERNEL3
Defines a colon definition. The definition is hidden until it
is completed, or the user desires recursion. The runtime for :
adds a nesting level.
; ( -- ) KERNEL3
Terminates a colon definition. Compiles the runtime code to
remove a nesting level, and changes STATE so that compilation
will terminate.
;CODE ( -- ) KERNEL3
Used for defining the run time portion of a defining word in
low level code.
;USES ( -- ) KERNEL3
Similar to the traditional ;CODE except used when run time
code has been previously defined.
< ( n1 n2 --- f1 ) KERNEL1
Compare the top two elements on the stack as signed integers
and return true if n1 < n2.
<# ( d1 --- d1 ) KERNEL2
Start numeric conversion. Sets the variable HLD to PAD.
<#IF> FORTH
<$FILE> FORTH
<'> FORTH
<.COMMENT:> FORTH
<.CURFILE> FORTH
<.ELAPSED> FORTH
<.HELLO> FORTH
<.STAT> FORTH
<= ( n1 n2 --- f1 ) UTILS
Less than or equal.
<> ( n1 n2 --- f1 ) KERNEL1
Returns true if the two element are not equal, else false.
<?PTR.READY> FORTH
<BDOS> FORTH
<BOX> HIDDEN
<COMMENT:> FORTH
<D.M.Y> FORTH
<DOLDEL> HIDDEN
<ED> ( --- ) TOPEDIT
Re-Enter the editor on the current file at the most recent edit
line. Reads the file into memory if needed.
<EDONE> HIDDEN
<EQUIT> HIDDEN
<EXEC> HIDDEN
<FLOAD> ( --- ) SEQREAD
Primitive word that loads the file just opened.
<FPATH+> FORTH
<GETFILE> FORTH
<GETTIME> ( --- hm sh ) TIMER
Get the system time in DOS format, HM=hours,minutes and
SH=seconds,hundreths. See also .TIME, .DATE
<GRAPHDUMMY> FORTH
<HEADER> FORTH
<HRENAME> ( handle1 handle2 --- return-code ) HANDLES
Code primitive for the HRENAME. See also HRENAME.
<ICHAR> HIDDEN
<LEDIT> HIDDEN
<LOAD> ( --- ) SEQREAD
Load the current file starting at the current file offset.
<LRUN> FORTH
<M/D/Y> FORTH
<MARK ( -- a1 ) KERNEL3
Set up for a Backwards Branch.
<RED> FORTH
<RESOLVE ( a1 -- ) KERNEL3
Resolve a Backwards Branch.
<RUN> FORTH
<SAVE-EXE> FORTH
<TO<>BL HIDDEN
<TO=BL+1 HIDDEN
<W.NAME> FORTH
<Y-M-D> FORTH
= ( n1 n2 --- f1 ) KERNEL1
Returns true if the two elements on the stack are equal, False
otherwise.
=: ( n1 | <name> -- ) EQUCOLON
Used to assign values into the body of <name>, like VARIABLEs
or VALUEs. May be used on the command line. Typical usage is as
follows: 34 VALUE MYVAL \ create a VALUE
: CHANGE_MYVAL ( --- ) \ define a word to
23 =: MYVAL ; \ change MYVAL
> ( n1 n2 --- f1 ) KERNEL1
Compare the top two elements on the stack as signed integers
and return true if n1 > n2.
>.ID FORTH
>= ( n1 n2 --- f1 ) UTILS
Compare n1 and n2, return a true if n1 is greater than or
equal to n2.
>ATTRIB ( handle --- attrib-a1 )HANDLES
Step to the attribute field of the handle
>ATTRIB8
>ATTRIB7
>ATTRIB6
>ATTRIB5
>ATTRIB4
>ATTRIB3
>ATTRIB2
>ATTRIB1 ( --- ) UTILS
Select a display attribute for the display you are using.
These are DEFERed words that are setup at COLD start time to
perform the proper function for the display card you are using.
>ATTRIB8 FORTH
>B FORTH
>BG ( N1 --- ) COLOR
Set the Background color to value n1.
>BODY ( cfa -- pfa ) KERNEL3
Go from code field address cfa to body address pfa.
>BOLD ( --- ) MONOCROM
Set the display attribute to bold.
>BOLDBLNK ( --- ) MONOCROM
Set the display attribute to bold blink.
>BOLDUL ( --- ) MONOCROM
Set the display attribute to bold underline.
>BOX FORTH
>BROWSER FORTH
>BUGN ( --- ) COLOR
Set the Backgound to BLUE, and Forground to Green.
>BUWT ( --- ) COLOR
Set the Background to Green, and Forground to WHITE.
>COLOR ( --- ) COLOR
Select hilighting for color monitor.
>EDATTRIB HIDDEN
>FADR HIDDEN
>FG ( N1 --- ) COLOR
Set the Forground color to value n1.
>HNDLE ( handle --- handle-a1 )HANDLES
Step to the handel storage field of the handle array.
>IBM ( -- ) IBMCURSR
Select the IBM display as the default display.
>IN ( --- a1 ) KERNEL2
Number of characters interpreted so far.
>IS ( cfa -- data-address ) KERNEL4
Maps a code field into a data field. If the word is in the USER
class of words, then the data address must be calculated
relative to the current user pointer. Otherwise it is just the
parameter field.
>ISTK HIDDEN
>KEYS1 HIDDEN
>KEYS2 HIDDEN
>LCD ( --- ) COLOR
Select the LCD display mode, that is only minimal display
attributes are used, REVERSE only.
>LINE ( n1 --- ) SEQREAD
Step to line n1 in the current file.
>LINK ( cfa -- lfa ) KERNEL3
Go from code field address cfa to link field address lfa.
>MARK ( -- a1 ) KERNEL3
Set up for a Forward Branch.
>MENU FORTH
>MONO ( --- ) MONOCROM
Set the ATTRIB words to select various monochrome attributes.
>NAM ( handle --- name-string-a1 ) HANDLES
Step to the null terminated name field of the handle
>NAME ( cfa -- nfa ) KERNEL3
Go from code field address cfa to name field address nfa.
>NAME.ID FORTH
>NEST ( --- a1 ) KERNEL1
The address of the NEST routine.
>NEXT ( --- a1 ) KERNEL1
Label of the NEXT sequence. This is the location we jump to
when we are NOT using in-line NEXT.
>NONE
>NONEBG FORTH
>NORM ( --- ) MONOCROM
Set display attributes to none, or normal.
>NORMBG FORTH
>PATHEND-1 HIDDEN
>PATHEND HIDDEN
>PATHEND" HIDDEN
>PRE ( --- ) PASM
Select the PREFIX assembler mode, and saves the previous prefix
flag on the return stack for later restoral by PRE>.
>R ( n1 --- ) KERNEL1
Pops a value off of the parameter stack and pushes it onto
return stack. It is dangerous to use this randomly!
>RDWT ( --- ) COLOR
Set the Background to RED, and Forground to WHITE.
>RESOLVE ( a1 -- ) KERNEL3
Resolve a Forward Branch.
>REV ( --- ) UTILS
Set the display attribute to reverse.
>REVBLNK ( --- ) MONOCROM
Set the display attribute to reverse blink.
>REVERSE FORTH
>TO<>BL HIDDEN
>TO=BL HIDDEN
>TYPE ( a1 len -- ) KERNEL3
TYPE for multitasking systems.
>UL ( --- ) MONOCROM
Set the display attribute to underline.
>VIEW ( cfa -- vfa ) KERNEL3
Go from code field address cfa to view field address vfa.
>VIEWFILE ( cfa --- offset a1 ) VIEW
Locate the file which was used to compile word CFA, and return
its string in PAD as A1 a counted string, and OFFSET the offset
into the file where the word definition starts.
>XBUF HIDDEN
? ( a1 --- ) UTILS
Display the contents of the 16 bit memory location a1 as a
signed value.
?.LOADLINE FORTH
?.PRLINES HIDDEN
?<MARK ( -- f1 a1 ) KERNEL3
Set up for a Backwards Branch with Error Checking.
?<RESOLVE ( f1 a1 -- ) KERNEL3
Resolve a backwards Branch with Error Checking.
?>MARK ( -- f1 a1 ) KERNEL3
Set up a forward Branch with Error Checking.
?>RESOLVE ( f1 a1 -- ) KERNEL3
Resolve a forward Branch with Error Checking.
?ADDMAC HIDDEN
?ALREADY_DEF FORTH
?BASE_RESTORE FORTH
?BRANCH ( f1 --- ) KERNEL1
Performs a conditional branch. If the top of the parameter
stack in True, take the branch. If not, skip over the branch
address which is inline.
?CHAR HIDDEN
?CODENAME FORTH
?COLORIZE FORTH
?COMP ( --- ) SAVEREST
Verify F-PC is in COMPILE state. Issue an error message if
Forth is not in COMPILE state.
?CONDITION ( f1 -- ) KERNEL3
Simple compile time error checking. Usually adequate.
?CONSTANT.* FORTH
?CONTROL HIDDEN
?CR ( -- ) KERNEL4
Break the line at the cursor, if we have reached the right
margin as specified by RMARGIN.
?CS: ( --- seg ) KERNEL2
leave Forths Code Segment on the stack.
?CSP ( -- ) KERNEL3
Issue error message if stack has changed since the most recent
!CSP.
?CURSOR-MOVE HIDDEN
?DARK ( --- ) UTILS
Conditionally perform a DARK if no key is waiting at the
keyboard.
?DEBUG HIDDEN
?DEF.EXT ( --- ) HANDLES
If the specified file name has no "." indicating the extension,
then supply one from the default.
?DEFATTRIB FORTH
?DEFER.* FORTH
?DIR-DOWN HIDDEN
?DIR-UP HIDDEN
?DIR-WINDOW HIDDEN
?DNEGATE ( d1 d2 --- d3 ) KERNEL1
Negate the double number if the top is negative.
?DO ( limit start -- ) KERNEL3
Same as DO except that the loop will not be executed if start =
limit.
?DOINGMAC ( --- f1 ) UTILS
Return a boolean flag TRUE if a macro is in the process of
being executed, else return FALSE.
?DOMAC HIDDEN
?DOMAC1 HIDDEN
?DOMKEY FORTH
?DOSIO ( --- f1 ) UTILS
Return a boolean flag TRUE if we are currently using DOS for
all I/O, rather than direct screen output.
?DOSTOP FORTH
?DRIVE.EXTRACT ( handle --- drive-value ) PATHSET
Given handle, return drive-value, the drive specified in
handle, or return the current drive if no drive was specified
in handle.
?DRIVE.PREPEND ( drive-value handle --- ) PATHSET
Given drive-value and handle, prepend the drive-value into
handle, as letter followed by ":".
?DROP FORTH
?DUP ( n1 --- n1 n1<>0 | n1=0 ) KERNEL1
Duplicate the top of the stack if it is non-zero.
?ENOUGH ( n1 --- ) UTILS
Test the number of items on the data stack, if there are more
than n1 items then continue. If there are less than n1 items,
abort with an error.
?ERROR ( a1 n1 f1 --- ) KERNEL3
Maybe indicate an error. If f1 is true then display the error
message a1,n1, else discard a1,n1. Change this to alter ABORT".
?ES: ( --- ) KERNEL2
Return the current value of the ES register on the stack.
?EXEC ( --- ) COMMENT
ABORT if Forth is not currently in EXECUTION STATE with an
error message.
?EXIT ( f1 --- ) KERNEL1
If boolean f1 is true then perform EXIT above else continue
executing the current definition.
?FILEOPEN ( --- ) VIEW
Verify a file is open, give an error message if no file is
open.
?FILLBUFF ( --- ) SEQREAD
Re-fill the input buffer if it needs it.
?FIX-CURSOR FORTH
?FUNC HIDDEN
?GETEXPFILE FORTH
?HELP-DO HIDDEN
?IN-EMPTY FORTH
?INNAME FORTH
?INSERT-TOGGLE HIDDEN
?KEYPAUSE ( --- ) UTILS
Wait for a key to be pressed at the keyboard. If the key is an
ESC, abort. If the key is any other key, wait for an additional
key. If the additional key is anything but an ESC, continue
execution. If the second key is an ESC, then abort.
?LDONE HIDDEN
?LEAVE ( f1 -- ) KERNEL3
Immediately exit a DO-LOOP if the flag is true; else continue
looping.
?LINE ( n1 -- ) KERNEL4
Break the line at the cursor if there are less than n1
characters till RMARGIN is encountered.
?LISTING FORTH
?LMATCH HIDDEN
?LOADED ( | <name> --- f1 ) NEEDS
Have we already loaded the file specified by NAME? Return a
boolean F1 true if we have.
?LOADED, FORTH
?LOADING FORTH
?MENU-DO HIDDEN
?MENUBAR# HIDDEN
?MENUKEY FORTH
?MISSING ( f1 -- ) KERNEL3
Tell user the word does not exist.
?MOUSEINIT HIDDEN
?NEGATE ( n1 n2 --- n3 ) KERNEL1
Negate the second element if the top is negative.
?NOLOADED, FORTH
?NOUSER FORTH
?OPEN.ERROR FORTH
?PAGE ( --- ) UTILS
Output a page command if we are not already on the top of a new
page.
?PAGE-DOWN HIDDEN
?PAGE-UP HIDDEN
?PATH-WINDOW HIDDEN
?PREPEND.VPATH ( a1 --- a1 ) PATHSET
Given a handle a1, prepend to the name in the handle, the
current VIEW directory path.
?PRINTER.READY ( --- f1 ) KERNEL2
A DEFERed word that returns a boolean flag true if the system
printer is online and ready for printing. This word gets
defered to TRUE if we are printing to a disk file.
?REPMAC HIDDEN
?REPMAC1 HIDDEN
?SCROLL-LEFT HIDDEN
?SCROLL-RIGHT HIDDEN
?SCROLL-DN HIDDEN
?SCROLL-UP HIDDEN
?SELECT-MENU HIDDEN
?SEQRANGE FORTH
?SET-CURSOR FORTH
?SETDIR HIDDEN
?SHOWSTACK FORTH
?STACK ( -- ) KERNEL3
Check for parameter stack underflow or overflow and issue
appropriate error message if detected.
?START/STOPMAC HIDDEN
?SYSERROR HIDDEN
?TOTAL.*
?UDEFER.*
?DEFER.*
?CONSTANT.*
?UDEFER.* FORTH
?UVARIABLE.*
?VARIABLE.*
?VALUE.*
?:.*
?CODE.*
?*.* ( --- ) WORDS
Test words used by WORDS to recognize a group of words to
display. These are not used by you the user, they are only
available to show you the classes of words you can look at with
WORDS.
?TOTALWORDS FORTH
?UNLINK HIDDEN
?UNTIL ( f1 --- ) KERNEL1
A special version of ?BRANCH that is used to mark a return
point for the decompiler.
?UPPERCASE ( a1 --- a1 ) KERNEL2
Convert the counted string at a1 to uppercase if CAPS is TRUE.
?USER FORTH
?VMODE ( --- n1 ) VIDEO
Read the current video mode from the BIOS. A value of 7 is
normal for monochrome, and a value of 2 is a CGA board. Also
sets the number of columns in the COLS VALUE and the number of
rows in the ROWS VALUE.
?W.NAME FORTH
?W.TEST FORTH
?WHILE ( f1 --- ) KERNEL1
A special version of ?BRANCH that is used to mark a return
point for the decompiler.
?WORDTYPE FORTH
@ ( a1 --- n1 ) KERNEL1
Fetch a 16 bit value from addr.
@> ( | <name> -- n1) EQUCOLON
Fetch the value n1 from the body field of <name> to the stack.
Typically used to modify a VALUE or VARIABLE. May be used on
the command line.
@L ( seg adr - n1 ) KERNEL2
load word long from seg and adr.
@REL>ABS ( CFA --- a1 ) KERNEL4
Given CFA the CODE FILED ADDRESS of an F-PC definition, return
the address a1 of the code function used to perform the
definition. This word is normally NOT used on CODE words, it is
instead used on COLON definitions, VARIABLES, CONSTANTS,
VALUES, etc. to locate the actual code function used to perform
the selected class of words. This word assumes the first byte
of the cfa is a JMP or CALL instrunction and is followed
immediately by two bytes of RELATIVE address which @REL>ABS
converts to an absolute address.
A: B: C: D: ( --- ) KERNEL4
Select drive A:, B:, C:, or D: as the default drive.
A; ( ---- ) PASM
Complete the compiling of the current line of assembly
instructions. This word is normally executed automatically at
the end of a line of assembly language. The user need only use
this word when creating MACROS. See PASM for an example of
a macro for NEXT.
A;! FORTH
ABORT ( -- ) KERNEL3
Clear the data stack and QUIT; no message is displayed.
ABORT" ( f1 | <message>" -- ) KERNEL3
If the flag is true, issue <message> and ABORT.
ABS ( n1 --- n2 ) KERNEL1
Return the absolute value of the 16 bit integer on the stack
ADEBUG ( A1 --- ) DEBUG
Set the CFA=a1 as the current word to be debugged.
AFT FORTH
AGAIN ( -- ) KERNEL3
Unconditional jump to just after BEGIN in a BEGIN ... AGAIN
loop.
ALETTER HIDDEN
ALIAS ( a1 | <name> --- ) UTILS
Define a new header whose CODE FIELD POINTER points to a1. This
word has the effect of creating another name for an existing
definition, both names will compile the same OLDER word when
compiling. This word has NO EFFECT on CODE space or LIST
space.
ALIGN ( -- ) KERNEL3
Used to force even addresses. A noop on the 8086.
ALLOC ( n1 --- n2 n3 n4 ) KERNEL2
Allocate n1 16 byte units from DOS. Returns n2 the physical
segment number of the start of the space allocated, but only if
the allocate succeeds. returns n3 the largest number of 16
byte segments that could have been allocated, and n4=8 if the
ALLOC FAILED. If n4 is not 8, then discard n3 and use n2 to
point to the allocated space. This space must be accessed with
the L@, L!, LFILL, CMOVEL> and CMOVEL operators. the returned
value n2 can later be used to DEALLOCate the space back to DOS
when you are done using it.
ALLOT ( n1 -- ) KERNEL3
Allocate more space in the dictionary.
AND ( n1 n2 --- n3 ) KERNEL1
Returns the bitwise AND of n1 and n2 on the stack.
ANEW ( | <name> -- ) KERNEL3
Define A NEW definition <name>. If <name> already exists, then
we FORGET it before making the new one. A nice utility to
allow re-loading a file again and again for debugging purposes.
I don't know where this first originated, but I learned of it
from RAY ISAAC at CALOS, a real neat trick.
ARRAY FORTH
ARUNSAVE FORTH
ASCII ( | <char> -- n1 ) KERNEL3
Compile the next character in the input stream as a literal
ASCII integer.
ASSEMBLER ( --- ) KERNEL3
The VOCABULARY that contains all of the assembler definitions.
ASSOCIATIVE: HIDDEN
AT ( col row --- ) UTILS
A special defered word that moves the display cursor to the COL
and ROW specified in preperation for displaying text. The
system variables #OUT and #LINE are automatically adjusted by
this word without your defered function having to keep track of
them.
AT." HIDDEN
AT? FORTH
ATBL ( --- a1 ) KERNEL2
A table of character values 256 bytes in size. The UPC and
UPPERCASE words use this table when performing case conversion.
The values in this table can be changed if you want to do some
special type of character translation.
ATTRIB ( --- a1 ) VIDEO
A variable that holds the value of the current display
attributes. The value 7 is the default for normal video.
AUTOCLEAR HIDDEN
AUTOEDITOFF ( --- ) EDITERR
Disable automatic entry into the editor when a compile error
occurs. The error message is displayed on the screen but the
editor is not invoked.
AUTOEDITON ( --- ) EDITERR
Turn on the automatic entry into the editor when a compile
error is detected. The edit cursor is placed in the editor at
the error point.
AUTOSAVEON ( --- ) SEDITOR
Enable the automatic save of changes to a file after ten
minutes of keyboard in-activity. The ten minute delay is
configurable with the VALUE AUTOSAVE-MINUTES. The default mode
is AUTOSAVEON. See also AUTOSAVEOFF.
AUTOSAVEOFF ( --- ) SEDITOR
Disable the automatic saving of changes after a period of
keyboard in-activity. You can walk away from the keyboard
forever and the editor will NEVER automatically save your
changes.
AUTOSAVE-MINUTES ( --- n1 ) SEDITOR
A VALUE which returns the number of minutes SED will wait after
the last keystroke before automatically saving any changes you
may have made to the current edit file.
B ( --- ) VIEW
Backup 16 lines in current file and display a section of the
file.
B/FNAM HIDDEN
B/HCB ( --- n1 ) pronounced bytes per handle control block
HANDLES
A CONSTANT that returns the number of byte used to make a
handle with the HANDLE word.
B>SEC ( D1 - N1 ) TIMER
Convert the BINARY time d1 to seconds. Overflows at 18 hours.
B>T ( d1 --- d2 ) TIMER
Convert the d1 BINARY time value to d2 the DOS time format.
BACK-UP FORTH
BACKSPACES ( n1 --- ) KERNEL2
Send a set of Backspaces to the terminal.
BACKUPOFF ( --- ) EDITSTUF
Turn off the feature of SED to automatically create backup
copies of your files when you start an edit. You will be
editing the original and ONLY copy of your file, and will NOT
be able to go back to the previous edited version of a file you
change. This switch is normally used only when working on
floppys where there is no room for a backup copy.
BACKUPON ( --- ) EDITSTUF
Enable the feature of SED to automatically create backup copies
of your files when you start an edit. This is the normal mode,
and allows you to go back to the previous edited version of a
changed file if a serious error occurs.
BADMOUSE HIDDEN
BASE ( --- a1 ) KERNEL2
The current numeric base for number input output.
BCR ( --- ) BOXTEXT
pronounced box carraige return.
After creating a box on the screen with BOX&FILL, the cursor is
placed automatically on the first empty line inside the box.
This word places the cursor down one line and to the left edge
inside the box once for each time it is performed. here is an
example:
: TESTBOX ( --- ) 20 06
40 10 BOX&FILL
." This is displayed on the first line." BCR
." This is on the second line." BCR
." This is on the third line of the box." ;
BDOS ( n1 func# --- al ) KERNEL2
Load up the registers and do a DOS system call. return the
result placed in the A register on the stack.
BDOS2 FORTH
BEEP ( --- ) KERNEL2
Ring the bell on the terminal by emiting the value 7.
BEEPDURATION FORTH
BEEPFREQ FORTH
BEGIN ( -- ) KERNEL3
Used in the form BEGIN ... AGAIN,
or BEGIN ... flag UNTIL,
or BEGIN ... flag WHILE ... REPEAT
BEHEAD FORTH
BEHEADABLE FORTH
BELL ( --- c1 ) KERNEL2
Return the value 7, an Ascii BELL char.
BETWEEN ( n1 n2 n3 --- f1 ) KERNEL1
Return true if n2 <= n1 <= n3, otherwise false.
BGSTUFF ( --- ) KERNEL2
A DEFERed word chain, that contains operations that need to be
performed periodically while waiting for a key from the
keyboard. Words included in the chain must preserve and restore
the stacks to the state they found them prior to their
execution. Words in the chain must also return quickly to
prevent excessive delays in user response.
BIG-CURSOR ( --- ) IBMCURSR
Set the cursor to a block cursor.
BIOSBKSAVE FORTH
BIOSCHAR ( --- a1 ) KERNEL2
A VARIABLE that holds the keycode and scancode of the most
recent BIOSKEY?.
BIOSKEY ( --- n1 ) KERNEL2
Wait for a key to be pressed on the keyboard, and return the
key as n1 containing the ascii code in the lower byte and the
scan clde in the upper byte.
BIOSKEY? ( --- f1 ) KERNEL2
Returns a true flag if a key has been pressed and is waiting to
be picked up. You can in effect look ahead at the key by
looking at the variable BIOSCHAR which holds the scanned key
that is waiting.
BIOSKEYVAL ( --- a1 ) KERNEL2
A VARIABLE that holds the actual bois key value returned on the
most recent BIOSKEY operation. This value contains both the
ascii value and the scancode for the key.
BL ( --- c1 ) KERNEL2
Return hex 20, decimal 32 the value of an Ascii space.
BLACK ( --- n1 ) COLOR
A CONSTANT that returns the value for color black used on a
color monitor.
BLACK-ON-WHITE ( --- ) MONOCROM
Select BLACK characters on a WHITE background rather than the
normal WHITE on BLACK. This is mostly useful for true white
phosphor monitors.
BLANK ( a1 n1 --- ) KERNEL2
Fill the string with blanks
BLANK.COLOR FORTH
BLANKING FORTH
BLANKOFF ( --- ) SAVESCR
Disable blanking when typing to the display in fast mode on a
color monitor. The CGA board needs blanking to reduce the snow
effect, but EGA/VGA do not.
BLANKON ( --- ) SAVESCR
Enable blanking when typing to the display in fast mode on a
color monitor. The CGA board needs this to reduce the snow
effect, but EGA/VGA do not.
BLINE HIDDEN
BLUE ( --- n1 ) COLOR
Return the color value for BLUE.
BODY> ( pfa -- cfa ) KERNEL3
Go from body address pfa to code field address cfa.
BOOT ( --- ) KERNEL4
The very first high level word executed during cold start.
BOUNDS ( a1 n1 --- a2 a3 ) KERNEL1
Given address a1 and length n1, return a2 and a3 the boundry
addresses for DO ... LOOP.
BOX ( x y x' y' --- ) BOXTEXT
Draws a box like BOX&FILL, but does not fill the box with
blanks. See also BOX&FILL.
BOX&FILL ( x y x' y' --- ) BOXTEXT
Draw a box on the screen from x,y the top left, to x',y' the
lower right and clear the inside to blanks. the cursor is then
placed in the upper left corner of the box in preperation for a
." . Use BCR to perform a BOX CR down and to the left edge of
the box for the next line.
BRANCH ( --- ) KERNEL1
Performs an unconditional branch. Notice that we are using
absolute addresses insead of relative ones. (fast)
BREAK FORTH
BROWN ( --- n1 ) COLOR
Return the color value for BROWN.
BROWSE FORTH
BS ( --- c1 ) KERNEL2
Return the value 8, an Ascii Back Space.
BS-IN FORTH
BUFSIZE-INIT FORTH
BUG ( --- ) VOCABS
vocabulary stack -> ( voc1 voc2 -- bug voc2 | current = ? )
The BUG vocabulary, sets CONTEXT to BUG when executed.
BUILD-DATE FORTH
BUILD-HM FORTH
BUILD-SH FORTH
BUILD-TIME FORTH
BX HIDDEN
BY HIDDEN
BYE ( -- ) KERNEL4
Returns control to DOS. Performs the defered word BYEFUNC
before actually leaving.
BYEFUNC ( --- ) KERNEL4
A defered word which normally contains NOOP, provided wo you
can specify a function to be performed before leaving back to
DOS.
BYTES_SRCH HIDDEN
C! ( b1 a1 --- ) KERNEL1
Store 8 bit value b1 at address a1.
C!L ( b1 seg a1 --- ) KERNEL2
Store the 8 bit value b1 into the long address specified by seg
and a1.
C+! ( b1 a1 --- ) KERNEL1
Increment the byte value at a1 by n1. This is equivalent the
following: "DUP C@ ROT + SWAP C!" but much faster.
C, ( char -- ) KERNEL3
Compile the 8 bit value char into the CODE area. The next
available byte location is used as specified by DP, and DP is
then incremented. Same as , except uses an 8-bit value.
C.ID FORTH
C@ ( a1 --- b1 ) KERNEL1
Fetch the 8 bit value b1 from addrress a1.
C@L ( seg a1 - b1 ) KERNEL2
Push the 8 bit value b1 located at the long address specified
by seg and a1.
CALLS ( | <name> --- ) REF
An ALIAS for REF.
CAPS ( --- a1 ) KERNEL2
If true, then convert names to upper case
CAPS-COMP ( a1 a2 n1 --- f1 ) KERNEL2
The code on this screen handles the case where case is not
significant. Each character is converted to upper case before
the comparison is made. Thus, lower case a and upper case A
are considered identical.
CASE ( -- ) CASE
Start a CASE statment, as follows:
CC-REST HIDDEN
CC-SAVE HIDDEN
CCR FORTH
CD ( | <filespec> --- ) EXEC
A pseudonym for CHDIR. See also CHDIR.
CDATE FORTH
CFA_VIEW FORTH
CFGHNDL FORTH
CHAR FORTH
CHARBUTTON FORTH
CHARCOL FORTH
CHARLINE FORTH
CHARREAD ( --- c1 ) SEQREAD
Read a character c1 from the current file.
CHCOL FORTH
CHDIR ( | <filespec> --- ) EXEC
Change the directory to the directory specified by filespec.
CHROW FORTH
CLEARMEM HIDDEN
CLEAR_LABELS FORTH
CLOSE ( --- ) SEQREAD
A pseudonym for SEQDOWN. See also SEQDOWN.
CLOSEALL FORTH
CLR-COLON HIDDEN
CLR-CONSTANT HIDDEN
CLR-DEFER HIDDEN
CLR-HCB ( a1 --- ) HANDLES
Clear the handle a1 to empty, it is erased and marked as a
closed file.
CLR-OTHER HIDDEN
CLR-UDEFER HIDDEN
CLR-UVARIABLE HIDDEN
CLR-VALUE HIDDEN
CLR-VARIABLE HIDDEN
CLS ( --- ) UTILS
An ALIAS for DARK.
CMDBUF HIDDEN
CMDLEN HIDDEN
CMDPATH HIDDEN
CMOVE ( a1 a2 n1 --- ) KERNEL1
Move a set of bytes from the from address to the to address.
The number of bytes to be moved is count. The bytes are moved
from low address to high address, so overlap is possible and in
fact sometimes desired.
CMOVE> ( a1 a2 n1 --- ) KERNEL1
The same as CMOVE above except that bytes are moved in the
opposite direction, ie from high addresses to low addresses.
CMOVEL ( sseg sptr dseg dptr cnt -- ) KERNEL2
Move the character block long from source seg sseg and sptr, to
destination seg dseg and dptr for length count.
CMOVEL> ( from-seg from-offset to-seg to-offset length --- ) KERNEL2
Move length of data from from-seg and from-offset to to-seg and
to-offset. If the move crosses a 64k segment boundry the
results are UN-PREDICTABLE.
CNHASH ( cfa -- ya ) KERNEL3
Given CFA, get pointer into >NAME hash table in YSEG.
CNSRCH ( cfa ya maxya -- nfa failf ) KERNEL3
Search for CFA between YA and MAXYA in YSEG. Return NFA and
failure flag.
CNT ( --- a1 ) DEBUG
How many times thru debug next
CODE ( | <name> --- ) PASM
Define <name> as a new code definition. Assembly language
follows, terminated by END-CODE.
CODECOLOR HIDDEN
COLD ( -- ) KERNEL4
The high level cold start code. For ordinary forth, BOOT should
initialize and pass control to QUIT.
COLONCOLOR HIDDEN
COLOR-CLASS HIDDEN
COLOR-INFO FORTH
COLORIZEON FORTH
COLORIZEOFF FORTH
COLORIZE-INIT FORTH
COLORIZE FORTH
COLORSET FORTH
COLS ( --- n1 ) VIDEO
A VALUE initialized at boot time that returns the number of
screen columns on the current display, typically in the range
40 to 132. Normally 80, but you should use this value along
with ROWS to make your applications forgiving of other display
modes.
COLSEG HIDDEN
COMMAND.BUF FORTH
COMMENT$ FORTH
COMMENT: ( --- ) COMMENT
Start a multi-line comment. Patches <comment:> into RUN, it
then reads and throws away lines until "comment;" is
encountered.
COMP ( a1 a2 n1 --- f1 ) KERNEL2
This performs a string compare. If the two strings are equal,
then COMPARE returns 0. If the two strings differ, then
COMPARE returns -1 or +1. -1 is returned if string 1 is less
than string 2. +1 is returned if string 1 is greater than
string 2. All comparisons are relative to ASCII order.
COMPARE ( a1 a2 n1 --- f1 ) KERNEL2
Performs a string compare. If CAPS is true, characters from
both strings are converted to upper case before comparing.
COMPILE ( | <name> -- ) KERNEL3
Compile the (typically not-immediate) following word <name>
when this definition executes. Name is later compiled into the
LIST dictionary space.
COMSPEC$ ( --- a1 ) ENVIRON
The handle used to hold the COMSPEC string. I.e. COMMAND.COM
COMSPEC@ ( --- ) ENVIRON
Read the environment string, and extrac the COMSPEC parameter.
the COMSPEC is inserted in the COMSPEC$ handle.
CONHNDL ( --- a1 ) SEQREAD
The handle used to send characters to the console when DOS I/O
is being used.
CONSOLE ( c1 --- ) KERNEL2
Send character c1 to the console display.
CONSOLEL FORTH
CONSTANT ( n1 | <name> -- ) KERNEL3
A defining word that creates constants. At runtime the value of
the constant is placed on the stack.
CONSTANTCOLOR HIDDEN
CONTEXT ( --- a1 ) KERNEL2
The array specifying the search order.
CONTEXTONLY FORTH
CONTINUE FORTH
CONTROL ( <char> -- n1 ) KERNEL3
Compile the next character in the input stream as a literal
ASCII Control Character.
CONTYPEL FORTH
CONVERT ( +d1 a1 --- +d2 a2 ) KERNEL2
Starting with the unsigned double number ud1 and the string at
adr1, convert the string to a number in the current base. Leave
result and address of unconvertable digit on stack.
COPY ( <filespec> --- ) EXEC
Perform a DOS COPY with the filespec following the COPY
command.
COUNT ( a1 --- a2 n1 ) KERNEL2
Given the address on the stack, returns the address plus one
and the byte at that address. Useful for strings.
COUNTL FORTH
CR ( --- ) KERNEL2
Typically set to CRLF, above. PR-STAT Return printer status, if
implemented, else TRUE (PRINT) The value of the DEFERRED word
EMIT when you want to send a character to the printer.
CR-IN FORTH
CRASH ( -- ) KERNEL3
Default routine called by execution vectors.
CREATE ( | <name> -- ) KERNEL3
Make a header for the next word in the input stream.
CRESET ( n1 a1 --- ) KERNEL1
Set the contents of a1 so the the bits that are 1 in n1 are
zero in addr. Equivalent to DUP C@ ROT NOT AND SWAP C!
CRLF ( --- ) KERNEL2
Sends a carriage return line feed sequence.
CRLF>BL'S FORTH
CROWS ( --- n1 ) VIDEO
A VALUE initialized at boot time that returns the number of
cursor rows for a character. Used by the system when setting
the NORMAL or BIG cursor.
CRTAB ( --- ) DECOM
Do a carraige return and a TAB of the current TABSIZE.
CRUNSAVE FORTH
CSET ( n1 a1 --- ) KERNEL1
Set the contents of a1 so that the bits that are 1 in n1 are
also 1 in addr. Equivalent to DUP C@ ROT OR SWAP C!
CSP ( --- a1 ) KERNEL2
Used for compile time error checking.
CTIME FORTH
CTOGGLE ( a1 n1 --- ) KERNEL1
Flip the bits in a1 by the value n. Equivalent to DUP C@ ROT
XOR SWAP C!
CTRLBKSAVE FORTH
CURFL HIDDEN
CURFLSAVE HIDDEN
CURMAC HIDDEN
CURPOINTER ( handle --- double-current ) SEQREAD
Return the double-current offset into file handle.
CURRENT ( --- a1 ) KERNEL2
New words are added to the CURRENT vocabulary.
CURSOR-ON ( --- ) IBMCURSR
Turn the cursor back on.
CURSOR-OFF ( --- ) IBMCURSR
Turn off the cursor.
CURSORSET FORTH
CURSOR_POS_INIT FORTH
CUT/COPY_FILE FORTH
CYAN ( --- n1 ) COLOR
Return the color value of CYAN.
D+ ( d1 d2 --- d3 ) KERNEL1
Add the two double precision numbers on the stack and return
the result as a double precision number.
D+! FORTH
D- ( d1 d2 --- d3 ) KERNEL1
Subtract the two double precision numbers.
D. ( d1 --- ) KERNEL2
Output as a signed double number with a trailing space.
D.2W FORTH
D.M.Y ( --- ) TIMER
Select the date format Day.Month.Year for all calendar
operations.
D.R ( d1 n1 --- ) KERNEL2
Output as a signed double number right justified.
D0= ( d1 --- f1 ) KERNEL1
Compare the top double number to zero. True if d = 0
D2* ( d1 --- d2 ) KERNEL1
32 bit left shift.
D2/ ( d1 --- d2 ) KERNEL1
32 bit arithmetic right shift. Equivalent to divide by 2.
D: ( --- ) KERNEL4
Select drive A:, B:, C:, or D: as the default drive.
D< ( d1 d2 --- f1 ) KERNEL1
Compare the top two double numbers. True if d1 < d2
D= ( d1 d2 --- f1 ) KERNEL1
Compare the top two double numbers. True if d1 = d2
D> ( d1 d2 --- f1 ) KERNEL1
Compare the top two double numbers. True if d1 > d2
DABS ( d1 --- d2 ) KERNEL1
Return the absolute value of the 32 bit integer on the stack
DARK ( --- ) UTILS
Clear the screen to black or white depending on the display
mode. See also BLACK-ON-WHITE, and WHITE-ON-BLACK.
DBG ( | <name> --- ) DEBUG
Start debugging the word following DBG immediately. See also
DEBUG.
DBG.S FORTH
DBGBL HIDDEN
DBOFF FORTH
DBSEG FORTH
DEALLOC ( n1 --- f1 ) KERNEL2
De-allocate the DOS memory area specified by absolute segment
n1. Returns f1 false if all went well, else f1 is an error
code. N1 must be the value passed to Forth when the memory
array was originally allocated.
DEBNEXT FORTH
DEBUG ( | <name> --- ) DEBUG
Look up the word following DEBUG, and make it the next word to
be debugged.
DEBUGABLE ( --- ) DBGFIX
Convert the kernel from inline NEXT to a central NEXT right now
at runtime. This is done in preperation for running the
debugger, and is made possible by using a simple form of
pattern recognition.
DECIMAL ( --- ) KERNEL2
All subsequent numeric IO will be in Decimal.
DECIMALBASE FORTH
DECOMSEG@ HIDDEN
DECOMSEG HIDDEN
DECR ( a1 -- ) KERNEL1
Decrement the word at the specified address by 1.
DECR> ( | <name> -- ) EQUCOLON
Decrement the body of <name> by one, used to modify the
following VALUE or VARIABLE.
DEF-RWMODE FORTH
DEFAULT ( --- ) KERNEL2
Opens the default file per the execute line. This does nothing
if no file was given.
DEFAULT-LIST FORTH
DEFAULT-BAR FORTH
DEFAULT-MCOLUMN FORTH
DEFAULT-MLINE FORTH
DEFAULTSTATE ( --- ) UTILS
Set the system state to the default values. The effected
variables are BASE, CAPS, TABSIZE, LMARGIN, and RMARGIN.
DEFBASE FORTH
DEFBUTTON HIDDEN
DEFCFA FORTH
DEFDIRSPEC$ HIDDEN
DEFER ( | <name> -- ) KERNEL3
Define a vectored execution word. These are initially set to
display an error message. They are initialized with IS.
DEFERCOLOR HIDDEN
DEFERS ( <name> --- ) DEFERS
installs the contents of a defered word in the current
definition being defined. This is used to build a chain of
words to be performed.
DEFEXT ( --- a1 ) HANDLES
An array holding the default extention "SEQ".
DEFINED ( -- here 0 | a1 false )KERNEL3
Look up the next word in the input stream. Return true if it
exists, otherwise false. Maybe ignore case.
DEFINITION-CLASS HIDDEN
DEFINITIONS ( -- ) KERNEL3
Subsequent definitions will be placed into CURRENT.
DEFMENU FORTH
DEFSAVE FORTH
DEL ( <filespec> --- ) EXEC
Delete the files specified by filespec.
DEL-IN FORTH
DELFL HIDDEN
DELIMITER FORTH
DEPTH ( -- n1 ) KERNEL4
Returns the number of items on the parameter stack.
DFILE$ FORTH
DIDPFA HIDDEN
DIGIT ( ??? ) KERNEL2
Returns a flag indicating whether or not the character is a
valid digit in the given base. If so, returns converted value
and true, otherwise returns char and false.
DIR ( <filespec> --- ) EXEC
Pass the filespec following DIR to DOS and print a directory of
the matching filespecs.
DIR.NAME HIDDEN
DIR>PAD HIDDEN
DIRATTRIB HIDDEN
DIRHNDL HIDDEN
DIRINIT HIDDEN
DIRROW HIDDEN
DIRSEG HIDDEN
DIRSPEC$ HIDDEN
DISK-ERROR FORTH
DIV0FUNC ( -- ) KERNEL4
FF traps divide by 0 errors, and calls this defered word when
such an error is detected. You can change the contents of this
defered words to handle divide by 0 errors in your own program.
DIV0SAVE FORTH
DIV0STRT ( -- ) KERNEL4
The default function to perform when a DIVIDE by 0 trap occurs.
This routine aborts. A divide by 0 trap calls DIV0FUNC, which
defers to this routine.
DIVIDE0 ( status_reg CS IP AX BX CX DX SI BP -- ) KERNEL4
The actual entry point from the divide by 0 trap, this word
just calls the deferd word DIV0FUNC. Normally the registers on
the stack are just discarded, but you can install your own
routine into DIV0FUNC to handle the divide by 0 error.
DKGRAY ( --- n1 ) COLOR
Returns the color for DARK GRAY. Blinks in Background.
DLEN HIDDEN
DLITERAL ( d# -- ) KERNEL3
Compile the double integer from the stack as a literal.
DLN ( a1 --- ) DUMP
Dump a line, consisting of 16 bytes of hex data followed by 16
bytes of ascii data.
DMAX ( d1 d2 --- d3 ) KERNEL1
Return the greater of the the top two double numbers.
DMIN ( d1 d2 --- d3 ) KERNEL1
Return the lesser of the top two double numbers.
DNEGATE ( d1 d2 --- d3 ) KERNEL1
Same as NEGATE except for double precision numbers.
DNEXT FORTH
DO ( limit start -- ) KERNEL3
Initialize a loop structure with index running from start to
limit-1. Used in the form DO ... LOOP or DO ... +LOOP
DO-DOS FORTH
DOAGAIN FORTH
DOANY HIDDEN
DOASSEM FORTH
DOBDEL HIDDEN
DOBEGIN FORTH
DOBUTTON FORTH
DOCASE FORTH
DOCOMPILE FORTH
DODOWN HIDDEN
DOEND HIDDEN
DOENDCASE FORTH
DOENDOF FORTH
DOERROR FORTH
DOES> ( -- ) KERNEL3
Specifies the run time of a defining word in high level Forth.
DOES? FORTH
DOESCOLOR HIDDEN
DOFDEL HIDDEN
DOFHELP FORTH
DOFUNC FORTH
DOHOME HIDDEN
DOINS HIDDEN
DOKEY HIDDEN
DOLDEL HIDDEN
DOLEFT HIDDEN
DOLF HIDDEN
DOLISTING FORTH
DOLWORD HIDDEN
DONE ( --- ) EDITSTUF
A word that re-enables full screen scrolling if you have left
the editor with a smaller edit window thereby invoking a
sub-screen scroll. If you don't understand this, try making
the edit window several lines smaller with Alt-S-W, then leave
the editor and notice that only the area below the editor
window scrolls.
DONE? ( n1 -- f1 ) KERNEL3
True if the input stream is exhaused or state doesn't match.
DONFILE HIDDEN
DOOTHER FORTH
DOPGDN HIDDEN
DOPGUP HIDDEN
DOREPEAT FORTH
DORET HIDDEN
DORIGHT HIDDEN
DORWORD HIDDEN
DOS-LINE ( --- a1 ) DEFAULT
The address of where the DOS command line resides.
DOS>TIB ( --- ) DEFAULT
Move the DOS command line to the Terminal Input Buffer.
DOSVER ( --- n1 ) KERNEL2
Get DOS version number from DOS, and return it as N1.
DOTAB HIDDEN
DOTHEN FORTH
DOUBLE? ( --- f1 ) KERNEL2
Returns non-zero if period was encountered.
DOUP HIDDEN
DOWDEL HIDDEN
DO\CHAR FORTH
DP ( --- a1 ) KERNEL2
Size of dictionary. Next available location.
DPL ( --- a1 ) KERNEL2
The decimal point location for number input.
DPSAVED FORTH
DPSTART FORTH
DRIVE? ( --- n1 ) UTILS
Displays the current disk drive in the form A:, B:, C: etc.
DROP ( n1 --- ) KERNEL1
Throw away the top element of the stack.
DROP.CONTEXT.I2*+@DUP FORTH
DSBUF FORTH
DTBUF ( --- a1 ) TIMER
A buffer used by .DATE and .TIME to build their messages in,
prior to displaying them.
DU ( a1 -- addr+64 ) DUMP
Dump another 4 lines (64 bytes).
DU< ( d1 d2 --- f1 ) KERNEL1
Performs unsigned comparison of two double numbers.
DUMMYCRS HIDDEN
DUMP ( A1 N1 --- ) DUMP
Dump an area of the Code segment.
DUMP ( a1 len -- ) KERNEL4
A primitive little dump routine to help you debug after you have
changed the system source and nothing works any more.
DUMPC@ FORTH
DUMPSEG FORTH
DUMY$ FORTH
DUP ( n1 --- n1 n1 ) KERNEL1
Duplicate the top element of the stack.
DUP>R ( n1 --- n1 ) KERNEL1
Duplicates the value on the parameter stack and pushes it onto
return stack. It is dangerous to use this randomly!
E FORTH
ECURSOR HIDDEN
ED ( --- ) TOPEDIT
Enter the editor on the most recent edit line. See also EDITOR
EDIT ( n1 --- ) TOPEDIT
Enter the editor on the current file at line n1. See also
EDITOR
EDITAFILE FORTH
EDITALL FORTH
EDITBUF HIDDEN
EDITFILE FORTH
EDITOR ( --- ) EDITSTUF
The vocabulary that contains all of the editor words. Normally
you use "line# EDIT", "SED filename" or just "ED" to start the
editor.
EDONE HIDDEN
EEOL ( --- ) UTILS
Erase the current line to the end of the line.
EFL HIDDEN
EH512Z FORTH
EHADR FORTH
EHCKSM FORTH
EHLMRV FORTH
EHMT FORTH
EHSP FORTH
EHZ FORTH
ELSE ( --- ) KERNEL3
Used in the form: ? IF <true> ELSE <false> THEN. If flag ? is
false, branches forward to <false>.
EMIT ( c1 -- ) KERNEL2
A defered word which sends a character to the output device.
EMIT. ( char -- ) DUMP
Emit an ascii character char. If the char is not printable then
print a ".".
EMPTY ( --- ) EDITERR
A word defined with MARK, that cleans out the dictionary back
to when EMPTY was defined. All segments are reset. USE CAUTION
when changing DEFERed words, as EMPTY does not know about them,
and will cause a crash if you empty back to before a needed
word used in a DEFERed word.
END? ( --- a1 ) KERNEL2
True if input stream exhausted, else false.
ENDCASE ( -- ) CASE
See CASE.
ENDFILE ( handle --- double-end ) HANDLES
Return the double-end pointer for the file open in handle, also
sets the pointer to the end of the file. Useful for finding the
end of a file, and for appending to the end of a file.
ENDMENU ( a1 n1 --- ) MENUS
Resolves the building of a new menu. See NEWMENU.
ENDOF ( -- ) CASE
See CASE.
ENTRY ( --- a1 ) KERNEL2
Jumped to during multitasking.
ENVSIZE ( --- n1 ) ENVIRON
Calculate n1 the size of the environment in bytes, clipped to
about 31k bytes.
EQUIT HIDDEN
ERASE ( a1 n1 --- ) KERNEL2
Fill the string with zeros
ERRFIX FORTH
ES0 ( --- a1 ) KERNEL2
ES register initial segment.
ESC-IN FORTH
EVEN ( -- ) KERNEL3
Makes the top of the stack an EVEN number. A noop on the 8086.
EVSEG ( --- n1 ) ENVIRON
Return n1 the value of the environment segment.
EX HIDDEN
EXCUT FORTH
EXEC.PARAM HIDDEN
EXEC: ( n1 -- ) KERNEL1
Execute the n-th word following the word EXEC: in a high level
definition.
EXECUTE ( a1 --- ) KERNEL1
Execute the word whose code field is on the stack. Very useful
for passing executable routines to procedures!!!
EXECUTION-CLASS HIDDEN
EXEHCB ( --- a1 ) SAVEEXE
A handle for use while saving an .EXE file.
EXHREAD ( a1 n1 handle seg1 --- n2 ) HANDLES
Read from the file specified by handle to the extended segment
area specified by seg1, a1 for length n1. Returns n2 the length
actually read.
EXHWRITE ( a1 n1 handle seg1 ---) HANDLES
Write from memory a1,n1 in segment seg1 to the file specified
by handle.
EXIT ( --- ) KERNEL1
Pop an entry off the return stack and place it into the
Interpretive Pointer. Terminates a Hi Level definition.
EXPECT ( a1 n1 --- ) KERNEL2
A DEFERed word. Get a string from the terminal and place it in
the buffer provided. Performs a certain amount of line
editing. Saves the number of characters input in the Variable
SPAN. Processes control characters per the array pointed to by
CC.
EXPORT FORTH
EXPORT$ FORTH
EXTCHAR@ FORTH
EXTCHARSEG FORTH
EXTROWS FORTH
EY HIDDEN
F1 FORTH
FALLOF ( func | file_specs --- ) FWORDS
A generalized function. By setting the defered word DONFILE, a
function can be performed on all files matching the filespec
the user has given. See FLOOK, INDEX, and FPRINT for examples
of how to use this word.
FALSE ( --- f1 ) KERNEL1
This word was brought to you by CONSTANTS FOR CLARITY.
FAST ( --- ) QVIDEO
Select the fast screen output routines.
FBX HIDDEN
FCB>HANDLE ( a1 a2 --- ) HANDLES
Copy the file <name> and extention from the specified FCB a1 to
handle a2.
FEMIT ( c1 --- ) KERNEL2
A FAST EMIT, uses TYPE to display the character c1. FEMIT
weill not respond to control characters such as CR, LF or FF,
They will be displayed as their graphic character equivelant.
FENCE ( --- a1 ) KERNEL3
The limit address for forgetting. Words defined below FENCE
may not be forgotten.
FHELP FORTH
FILE ( | <name> --- ) SEQREAD
Select ,name> as the current file for listing, loading or
editing. Any file already open is closed first.
FILE-LINE_VIEW FORTH
FILE>TIB ( a1 --- ) SEQREAD
Move the counted dtring a1 into the terminal input buffer. The
string is checked for an extension, if none is found, an
decimal point is added to the string.
FILEPOINTER ( --- a1 ) SEQREAD
32 bit variable holding the file pointer of the most recent
1read.
FILEPRINT ( | <name> --- ) PRINT
All printing is to goto diskfile <name>. No extention is added
to <name>.
FILES ( --- ) KERNEL1
The vocabulary that contains the names of all files loaded into
F-PC.
FILES_SET HIDDEN
FILES_SRCH HIDDEN
FILL ( a1 n1 c1 --- ) KERNEL2
FILL the string starting at a1 for count n1 bytes with the
character c1. Both BLANK and ERASE are special cases of FILL.
FILLBUFF ( --- ) SEQREAD
Does an unconditional refill of the disk read buffer. The
current buffer contents is not over written, but new data is
read into the end of the buffer to fill it up if there is more
data to read.
FILLTIB ( --- ) SEQREAD
Does an unconditional refill of the terminal input buffer by
reading the next line, and setting up TIB to point to that
line.
FIND ( a1 -- cfa flag | a1 false ) KERNEL3
Run through the vocabulary list searching for the name whose
address is supplied on the stack. If the name is found, return
the code field address of the name and a non-zero flag. The
flag is -1 if the word is non-immediate and 1 if it is
immediate. If the name is not found, the string address is
returned along with a false flag.
FINDFIRST ( string --- f1 ) HANDLES
Begin a search for files specified by filespec string. String
is a null terminated un-counted string. F1 returned indicates
whether any files matched. The found file is placed in the Data
Transfer Area (DTA). USE CAUTION, not to change either the DTA
or the buffer filled in by FINDFIRST.
FINDINLINE HIDDEN
FINDNEXT ( --- f1 ) HANDLES
Continue the file search for a specified string. Returns the
boolean f1 true if another match was found. USE CAUTION, not to
change either the DTA or the buffer filled in by FINDFIRST, as
this function relys on that information.
FIND_LETTER HIDDEN
FIRST ( --- a1 ) KERNEL2
A system constant that retuns a useless value in F-PC. It is
useless because it is only 10 bytes lower than LIMIT.
FIXCUR? HIDDEN
FIXINLINE HIDDEN
FL ( | <name> --- ) SEQREAD
An ALIAS for FILE.
FLHNDL ( --- a1 ) PATHSET
A VALUE that returns the address of the handle we are working
with.
FLIP ( n1 --- n2 ) KERNEL1
Exhange the hi and low halves of a word.
FLITEM HIDDEN
FLOAD ( | <name> --- ) SEQREAD
load the file <name>. this is nestable.
FLOOK ( search_string file_specs --- ) FWORDS
Search all files in file_spec for search_string. Print each
occurance found to the display with a line number.
FNEXT FORTH
FOFF HIDDEN
FOFF+ HIDDEN
FOFFSAVE HIDDEN
FOR FORTH
FORGET ( | <name> -- ) KERNEL3
Forget all of the code and headers before <name>. FORGET must
be used with caution, if you are using DEFERS or UDEFERS,
FORGET will not know about these chains, so they must be
unlinked before using FORGET or disaster WILL strike.
FORGX HIDDEN
FORGY HIDDEN
FORM-DATE ( d1 --- a1 ) TIMER
Build the ascii string of the current DOS DATE d1 in the DTBUF
(Date/Time buffer) and return its address.
FORM-FEED ( --- ) UTILS
Print a form feed character.
FORM-TIME ( d1 --- a1 ) TIMER
Build the ascii string of the current DOS TIME d1 in the DTBUF
(Date/Time buffer) and return its address.
FORTH ( --- ) KERNEL1
The FORTH vocabulary, where most user words can be found. All
of the words in this glossary are in the FORTH vocabulary.
FORWARD FORTH
FPATH FORTH
FPATH$ FORTH
FPATH+ FORTH
FPRINT ( file_specs --- ) FWORDS
Print listing files of all files that match the file_specs
included on the line following FPRINT.
FSAVE ( | <name> --- ) SAVEEXE
A pseudonym for SAVE-EXE
FSAVE$ FORTH
FSTIME HIDDEN
FUDGE ( --- a1 ) BUFSET
A VARIABLE used to determine the speed of MS. Calibrated at
boot time to the speed of your computer.
FUNCARRAY HIDDEN
GET-CURSOR ( --- SHAPE ) IBMCURSR
Get the cursor shape mask SHAPE.
GET-FILESPECS FORTH
GETDATE ( --- Y MD ) TIMER
Get the DOS format double date.
GETDIR HIDDEN
GETFILE FORTH
GETINPFILE FORTH
GETMOUS HIDDEN
GETTIME ( --- HM Sh ) TIMER
Get the DOS format double time.
GET_ALINE ( --- ) SEQREAD
get a line of text from the current file, and place it in the
output buffer.
GFL ( | <name> --- ) SEQREAD
Looks at the input stream, if a name is waiting, then continue,
but if no name is waiting, the pop up a window display and
allow the user to pick from a file in the window.
GLOBAL_REF FORTH
GO ( a1 --- ) KERNEL1
Execute code at the given address.
GOTO FORTH
GOTOFL HIDDEN
GRAPHCHAR FORTH
GRAPHICCHAR FORTH
GREEN ( --- n1 ) COLOR
Return the color value for GREEN.
H FORTH
H-PVOC HIDDEN
H-STATE HIDDEN
H. ( u -- ) KERNEL4
Display the unsigned number in hex, with trailing blank. Does
not change the number base.
HANDLE ( | <name> --- ) HANDLES
Creates an array/handle for name, which holds the files
attributes, handle number, and null terminated name.
HANDLE>EXT ( a1 --- a2 ) HANDLES
Moves the address from the handle to the decimal point in the
filename, if it exists. Otherwise it steps to the null
immediately following the filename.
HASH ( str-addr voc-ptr -- thread ) KERNEL3
Using the str-addr and the vocabulary address to determine the
address thread in the vocabulary that the name should go into.
HAVEMOUSE HIDDEN
HCLOSE ( handle --- f1 ) HANDLES
Close the file specified by handle, return boolean f1 non-zero
if an error occured.
HCREATE ( handle --- error-code ) HANDLES
Create the file specified in handle, if the file already
exists, then it is ZEROed !! Returns zero if no error occured.
HDEFAULT ( -- ) DEFAULT
Open a file specified on the comand line at startup.
HDELETE ( handle --- f1 ) HANDLES
Delete the file specified by handle, return boolean f1 non-zero
if an error occured.
HDOS1 ( cx dx fun -- ax cf | error-code 1 ) HANDLES
Define a dos call assembly word, which is later used by HOPEN
and HCREATE.
HDOS3 FORTH
HDOS4 FORTH
HDSTSCHR FORTH
HEADER ( | <name> -- ) KERNEL3
Creates a NAME header in HEAD space, but compiles absolutely
nothing in CODE space. The head created, does point at HERE
though.
HEADERLESS FORTH
HEADERS FORTH
HELLO ( --- ) HELLO
Cold start initialization for F-PC.
HELP ( | <name> --- ) VIEW
VIEW is followed on the same line by name. Display a help file
entry for the <name> specified.
HERE ( --- a1 ) KERNEL2
Return the address of the top of the dictionary
HEX ( --- ) KERNEL2
All subsequent numeric IO will be in Hexadecimal.
HEXBASE FORTH
HFIND FORTH
HIDDEN ( --- ) VOCABS
vocabulary stack -> ( voc1 voc2 -- hidden voc2 | current = ? )
The HIDDEN vocabulary, sets CONTEXT to HIDDEN when executed.
HIDE ( -- ) KERNEL3
Removes the Last definition from the Header Dictionary.
HIDE.MOUSE FORTH
HIDE.MS HIDDEN
HIDELINES ( --- ) SEQREAD
Turn off listing of lines while loading.
HLD ( --- a1 ) KERNEL2
Points to a converted character during numeric output.
HNDLOFFSET FORTH
HNDLS ( --- a1 ) SEQREAD
an array of handles, holds 5 handles in a stack. Used by
SEQHANDLE, SEQHANDLE+, and FLOAD.
HOLD ( c1 --- ) KERNEL2
Save the char for numeric output later.
HOPEN ( handle --- error-code ) HANDLES
Open the file specified in handle, return error-code zero if
the file was opened properly.
HOURS ( N1 --- ) TIMESTUF
Wait for n1 hours. Performs PAUSE and PAUSE-FUNC constantly
while its waiting.
HREAD ( a1 n1 handle --- n2 ) HANDLES
Read from a file specified by a handle to a1,n1 in the code
segment. Returns n2 the length actually read.
HRENAME ( handle1 handle2 --- return-code ) HANDLES
Change the name of the file specified in handle1 to the name
specified in handle2. Can be used to move a file from one
directory to another on the same drive. Returns 18 if the
rename was good, not zero.
HSRCSCHR FORTH
HV-INSERT HIDDEN
HWORDS+ FORTH
HWORDS- FORTH
HWRITE ( a1 n1 handle --- n2 ) HANDLES
Write to a file specified by a handle from a1,n1 in the code
segment. Return n2 the length actually written.
HYPERTYPEL FORTH
I ( --- n1 ) KERNEL1
returns the current loop index. It now requires a little more
calculation to compute it than in FIG Forth but the tradeoff is
a much faster (LOOP). The loop index is stored on the Return
Stack.
IBFULL FORTH
IBLEN ( --- n1 ) SEQREAD
Input buffer length constant.
IBLIMIT FORTH
IBM--LINE ( -- ) IBMCURSR
Delete the current line on the IBM display, causes all lines
lower on the screen to scroll up. This is the defered function
of -LINE. Use -LINE for portability.
IBM-AT ( col row -- ) IBMCURSR
Move to the COL and ROW specified on the IBM display screen.
This is done using a BIOS level interupt. This word is normally
the defered function of AT, you should use AT for portability.
IBM-AT? ( --- col row ) IBMCURSR
Return the ROW and COLUMN of the cursor on the display as it is
known by DOS. Used to initialize Forth's #LINE and #OUT
variables.
IBM-DARK FORTH
IBM-PROPRINT ( --- ) PROPRINT
Select the IBM Proprinter as the system printer, with BOLD and
UNDERLINE available.
IBRESET ( --- ) SEQREAD
Input Buffer RESET, initializes the LINEREAD function to start
reading from a new file or a file in which a move POINTER has
been done. Flushes the contents of the read buffer.
IF ( f1 -- ) KERNEL3
Used in the form: f1 IF <true> ELSE <false> THEN (ELSE is
optional). If flag f1 is false, branches forward to <false> or
after THEN.
IMMEDIATE ( -- ) KERNEL3
Mark the last Header as an Immediate word.
IMP/EXP.INIT FORTH
IMPORT FORTH
INBSEG ( --- n1 ) SEQREAD
The input buffer segment VALUE.
INCLUDE ( | <name> --- ) SEQREAD
An ALIAS for FLOAD. See also FLOAD.
INCR ( a1 -- ) KERNEL1
Increment the word at the specified address by 1.
INCR> ( | <name> -- ) EQUCOLON
Increment the body of <name> by one, used to modify the
following VALUE or VARIABLE.
INDEX ( file_spec --- ) FWORDS
display an index of the first line of each file that matches
the file_specs included on the line following INDEX.
INIT-R0 FORTH
INIT-SPLIT HIDDEN
INIT.MOUSE HIDDEN
INITCMDPATH HIDDEN
INITCOLOR ( --- ) VIDEO
A defered word that gets set later, and is used to do the color
display attribute control initialization ( it sets the >ATTRIBx
words. ). See the file MONOCROM, and COLOR.
INITMONO ( --- ) VIDEO
A defered word that gets set later, and is used to do the
monochrome display attribute control initialization ( it sets
the >ATTRIBx words. ). See the file MONOCROM.
INITMOUSE HIDDEN
INITSTUFF ( --- ) KERNEL4
A DEFERed word chain, used by many system utilities that need
to specify a function to be performed at cold start time. See
also DEFERS for more information on how defered word chains
work.
INLEN ( --- a1 ) SEQREAD
input text length variable
INLENGTH FORTH
INLINE ( --- ) PASM
Starts an assembly language sequence in the middle of a :
(colon) definition. Assembly code instructions follow until the
sequence is terminated by END-INLINE. The sequence of assembly
instructions normally includes NEXT, 1PUSH, or 2PUSH just prior
to the word END-INLINE.
INSERTALINE FORTH
INSERTMODE HIDDEN
INSTALL ( --- ) UTILS
A DEFERed word that is used to install user defined options in
the system when they are initially bringing up the system.
INSTART FORTH
INTERP FORTH
INTERPRET ( -- ) KERNEL3
The Forth Interpret Loop. If the next word is defined, execute
it, otherwise convert it to a number and push it onto the
stack.
INVERT-SCREEN FORTH
IS ( cfa -- ) KERNEL4
Depending on STATE, either sets the following DEFERred word
immediatly or compiles the setting for later.
ISTK> HIDDEN
ITEM# HIDDEN
ITEMSTK HIDDEN
J ( --- n1 ) KERNEL1
returns the loop index of the inner loop in nested DO .. LOOPs.
JOIN FORTH
K FORTH
KEY ( --- c1 ) KERNEL2
A defered word to get a key from user.
KEY? ( --- f1 ) KERNEL2
A defered word that returns a true flag if a key waiting.
KEYFILTER FORTH
KEYFUNCS2 HIDDEN
KEYFUNCS1 HIDDEN
KEYSFUNCPTR HIDDEN
KEYTABLE FORTH
KEYTESTS HIDDEN
L ( --- ) VIEW
Display 18 lines starting at the most recently displayed line.
L>NAME ( lfa -- nfa ) KERNEL3
Go from link field address lfa to name field address lfa.
LABEL ( --- a1 ) PASM
Create a definition that returns the address of whatever code
follows, and enable the assembler. Compiled as a VARIABLE.
LARGEST ( a1 n1 --- a2 n2 ) LARGEST
Given a starting address a1 and an array length in bytes,
return a2 the address of the largest word element in the array,
and n2 the largest element itself.
LAST ( --- a1 ) KERNEL2
Points to the name of the most recently CREATEd word.
LAST-CURSOR HIDDEN
LASTX HIDDEN
LASTY HIDDEN
LCHAR HIDDEN
LDUMP ( seg offset len --- ) DUMP
Dump to the display the absolute segment seg, starting at
offset for length len.
LEAVE ( -- ) KERNEL3
Immediately exit a DO-LOOP.
LEDBUTTON HIDDEN
LEDIT_RESTORE FORTH
LENGTH ( a1 --- a2 n1 ) KERNEL2
Given the address on the stack, returns the address plus two
and the two byte contents of the address.
LENGTH.CHECK FORTH
LENLIMIT HIDDEN
LFEMIT FORTH
LFILL ( a1 len value --- ) KERNEL2
Fill starting at addr, for length len, with value.
LFILLW ( seg offset byte-len WORD --- ) IBMCURSR
Fill absolute segment seg starting at offset for length
byte-len with the value WORD.
LIC@ FORTH
LIHERE FORTH
LIMIT ( --- a1 ) KERNEL2
A constant that returns the highest address in the CODE segment
used by Forth. Typically $FFFE.
LINEEDITOR ( x y a1 n1 --- f1 ) LEDIT
At location x,y start editing the string specified by a1,n1.
the line editor supports the wordstar key sequences, and if the
edit terminates with a <enter>, then the original string will
be changed to match the edited string. If the edit is
terminated with ESC, then the original string will not be
changed. See the file LEDIT for further information on
LINEEDITOR.
LINEREAD ( --- a1 ) SEQREAD
A defered word that returns a line from the current file.
LINESTRT FORTH
LINK ( --- a1 ) KERNEL2
Points to next task in the circular multi tasking queue.
LINK> ( lfa -- cfa ) KERNEL3
Go from link field address lfa to code field address cfa.
LIST ( n1 --- ) VIEW
N1 is the line number to list in the current open file.
LISTING ( --- ) TOPEDIT
Print a formatted listing of the file currently open. The
printing is done using the editor, so there must be enough
memory for the editor to load the file.
LISTVAR FORTH
LITERAL ( n1 -- ) KERNEL3
Compile the single integer from the stack as a literal.
LKEY! HIDDEN
LKEY@ HIDDEN
LL ( | <name> --- ) VIEW
LL is a pseudonym for VIEW, displays Help and Source for
<name>.
LMARGIN ( -- a1 ) KERNEL4
The left margin setting used by ?LINE, ?CR. When a line wrap
occurs, then LMARGIN specifies how many spaces are printed on
the following line. Default value is 0.
LOAD ( n1 --- ) VIEW
n1 is the line number of where to start loading.
LOADED, ( --- ) SEQREAD
Compile the name of the current file as a variable in the FILES
vocabulary. Also links the variable into a list of variables
that represent the files that have been loaded.
LOADER ( --- ) SEQREAD
A defered word that loads the current file.
LOADING ( --- a1 ) SEQREAD
A VARIABLE that holds a flag TRUE if we in the process of
loading a file.
LOADLINE FORTH
LOADMACS HIDDEN
LOADSTAT ( --- ) SEQREAD
load status display defered word. Normally deferd to <.STAT>.
LOCAL_REF FORTH
LOOP ( -- ) KERNEL3
Terminate a loop structure. Increment loop index by one and
repeat <loop-body> until loop index crosses the boundary
between limit and limit - 1. Used in the form DO <loop-body>
LOOP.
LRUNSAVE FORTH
LTBLUE ( --- n1 ) COLOR
Return the color value for LIGHT BLUE. Blinks in Background.
LTCYAN ( --- n1 ) COLOR
Return the color value for LIGHT CYAN Blinks in Background.
LTGRAY ( --- n1 ) COLOR
Return the color value for LIGHT GRAY
LTGREEN ( --- n1 ) COLOR
Return the color value for LIGHT GREEN Blinks in Background.
LTMAGENTA ( --- n1 ) COLOR
Return the color value for LIGHT MAGENTA Blinks in Background.
LTRED ( --- n1 ) COLOR
Return the color value for LIGHT RED Blinks in Background.
M/D/Y ( --- ) TIMER
Select the date format Month/Day/Year for all calender
functions.
M/MOD ( d1 n1 --- rem quot ) KERNEL1
Divides a double by a single, leaving a single quotient and a
single remainder. Division is floored.
MACBASE HIDDEN
MACFILE HIDDEN
MACINIT HIDDEN
MACKEY HIDDEN
MACSEG HIDDEN
MACSIZ HIDDEN
MACTIMES HIDDEN
MAGENTA ( --- n1 ) COLOR
A CONSTANT that returns the color value for Magenta on a color
monitor.
MAKEAFILE FORTH
MAKEDUMMY ( | <name> -- ) KERNEL3
Make a dummy : definitions out of <name>. Effectively a NOOP,
used by ANEW.
MAKEFILE FORTH
MAKINGMAC HIDDEN
MANY ( -- ) UTILS
Re-execute the input stream until the user presses a key.
MARK ( | <name> -- ) HELLO
Create a mark, that is define a word <name> that will clear the
dictionary back to itself when it is executed.
MAX ( n1 n2 --- n3 ) KERNEL1
Return the maximum of n1 and n2
MAX-CLASSES HIDDEN
MAX.S ( --- a1 ) KERNEL4
A VARIABLE that holds the value of how many items to display
when a .S is performed, normally set to 4, but can be changed
by the user.
MAXCFA HIDDEN
MAXDIR HIDDEN
MAXEDIT HIDDEN
MAXNAME HIDDEN
MAXNEST ( --- n1 ) SEQREAD
Total size in bytes of the system handle stack.
MBUTTON FORTH
MBYE FORTH
MCOL FORTH
MCOLUMN FORTH
ME$ ( --- a1 ) ENVIRON
Storage space for the execution string used to execute this
forth currently running.
ME@ ( --- ) ENVIRON
Extract the execution string from the environment, and place it
in the string ME$
MED-CURSOR ( --- ) IBMCURSR
set the cursor to a thick cursor, not line, and not block sort
of double thick.
MEMCHK ( f1 --- ) KERNEL2
abort with memory error message if true
MENU ( --- ) MENUS
Invode the current menu set, accepts keypad keys to move around
the menubar, and then to enter a menu command. If you have not
setup a menubar, then the default Forth menubar is used.
See also MENUS
MENUBAR FORTH
MENUBOX FORTH
MENUKEY FORTH
MENULINE" ( | <menu_text> <menu_func> --- ) MENUS
Define a new pull down menu line, with text <menu_text> to
perform <menu_func>. All menu lines for a particular menu
should have the same <menu_text> length. The first capitalized
letter in the <menu_text> will be the recognized menu command
letter, and should be unique within the items of a particular
menu. See MENUS
Example:
"T" is the command key.
/ NOOP is the menu function
/ /
MENULINE" This is a test " noop
MENULIST FORTH
MIN ( n1 n2 --- n3 ) KERNEL1
Return the minimum of n1 and n2
MINUTES ( N1 --- ) TIMESTUF
Wait for n1 minutes. PAUSE and PAUSE-FUNC are performed
continuously while waiting.
MLINE FORTH
MOD ( num den -- modulus ) KERNEL1
Return the modulus of the numerator and denominator, where the
quotient is "floored". This is designed to yield a result
having the same sign as the denominator. Note that if the
denominator is positive, the result is positive, regardless of
the sign of the numerator.
MORE? FORTH
MOUSE.SCALE HIDDEN
MOUSEBUTTON FORTH
MOUSECHAR HIDDEN
MOUSEFLG FORTH
MOUSEKEY FORTH
MOUSEKEY? FORTH
MOUSEWASDOWN HIDDEN
MOUSEXY FORTH
MOVE ( a1 a2 n1 --- ) KERNEL2
Move the specified bytes n1 from address a1 ro address a2. No
overlapping of data will occur.
MOVE>MOUSE HIDDEN
MOVEPOINTER ( double-offset handle --- ) HANDLES
Move the file pointer for handle to the position double-offset
in the file already open in handle.
MROW FORTH
MS ( n1 --- ) BUFSET
Delay for n1 milliseconds. This function is system specific,
and while it is calibrated at system boot time, it may not
always be very acurate.
MS: HIDDEN
MSGSAVE FORTH
MU/MOD ( d1 n1 --- rem dquotient) KERNEL1
divides a double by a single, leaving a double quotient and a
single remainder. Division is floored.
N ( --- ) VIEW
Go forward 16 lines and display 18 lines.
N>LINK ( nfa -- lfa) KERNEL3
Go from name field address nfa to link field address lfa.
NAME> ( nfa -- cfa ) KERNEL3
Go from name field address nfa to code field address cfa.
NAME>BUF HIDDEN
NAME>PAD ( A1 --- PAD ) VIEW
Move the name field to PAD and filter out the hi bit of the
last character in name. Also clears all but lower 5 bits of
name count.
NDIR HIDDEN
NEEDS ( | <name> --- ) NEEDS
Test the file <name> following, if we have not loaded it, then
load it else just go on.
NEGATE ( n1 --- n2 ) KERNEL1
Turn the number into its negative. A twos complement op.
NEWBEEP FORTH
NEWFILE ( | <name> --- ) NEWFILE
Open or CREATE the <name> specified and start editing it. if no
name is specified, then prompt for a name.
NEWINFO ( --- ) INFO
Starts a sequence of lines that constitute a NEWINFO, NEWINFO
is placed at the beginning of a line, and subsequent lines are
compiled into a special file called F-PC.MSG until the
terminating line ENDINFO is encountered. When the definition
containing NEWINFO and ENDINFO is later executed, the lines
between them are read from the disk file, and displayed. This
is a system utility, and is not typically used in a user
program.
NEWMENU ( | <name> --- a1 0 ) compile time MENUS
( --- a1 ) run time
Starts the definition of a new menu <name>, see MENUS for an
example of how to make a menu.
NEWMENUBAR ( | <name> --- ) MENUS
Starts the definition of a new menubar, see MENUS for an
example of how to make a menubar.
NEXPECT FORTH
NEXT FORTH
NEXT| FORTH
NFL HIDDEN
NIP ( n1 n2 --- n2 ) KERNEL1
Drop the second element from the stack.
NLEN FORTH
NO-NAME ( --- ) KERNEL3
A dummy name, whose name field address is returned by >NAME
when the real name field can not be found.
NOBACKUP ( --- ) EDITSTUF
Disable the creation of backup copies of your edit files. This
is normally only done when you are short of disk space, wo
allow the editing of larger files in a limited environment.
NOBASE FORTH
NOHEADROOM FORTH
NOISE HIDDEN
NOLISTROOM FORTH
NOMOUSE HIDDEN
NOOP ( --- ) KERNEL1
One of the most useful words in Forth. Does nothing.
NORM-CURSOR ( --- ) IBMCURSR
Set the cursor to the normal underline shape.
NORM-DARK FORTH
NORM-KEYTABLE FORTH
NORMALVAL FORTH
NORMVAL FORTH
NOSETCUR FORTH
NOT ( n1 --- n2 ) KERNEL1
Does a ones complement of the top. Equivalent to -1 XOR.
NPATH FORTH
NRESOLVE ( 0 n1 n2 ... n -- ) CASE
Primitive used by ENDCASE to resolve the previous case
references.
NUMBER ( a1 --- d1 ) KERNEL2
Convert a string to a number. Normally (NUMBER)
NUMBER? ( a1 --- d1 f1 ) KERNEL2
Convert the count delimited string at a1 to a double number.
NUMBER? takes into account a leading minus sign, and stores a
pointer to the last delimiter in DPL. The string must end with
a blank. Leaves a true flag if successful.
OBLEN ( --- n1 ) SEQREAD
output buffer length constant
OCCUR_SRCH HIDDEN
OCTAL ( --- ) KERNEL2
All subsequent numeric IO will be in Octal.
OF ( n1 n2 -- n1 ) CASE
( n1 n1 -- )
See CASE.
OFF ( a1 --- ) KERNEL1
Set the contents of a1 to FALSE
OFF> ( | <name> --- ) EQUCOLON
Turn off the VALUE or VARIABLE <name> following. Somewhat
faster than <name> OFF.
OFFSET FORTH
OK ( --- ) SEQREAD
Load all of the current file. Peforms a 1 LOAD.
OLDFIX HIDDEN
ON ( a1 --- ) KERNEL1
Set the contents of a1 to TRUE
ON> ( | <name> --- ) EQUCOLON
Turn on the VALUE or VARIABLE <name> following. Somewhat faster
than <name> ON.
OPEN ( | <name> --- ) SEQREAD
Open <name> as the current file for loading, editor etc. This
is a pseudonym for FILE.
OPENFILE FORTH
OR ( n1 n2 --- n3 ) KERNEL1
Returns the bitwise OR of n1 and n2 on the stack.
OS2 FORTH
OUTBUF ( --- a1 ) SEQREAD
the line output buffer array
OUTFIX HIDDEN
OUTPAUSE ( --- ) KERNEL2
A DEFERed word that can be set to PAUSE, but is normally set to
NOOP, to prevent multi tasking from interfering with typed
output.
OVER ( n1 n2 --- n1 n2 n1 ) KERNEL1
Copy the second element to the top.
OVER.SWAP.HASH.@ FORTH
P! ( n1 port# --- ) KERNEL1
Write the value n1 to the 16 bit port#.
P-IN FORTH
P@ ( port# -- n1 ) KERNEL1
Read the 16 bit port# and return value n1.
PACKED_ASC># FORTH
PAD ( --- a1 ) KERNEL2
Floating Temporary Storage area. DON'T USE THIS, it will be
going away in the ANSI standard.
PAGE ( --- ) UTILS
Printer dependent. Get to a new page. Increment the page
number and reset the line number and the column number.
PARAGRAPH ( offset --- paragraph-in ) KERNEL3
Convert offset to the next largest paragraph size that will
contain all of offset. Used to do paragraph alignment.
PARSE ( a1 --- a2 n1 ) KERNEL2
Scan the input stream until char is encountered. Update >IN
pointer. Leaves the address and length of the enclosed string.
PATH$ ( --- a1 ) ENVIRON
Storage space for the PATH string.
PATH1 FORTH
PATH@ ( --- ) ENVIRON
Extract the PATH from the environment string.
PATHBOX HIDDEN
PATHHNDL ( --- a1 ) PATHSET
A handle that returns a1 the address of the handle that
contains the default drive path.
PATHLEN FORTH
PATHPTR FORTH
PATHSET ( handle --- f1 ) HANDLES
Set the current drive path into handle. returns boolean f1 true
if an error occured while performing this operation.
PAUSE ( --- ) KERNEL1
Used by the Multitasker to switch tasks.
PAUSE-FUNC ( --- ) TIMESTUF
A defered word to be set to a function that is to be performed
while waiting for timing words Like TENTHS, SECONDS, MINUTES
and HOURS to complete.
PC! ( n1 port# --- ) KERNEL1
Write the byte n1 to the 8 bit port#.
PC@ ( port# -- n1 ) KERNEL1
Read the 8 bit port# and return value n1.
PCLOSE ( --- ) PRINT
Close the current print file, and restore printing to the PRN
device.
PDOS ( a1 drive# --- f1 ) KERNEL1
Read the current DOS path of drive# into the array at a1. The
string returned will be NULL terminated. F1 returns TRUE if an
error occured.
PEMIT ( c1 --- ) KERNEL2
A DEFERed word that normally contains (PRINT), to print a
character c1 to the printer.
PERFORM ( a1 --- ) KERNEL1
The word whose code field is stored at the address pointed to
by a1, the number on the stack. Same as @ EXECUTE
PFALINE HIDDEN
PFASAV FORTH
PFILE ( | <name> --- ) PRINT
All printing is to goto diskfile <name>. No extention is added
to <name>.
PFL HIDDEN
PICK ( n1 --- n2 ) KERNEL1
Reaches into the stack and grabs an element, copying it to the
top of the stack. For example, if the stack has 1 2 3 Then 0
PICK is 3, 1 PICK is 2, and 2 PICK is 1.
PLACE ( from count to --- ) KERNEL1
Move the characters at from to to with a preceding length byte
of len.
PLUCK FORTH
PNEXT FORTH
POSTFIX ( --- ) PASM
Switch the assembler to POSTFIX mode, like the F83 postfix
assembler. The normal mode is PREFIX. See also PREFIX.
PR-STATUS ( n1 --- n2 ) KERNEL2
Return the printer status as n2 from the printer specified by
n1. N1=0 for PRT1, and 1 for PRT2.
PRE> ( --- ) PASM
Restores the previous assembler mode after using >PRE to select
PREFIX for a macro. Used in pairs with >PRE.
PREFIX ( --- ) PASM
Switch the assembler to PREFIX notation mode. This is the
normal mode. See also POSTFIX.
PREMIT HIDDEN
PREPEND.PATH FORTH
PREPEND.PATH ( handle --- f1 ) PATHSET
Prepend the default drive and path to handle, and return f1 the
boolean that tells if we were successful.
PREWORDS FORTH
PRINT ( | <words-to-be-interpreted> -- ) KERNEL3
Interpret the following words, and output to printer.
PRINTING ( --- a1 ) KERNEL2
A variable which holds a flag that Indicates whether printing
is enabled.
PRINTL FORTH
PRIOR ( --- a1 ) KERNEL2
Points to the last vocabulary that was searched.
PRIOR.CHECK FORTH
PRNHNDL ( --- a1 ) SEQREAD
The handle used by the system to talk to the printer. Normally
initialized to contain PRN. on handle 4, but may be opened on a
real file to cause printing to a file. See also PFILE and
PCLOSE.
PRNTYPEL FORTH
PRTYPEL HIDDEN
PUSH/POP-LEVEL FORTH
QTYPEL FORTH
QUERY ( --- ) KERNEL2
Get more input from the user and place it at TIB.
QUIT ( -- ) KERNEL4
The main loop in Forth. Gets more input from the terminal and
Interprets it. Responds with OK if healthy.
R# ( --- a1 ) KERNEL2
The cursor position during editing.
R.NAME HIDDEN
R/W-DMODE FORTH
R/W-MODE FORTH
R> ( --- n1 ) KERNEL1
Pops a value off of the return stack and pushes it onto the
parameter stack. It is dangerous to use this randomly!
R>DROP ( --- ) KERNEL1
Pops a value off of the return stack and discards it. It is
dangerous to use this randomly!
R@ ( --- n1 ) KERNEL1
Copies the value on the return stack to the parameter stack.
READ-ONLY FORTH
READ-WRITE FORTH
RECOVERLINE ( n1 --- ) SAVESCR
Recover a line n1 from the most recently saved screen with
SAVESCR. The line is placed on the screen on line n1.
RECOVERSCR ( --- ) SAVESCR
Recover a COPY of the most recently saved screen with SAVESCR.
You can temporarily restore the screen with this word, in
preperation for messing it up again before finally using
RESTSCR to restore the screen. This word does NOT pop the save
screen stack, it only makes a copy of the most recent save.
RECURSE ( -- ) KERNEL4
We prefer to use RECURSIVE rather than RECURSE. See RECURSIVE
RECURSIVE ( -- ) immediate KERNEL3
Allow the current definition to be self referencing.
RED ( --- n1 ) COLOR
A CONSTANT that retuns the value of the color red on a color
monitor.
REF ( | <name> --- ) REF
Display all references found to <name> in the currently
compiled Forth system. Examines COLON definitions and DEFERed
words.
REFCFA HIDDEN
REN ( <filespec> --- ) EXEC
Perform a RENAME with the filespec following the REN command.
RENAME ( | <filespec> --- ) EXEC
Perform a RENAME with the filespec following the RENAME
command.
REPAIR ( | <name> --- ) TOPEDIT
Perform a VIEW and EDit on the <name> following.
REPEAT ( -- ) KERNEL3
Unconditional backward branch to just after BEGIN in a BEGIN
<loop> flag WHILE <true> REPEAT loop.
REPKEY HIDDEN
RES-IN FORTH
RESET-IN FORTH
RESTBASE FORTH
RESTCAPS FORTH
RESTCURSOR FORTH
RESTLMRG FORTH
RESTMENU FORTH
RESTNEXT FORTH
RESTORE> ( --- ) followed by a definition in a colon def.
SAVEREST
Restore the previous value of the body of the name following in
this colon definition. See also SAVE> and SAVE!>.
RESTORESTATE ( --- ) UTILS
Restore the system state as preserved by SAVESTATE.
RESTORE_VECTORS ( -- ) KERNEL4
Restores the CONTROL BREAK DOS vectors to their original value
as when Forth was entered. The CONTROL BREAK and DIVIDE by 0
vectors are saved by the assembly language cold start routines
before Forth is entered.
RESTRMRG FORTH
RESTSCR ( --- ) SAVESCR
Restore the screen from the external segment screen save area.
Un-nestable up to three times.
RESTSTAT FORTH
RESTTABS FORTH
REVEAL ( -- ) KERNEL3
Activates (reveals) the Last definition in the Header
Dictionary.
REVERSEVAL FORTH
REVVAL FORTH
RMARGIN ( -- a1 ) KERNEL4
Controls the right margin, used by ?LINE, ?CR. Specifys where
to wrap the line. Default value is 70.
ROLL ( n1 --- n2 ) KERNEL1
Similar to SHAKE and RATTLE. Should be avoided. 1 ROLL is
SWAP, 2 ROLL is ROT, etc. ROLL can be useful, but it is SLOW.
ROOT ( --- ) VOCABS
The root vocabulary that is always available in the vocabulary
list.
ROOTDIR HIDDEN
ROT ( n1 n2 n3 --- n2 n3 n1 ) KERNEL1
Rotate the top three element, bringing the third to the top.
ROWS ( --- n1 ) VIDEO
A VALUE that returns the number of ROWS available on the
current display as determined at boot time. You should use
this VALUE to adjust your programs to work with displays having
between 25 and 60 lines. See also COLS.
RP! ( a1 --- ) KERNEL1
( Warning, this is different from FIG Forth )
Sets the return stack pointer to the specified value.
RP0 ( --- a1 ) KERNEL2
Empty return stack for this task.
RP@ ( --- a1 ) KERNEL1
Return the address of the next entry on the return stack.
RPICK FORTH
RUN ( --- ) KERNEL3
Interpret or compile whatever is in the TERMINAL INPUT BUFFER.
Tests STATE, and does the appropriate thing.
RUN-A; FORTH
RWERR ( --- a1 ) HANDLES
A VARIABLE that holds the value of the most recent disk read or
write error.
RWMODE ( --- a1 ) HANDLES
the variable rwmode, which defaults to a value of 2, controls
the read write mode of the file being opened, the value 2 is
read, or write, a value of 1 specifies write only, and a value
of 0 specifies read only.
S>D ( n1 --- d1 ) KERNEL1
Take a single precision number and make it double precision by
extending the sign bit to the upper half.
SAVE!> ( n1 --- ) followed by the name of a definition SAVEREST
Saves the body contents of the definition following to the
return stack, and sets the body to value n1. Used to save and
set VARIALBEs or VALUEs. Complimented by RESTORE>.
SAVE-EXE ( | <name> --- ) SAVEEXE
Save the current Forth memory image to the file <name> if
present, or if not present, then prompt for a name to save to.
SAVE-GET HIDDEN
SAVE-GET1? HIDDEN
SAVE> ( --- ) followed by a name in definition SAVEREST
Saves the body contents of the definition following to the
return stack. Used to save VARIABLEs or VALUEs that may be
changed by a following operation. Complimented with RESTORE>.
See also SAVE!>
SAVECURSOR FORTH
SAVEERR FORTH
SAVEFLG HIDDEN
SAVEMACS HIDDEN
SAVEMENU FORTH
SAVEPOINTER ( --- ) SEQREAD
Save the file offset into the current file for later restoral.
SAVESCR ( --- ) SAVESCR
Save the current contents of the screen to an external segment
save area. Nestable up to three times.
SAVESTATE ( --- ) UTILS
Saves F-PC's state, including BASE, CAPS, LMARGIN, RMARGIN,
TABSIZE and STATV.
SCAN ( a1 n1 c1 --- ) KERNEL2
Given the address and length of a string, and a character to
look for, run through the string until we find the character.
Leave the address of the match and the length of the remaining
string.
SCANW ( a1 w1 w2 --- a2 w3 ) SCAN
Scan array at a1 for length w1 words for word value w2. Returns
address a2 where w2 was found, and length remaining w3.
SCREENCHAR FORTH
SEARCH ( sadr slen badr blen -- n1 f1 ) SEARCH
Search for string sadr,slen contained in badr,blen. Returns f1
equal true if found, and n1 equal to the offset into the string
where sadr,slen was found.
SEARCHEDIT HIDDEN
SEARCHFILE HIDDEN
SEARCHSETUP HIDDEN
SEC-ELAPSED ( --- N1 ) TIMESTUF
Return n1 the seconds that have elapsed since TIME-RESET.
SECONDS ( N1 --- ) TIMESTUF
Wait n1 seconds.
SED ( | filename --- ) TOPEDIT
Start the editor on the filename specified, or if no name is
specified, then prompt for a file. Will create a file if it
does not already exist. See also EDITOR
SEDCHAR FORTH
SEE ( <name> --- ) DECOM
The user interface. To decompile something type SEE <name>.
SEEK ( d1 --- ) SEQREAD
Seek (move pointer) to position d1 in the current file.
SEGSET ( --- ) KERNEL4
A DEFERed word that contain the current function used to set up
the segment registers at cold start time. Typically contains
SETYSEG.
SELECT ( n1 --- ) KERNEL4
Select drive n1 as the current disk drive to use as the DEFAULT
drive when no drive is specified. N1 ranges from 0 which is
drive A:, to a legal value up to 255 in DOS.
SEQDOWN ( --- ) SEQREAD
Step down one handle in the handle stack. closes the current
file, and selects the next lower file.
SEQHANDLE+ ( --- a1 ) SEQREAD
A VALUE that holds the address of the NEXT available sequential
file handle. Oftain used to hold temporary file information
during copy or rename operations.
SEQHANDLE ( --- a1 ) KERNEL2
A VALUE that holds the address of the current sequential file
handle. This handle holds the filename of the currently open
file if any, along with the DOS handle number if the file is
open.
SEQINIT ( --- ) SEQREAD
Initialize the handle stack, in preparation for use.
SEQUP ( --- ) SEQREAD
Step up one handle in the handle stack.
SET-CURSOR ( N1 --- ) IBMCURSR
Set the cursor shape to the mask value n1.
SET-DTA ( a1 --- ) HANDLES
Set the Disk Transfer Area as a1.
SETASSEM FORTH
SETBLOCK ( seg size --- f1 ) SETBLOCK
Adjust the segment seg to the new size in 16 byte segments.
return error flag f1 non-zero if the adjustment did not
succeed.
SETDATE ( NM Y --- ) TIMER
Set the DOS date given the double date.
SETFL HIDDEN
SETMAC HIDDEN
SETTIB ( a1 --- ) SEQREAD
Sets the terminal input buffer to the counted string a1, in
preperation for INTERPRETation, or WORD. Be sure to save the
current TIB for later restoral.
SETTIME ( HM Sh --- ) TIMER
Set the DOS time given the double time.
SETVIEW ( | <path> --- ) VIEW
Set the VIEWPATH handle to <path>. If <path> is omitted, it
will be prompted.
SETYSEG ( --- ) KERNEL2
Set the segment variables as needed.
SET_VECTORS ( -- ) KERNEL4
Set the CONTROL BREAK and DIVIDE by 0 traps to point to the
Forth provided functions, so we can handle them smoothly.
SEXE FORTH
SHOW.COLOR FORTH
SHOW.MOUSE FORTH
SHOWDIR HIDDEN
SHOWKEYS HIDDEN
SHOWLINES ( --- ) SEQREAD
Turn on listing of lines while loading.
SHOWMENUS FORTH
SHOWPATH HIDDEN
SHOWSRC FORTH
SIGN ( n1 --- ) KERNEL2
If n1 is negative insert a minus sign into the string.
SKIP ( a1 n1 c1 --- ) KERNEL2
Given the address and length of a string, and a character to
look for, run through the string while we continue to find the
character. Leave the address of the mismatch and the length of
the remaining string.
SKIP.BLANKS FORTH
SKIP_TO FORTH
SLOW ( --- ) QVIDEO
Select the BDOS screen output routines. Mose everything will
still work but BOY WILL IT BE SLOW! NO COLOR SUPPORT in this
mode.
SMASK FORTH
SOURCE ( --- a1 n1 ) KERNEL2
Return a string from the current input stream.
SP! ( a1 --- ) KERNEL1
( Warning, this is different from FIG Forth )
Sets the parameter stack pointer to the specified value.
SP0 ( --- a1 ) KERNEL2
Empty parameter stack for this task.
SP@ ( --- a1 ) KERNEL1
Return the address of the next entry on the parameter stack
SPACE ( --- ) KERNEL2
Send a space to the terminal
SPACES ( n1 --- ) KERNEL2
Send a set of spaces to the terminal, uses the SPCS array to
TYPE the spaces out very quickly
SPAN ( --- a1 ) KERNEL2
Number of characters input by EXPECT.
SPCHECK FORTH
SPCS ( --- a1 ) KERNEL2
An array of spaces used by SPACES to display spaces quickly.
This array holds 132 spaces, for displays up to 132 columns
wide.
SPLIT ( n1 --- n2 n3 ) KERNEL1
SPLIT the 16 bit value n1 into two stack entries which are the
LOW and HIGH bytes of N1. The HIGH byte is on the top of the
stack.
SPLIT-L# HIDDEN
SP_SAVE HIDDEN
SRCCR FORTH
SRCEEOLCR HIDDEN
SRCOFF ( --- ) DECOM
A control to the debugger, to cause the source for a word being
debugged NOT to be displayed.
SRCON ( --- ) DECOM
A control to the debugger, to cause the source for a word being
debugged to be displayed.
SSEG ( --- a1 ) KERNEL2
A VARIABLE that holds the absolure segment where SEARCHing is
done.
SS_SAVE HIDDEN
STACKOVER FORTH
STACKUNDER FORTH
START ( --- ) KERNEL4
A minimum initialization word, clears the input stream, and the
data stack, then performs DEFAULT, and INTERPRETs the input
stream.
STATE ( --- a1 ) KERNEL2
A USER VARIABLE that holds the system STATE, used to determine
if Forth is COMPILING or INTERPRETING.
STATOFF ( --- ) STATUS
Turn status displaying off.
STATON ( --- ) STATUS
Turn status displaying on.
STATUS ( -- ) KERNEL3
Indicate the current status of the system.
STATV FORTH
STIME ( --- a1 ) TIMER
A double variable that holds the BINARY start time for various
timing operations.
STRIPPING_BL'S HIDDEN
STRIP_BL'S HIDDEN
SUVEC FORTH
SV-CONTEXT HIDDEN
SV-CURRENT HIDDEN
SVINIT ( --- ) SAVESCR
Cold start initialization word that allocates some space for
the screen save segment.
SVMAX FORTH
SVSEG ( --- seg1 ) SAVESCR
A constant that returns the segment of the screen save area.
When not initialized, svseg return a zero.
SVSIZE FORTH
SVTOTAL FORTH
SWAP ( n1 n2 --- n2 n1 ) KERNEL1
Exchange the top two elements on the stack.
SYS ( | command --- ) EXEC
Accept the command line (up to line end) following SYS as a DOS
command line.
T>B ( d1 --- d2 ) TIMER
Convert the d1 DOS double time value to d2 the BINARY time.
TAB ( -- ) KERNEL4
Print spaces to get to the next TAB increment as specified by
TABSIZE.
TABSIZE ( --- a1 ) KERNEL4
Controls the TAB increment for TAB. Default is 8.
TELETYPE ( --- ) PRTCTRL
Select the dumbest printer, so NOT CONTROL CHARACTER aside from
CR and LF will be sent to the printer. BOLD and UNDERLINE wil
not function with this driver.
TENTHS ( N1 --- ) TIMESTUF
Wait n1 tenths of a second.
THEN ( -- ) KERNEL3
Terminate a branch structure. Used in the form:
flag IF ... ELSE ... THEN
THESE ( --- ) WORDS
A option passed to WORDS, to control whether WORDS will look in
all vocabularys, or only the CONTEXT vocabulary. The following
command sequence will cause WORDS to display only those words
containing XYZ in the HIDDEN vocabulary:
HIDDEN THESE WORDS XYZ <enter>
TIB ( --- a1 ) KERNEL2
Leaves address of text input buffer.
TILLKEY ( n1 --- ) TIMESTUF
Wait up to n1 seconds for the user to press a key, then
continue on whether they have pressed a key or not.
TIME-ELAPSED ( --- d1 ) TIMER
Return d1 the binary time elapsed since the last TIME-RESET.
TIME-RESET ( --- ) TIMER
Reset the start time to the current time.
TIMER ( | forth_commands --- )TIMER
Measure the time it takes to interpret the forth commands on
the following command line.
TIMERCTRL FORTH
TIMERDATA FORTH
TIMES ( N1 -- ) UTILS
Re-execute the input stream N1 number of times. Used in the
form: CR HERE . 5 TIMES <enter>
TIMES ( n1 -- ) UTILS
Re-execute the input stream a specified number of times.
TLC HIDDEN
TLN HIDDEN
TONE FORTH
TONEGATE FORTH
TOPCR HIDDEN
TOPCRS HIDDEN
TOPRINTER ( --- ) PRINT
An ALIAS for PCLOSE. Close the current print file, and restore
printing to the PRN device.
TOS ( --- a1 ) KERNEL2
Top OF Stack, Saved during Task switching.
TOTALLINES ( --- a1 ) SEQREAD
A VARIABLE that holds the total number of lines the system has
read and compiled since it was last reset. Incremented by
LINEREAD.
TOTALWORDS ( --- a1 ) WORDS
Accumulator for the total number of names.
TRACK-MARKS HIDDEN
TRACK-MENU HIDDEN
TRACK-MOUSE FORTH
TRAVERSE ( a1 direction -- addr' ) KERNEL3
Run through a name field in the specified direction. Terminate
when a byte whose high order bit is on is detected.
TRC HIDDEN
TRIM ( faddr voc-addr -- ) KERNEL3
Change the hash pointers in a vocabulary so that they are all
less than a specified value, faddr.
TRUE ( --- f1 ) KERNEL1
A CONSTANT that returns -1, a boolean true.
TTIME ( --- a1 ) TIMER
A double variable that holds the DOS total time.
TUCK ( n1 n2 --- n2 n1 n2 ) KERNEL1
Tuck the first element under the second one.
TURNKEY ( | <name> --- ) SAVEEXE
Save a copy of the current memory image to the file <name> as
an .EXE file. The LIST segment id compressed as much as
possible. The CODE segment is compressed as much as possible,
and the HEAD segment is discarded completely. The created .EXE
file is not Forth any more, and can only perform whatever
function was plugged into BOOT or DEFAULT before TURNKEY was
performed. The user is responsible for performing whatever
initializaton is needed, and for handling ALL error conditions.
However wonderful this word may sound, it is NOT for the faint
of heart.
TX HIDDEN
TY HIDDEN
TYPE ( a1 n1 --- ) KERNEL2
A defered word used to Print a string to the current output
device from the segment specified in the variable TYPESEG.
TYPEL FORTH
U*D ( n1 n2 --- d1 ) KERNEL1
U*D is a synonym for UM*
U. ( n1 --- ) KERNEL2
Output as an unsigned single number with trailing space.
U.R ( n1 n2 --- ) KERNEL2
Output as an unsigned single number right justified.
U16/ ( n1 --- n2 ) KERNEL1
Four 16 bit logical right shifts. Unsigned divide by 16
decimal.
U2/ ( n1 --- n2 ) KERNEL1
16 bit logical right shift.
U8/ FORTH
U< ( n1 n2 --- f1 ) KERNEL1
Compare the top two elements on the stack as unsigned integers
and return true if the second is less than the first. Be sure
to use U< whenever comparing addresses, or else strange things
will happen beyond 32K.
U<= ( un1 un2 --- f1 ) UTILS
Unsigned less than or equal.
U> ( n1 n2 --- f1 ) KERNEL1
Compare the top two elements on the stack as unsigned integers.
True if n1 > n2 unsigned.
U>= ( n1 n2 --- f1 ) UTILS
Unsigned greater than or equal.
UCSCAN FORTH
UD. ( d1 --- ) KERNEL2
Output as an unsigned double number with a trailing space
UD.R ( d1 n1 --- ) KERNEL2
Output as an unsigned double number right justified.
UM* ( un1 un2 -- ud ) KERNEL1
Return a 32 bit unsigned product of two 16 bit unsigned
numbers.
UM/MOD ( ud un --- uremainder uquotient ) KERNEL1
The unsigned double numerator ud is divided by an unsigned
single denominator un to produce an unsigned quotient and
unsigned remainder. The quotient is at the top of the stack.
UMAX FORTH
UMIN FORTH
UNBUG ( -- ) DEBUG
Remove the debug point currently in place.
UNDEFER ( | <name> -- ) DEFERS
This is sort of an undo for DEFERS. UNDEFER removes one level
from the chain of a defered word. Must be used with EXTREME
caution, as there is no protection from trying to use it at the
wrong time in the wrong place. YOU ARE ON YOUR OWN with this
one. See also DEFERS above.
UNDO ( --- ) KERNEL1
Cleans up the return stack so we can EXIT from the current loop
without crashing, as in DO and "UN"DO.
UNEDIT ( --- ) TOPEDIT
The word that gets plugged into CLEARMEM, which de-allocates
the memory used by the editor during an edit session. This is
needed in the case where you want to spawn a DOS shell, as the
SED editor consumes all of the available memory during an edit.
UNINSTALL ( --- ) INSTALL
Mark the F-PC currently in memory as un-installed. A subequent
FSAVE will result in a system that comes up with the
UN-installed message in HELLO.
UNINSTALLSTUFF ( --- ) UTILS
A DEFERed word that is executed by UNINSTALL. Typically
contains a chain of function to perform during the un-install
process.
UNNEST ( --- ) KERNEL1
Same as exit. Compiled by ; to help decompiling.
UNTIL ( f1 -- ) KERNEL3
Marks end of a BEGIN ... UNTIL loop; terminate if flag boolean
is true.
UP ( --- a1 ) KERNEL1
Holds a pointer to the current USER area. ( multitasking )
UPC ( char --- char' ) KERNEL2
Convert a Char to upper Case
UPPER ( a1 length --- ) KERNEL2
Take the string at the specified address and convert length
characters of it to upper case. It converts the string in
place, so be sure to make a copy of the original if you need to
use it later.
USED ( | <command_line> --- )UTILS
A word which calls USED! to save the current values of DP, XDP,
and YDP. USED then executes the command line following, and
calculates the space used by the command line and displays the
results. USED is used as follows: USED FLOAD MYFILE <enter>
USEDIN ( | <name> --- ) REF
An ALIAS for REF, this word looks through the dictionary and
finds words which use <name>, the names are then displayed.
USER ( --- ) KERNEL4
VOCABULARY that holds multi tasking versions of defining
words.
USER ( | <name> --- ) KERNEL4
Vocabulary that holds task versions of defining words.
V FORTH
VADDR FORTH
VALUE ( n1 | <name> --- ) KERNEL3
Create <name> as a word which like a CONSTANT return its value,
but which unlike a constant can be changed with the words: =:,
!>, INCR>, DECR>, OFF>, ON>, +!>. Values provide a more
readable source code than VARIABLES, and an improvement in
performance as well.
VALUECOLOR HIDDEN
VARIABLE ( | <name> -- ) KERNEL3
A defining word to create variables. At runtime the address of
the variable is placed on the stack.
VARIABLECOLOR HIDDEN
VARIABLE FORTH
VF FORTH
VFIND FORTH
VIDEO-SEG ( --- a1 ) VIDEO
A variable that holds the segment value of the display screen.
VIDEO-TYPE ( a1 n1 --- ) VIDEO2
The VERY FAST direct screen type routine, displays the string
starting at address a1 for length n1 at the current cursor
position specified by #LINE and #OUT. #OUT is incremented by
n1. The variable NOSETCUR holds a flag that controls whether
VIDEO-TYPE should actually move the cursor during the type.
VIDEO-TYPE is much faster if NOSETCUR is TRUE, but then the
cursor must be set later with an AT or TYPE with
NOSETCUR=FALSE. This TRICK allows F-PC to re-display 10 full
text screens per second on an XT (4.7mhz) class machine.
VIDEO-TYPEL FORTH
VIEW ( | <name> --- ) VIEW
A DEFERED word that contains either DOVIEW, or HELPVIEW. View
the source for <name>.
VIEW> ( vfa -- cfa ) KERNEL3
Go from view field address vfa to code field address cfa.
VIEWFROM FORTH
VIEWMACS HIDDEN
VMODE-VAR ( --- a1 ) VIDEO
A VARIABLE that holds the video mode that was obtained at
system startup. See the IBM or Mictosoft documentation for
further information on the various video modes.
VMODE.SET ( --- ) VIDEO
Set the VIDEO-SEG variable after testing the current video
mode, and perform any needed initialization required by
executing the INITMONO, or INITCOLOR as needed.
VOC-LINK ( --- a1 ) KERNEL2
Points to the most recently defined vocabulary.
VOCABULARY ( | <name> -- ) KERNEL3
Defines a new Forth vocabulary <name>.
VOCOFF FORTH
VOCON FORTH
VOCV FORTH
VYET FORTH
W$ FORTH
W.ID FORTH
W.NAME ( NFA --- ) WORDS
Print name of word NFA. Test to see if conditions are correct,
like CODE, or ALL, or WITHIN, and print name.
WARM ( -- ) KERNEL4
The WARM entry point for Forth, just calles the DEFERed word
WARMFUNC, then calls BYE is WARMFUNC returns. A WARM start is
invoked whenever the CONTROL BREAK key is pressed.
WARMFUNC ( --- ) KERNEL4
A DEFERed word that is invoked when a warm start occurs. This
function is called whenever the CONTROL BREAK key is pressed.
WARMSTRT ( -- ) KERNEL4
The default function to be performed on a WARM start. This
word is plugged into the DEFERed word WARMFUNC, to specify what
is done when the CONTROL BREAK key is pressed. See also
WARMFUNC and WARM.
WARNING ( --- a1 ) KERNEL2
A VARIABLE that holds a boolean flag that determines if you
should be warned in the event you re-define a definition name.
WARNOVER ( --- ) KERNEL3
A warning message that is issued by ?STACK in the event you are
close to running out of CODE memory.
WFLBUTTON HIDDEN
WHILE ( f1 -- ) KERNEL3
Used in the form BEGIN <loop> flag WHILE <true> REPEAT. Repeat
<loop> and <true> clauses while the flag f1 is true (really,
non-zero).
WHITE ( --- n1 ) COLOR
A CONSTANT that return the value for the color white on a color
display. White will blink if used in the background.
WHITE-ON-BLACK ( --- ) MONOCROM
Selects the normal display mode of light characters on a dark
background. The opposite mode is BLACK-ON-WHITE.
WIDTH ( --- a1 ) KERNEL2
Number of characters to keep in name field.
WITHHEADS FORTH
WITHIN ( n1 n2 --- f1 ) KERNEL1
Return true if min <= n1 < max, otherwise false.
WITHNAME HIDDEN
WITHPATH ( --- f1 ) SEQREAD
A boolean VALUE that returns a true flag if the file path is to
be included in the name of the variable that gets compiled by
LOADED, when adding a new file the loaded file list in the
FILES vocabulary. WITHPATH is normally true, so user loaded
files can be located in whatever directory they are in.
WITHPATH is set to FALSE when compiling the system which allows
the VIEWPATH to be applied to system files and have their
location specified at installation time.
WORD ( C1 --- A1 ) KERNEL2
Parse the input stream for char and return a count delimited
string at here. Note there is always a blank following it.
WORDS ( | <text> <text> -- ) WORDS
Display words that match text. <text> is optional, if ommited
then the CONTEXT vocabulary will be displayed. Two space
delimited <text> strings may follow, and only words containing
both <text> strings will be printed:
WORDSAVE FORTH
WORDTYPE FORTH
WRITE-EXE FORTH
WRITE-ONLY FORTH
X, ( n1 --- ) KERNEL2
Compile the value n1 into LIST space into the next available
address as specified by XDPSEG and XDP. XDP is incremented by
two.
X," ( | <string>" --- ) KERNEL3
A " delimited string from the input stream is compiled into
LIST space. This word is used by ." and "" .
X>"BUF ( --- "BUF ) KERNEL3
This word is compiled by the "" word, it moves the string
compiled into LIST space from LIST space to CODE space in the
"BUF buffer. The address of "BUF is then returned on the stack.
XALIGN ( --- ) KERNEL3
Align XDP to the next higher even value. This word is not
currently used in F-PC.
XBINIT HIDDEN
XBSEG HIDDEN
XBUF# HIDDEN
XBUF#+ HIDDEN
XBUF#- HIDDEN
XBUF_INIT HIDDEN
XC, ( n1 --- ) KERNEL2
Compile n1 into the next available byte in LIST space. XDP is
incremented by one.
XDOWN HIDDEN
XDP ( --- a1 ) KERNEL2
A VARIABLE that holds the offset into the XDPSEG where the next
word in a colon definition will be compiled. F-PC always
aligns colon definitions to the next higher segment boundry at
the start of a new definition, causing XDP to equal zero.
XDPSEG ( --- a1 ) KERNEL2
A VARIABLE that holds the current absolute segment where the
next colon definition will be compiled.
XDPSEGLEN FORTH
XDUMP ( a1 n1 --- ) DUMP
DUMP an area of memory in the LIST segment. A1 is a relative
segment offset from XSEG, and n1 is the length to dump in
bytes. This is normally used as follows: ' HEX >BODY @ 10
XDUMP
XEVEN ( a1 --- a2 ) KERNEL3
LIST space is aligned on WORD boundries in F-PC, this word
aligns a1 to the next higher even address a2.
XEXPECT HIDDEN
XFDOS ( ?? --- ?? ) KERNEL2
call INT 21 with most any reg combination used. See the souce
for this word in the KERNEL for more information on how to use
it.
XHERE ( --- seg n1 ) KERNEL2
HERE for LIST space, returns the absolute segment SEG and the
offset into that segment n1 of HERE in LIST space.
XMAX HIDDEN
XMOVED FORTH
XOR ( n1 n2 --- n3 ) KERNEL1
Returns the bitwise Exclusive Or of n1 and n2 on the stack.
XREF ( | <name> --- ) REF
An ALIAS for REF, this word looks through the dictionary and
finds words which use <name>, the names are then displayed.
XSEG ( --- a1 ) KERNEL1
A system variable that holds the current absolute segment of
the LIST area.
XSEGLEN FORTH
XTMP HIDDEN
XUP HIDDEN
Y! ( n1 a1 --- ) KERNEL2
Store the value n1 into the address a1 in HEAD space.
Y, ( n1 --- ) KERNEL2
Compile the value n1 into the next available location in HEAD
space. YDP is incremented by two.
Y-M-D ( --- ) TIMER
Switch the system to using the date format Year-Month-Day.
Y@ ( a1 --- n1 ) KERNEL2
Fetch the 16 bit contents of a1 in HEAD space and return it as
n1.
YC! ( n1 a1 --- ) KERNEL2
Store the byte value n1 into address a1 in HEAD space.
YC@ ( a1 --- n1 ) KERNEL2
Fetch the byte contents of a1 in HEAD space, and return it as
n1.
YCOUNT ( a1 --- a2 n1 ) UTILS
The byte at a1 in HEAD space is returned as n1, and a2=a1+1.
YCSET ( byte a1 --- ) KERNEL2
The byte located at a1 in HEAD space is ored with byte, and the
result is saved back into addr.
YDP ( --- a1 ) KERNEL2
A variable that holds the address in HEAD space of the next
available byte.
YDP-HW HIDDEN
YDP-REG HIDDEN
YDP-SHIFT HIDDEN
YDUMP ( A1 N1 --- ) DUMP
Dump an area of the HEAD segment.
YELLOW ( --- n1 ) COLOR
The color value for YELLOW on a color monitor. Yellow blinks
when used in background.
YHASH ( yname vocaddr --- thre) KERNEL2
Using the name address in HEAD space, and the vocabulary
address, determine the address thread in the vocabulary that
yname should go into. Used by HIDE and REVEAL.
YHERE ( --- a1 ) KERNEL2
Push the contents of YDP the new HEAD pointer on the stack.
YS: ( a1 --- yseg a1 ) KERNEL2
Place a copy of the current HEAD segment under the address a1
on the stack.
YSEG ( -- a1 ) KERNEL1
A variable which holds the base of Head space.
YSTART ( --- a1 ) KERNEL2
System variable, If non-zero, ptr to start of headers after
dictionary. Used to set DP in when SAVE-SYSTEM is used in
making a .COM file.
[ ( -- ) KERNEL3
Stop compiling and start interpreting.
['] ( | <name> -- ) KERNEL3
Compile the CFA of <name> as a literal in a colon definition.
Like ' only used while compiling
[COMPILE] ( | <name> -- ) KERNEL3
Force <name> which is normally an immediate word to be compiled
like any other word.
\ ( -- ) KERNEL4
This line is a comment till the end of this line, and any text
after the \ is ignored.
\%AT FORTH
\%SPACES FORTH
\%TENTHS FORTH
\AT-REST FORTH
\AT-SAVE FORTH
\CHARS FORTH
\EMIT FORTH
\S ( n1 --- ) SEQREAD
Stop loading the current file with the line that contains this
word.
\TYPE FORTH
\TYPEL FORTH
\U FORTH
\UNLESS ( | <name> --- ) UTILS
An immediate word, dont load this line of source UNLESS <name>
is defined, that is treat this line as a comment if <name> is
not defined.
\X FORTH
\Y FORTH
\\ FORTH
] ( -- ) KERNEL3
The Compiling Loop. First sets Compile State. Looks up the next
word in the input stream and either executes it or compiles it
depending upon whether or not it is immediate. If the word is
not in the dictionary, it converts it to a number, either
single or double precision depending on whether or not any
punctuation was present. Continues until input stream is empty
or state changes.
^CHAR FORTH
^NUM FORTH
_BEHEAD HIDDEN
_HEADERLESS HIDDEN
_HEADERS ( -- ) BEHEAD HIDDEN
Internal beheader system word.
` ( command --- ) EXEC
A pseudonym for SYS. See also SYS.