       MVPFORTH VERSION 1.0305.02 -10 AUG 82

      MVPFORTH KERNEL VERSION 1.0305.02

	  A FORTH OPERATING SYSSTEM 

      FORTH THE IBM PERSONAL COMPUTER


		PREPARED FOR

	 MOUNTAIN VIEW PRESS, INC.
	       PO BOX 4656
	 MOUNTAIN VIEW, CA 94040

	     IMPLEMENTATION BY

	    HAYDON ENTERPRISES
	      BOX 429 ROUTE 2
	    LA HONDA, CA 94020


THIS PUBLICATION IS PLACED IN THE PUBLIC 
DOMAIN.  PERMISSION TO DISTRIBUTE IS GRANTED
BY THE INCLUSION OF CREDIT TO MOUNTAIN VIEW
PRESS, INC., AND HAYDON ENTERPRISES. 


THIS IMPLEMENTATION INCLUDES THE ENTIRE 
FORTH-79 REQUIRED WORD SET.  THE BOOK
"ALL ABOUT FORTH"  BY GLEN B. HAYDON FULLY
DOCUMENTS MVPFORTH. IT IS AVAILABLE FROM 
MOUNTAIN VIEW PRESS, INC.  

THE IMPLEMENTATION HAS BEEN TRANSCRIBED FROM
THE ORIGINAL CROSS COMPILER VER. 1.0000.02 .
IT WILL ASSEMBLE WITH "MASM.COM" UNDER MDOS
VER. 1.0 OR 1.1 . 

BECAUSE OF THE TYPE-AHEAD BUFFER OF THE IBM,
?TERMINAL HAS A SLIGHTLY DIFFERENT FUNCTION
FROM STANDARD MVPFORTH.  THE TRUE FLAG IS 
THE ASCII VALUE OF THE KEY STRUCK (THE FALSE
FLAG REMAINS 0).  BY USING  ?DUP  BEFORE 
TESTING, THE VALUE OF THE STRUCK KEY WILL BE
LEFT ON THE STACK.  THUS IT IS NOT NECESSARY
TO CLEAR THE STATUS FLAG WITH THE SEQUENCE
 - KEY DROP . 

THE FORTH REGISTERS ARE ASSIGNED ACCORDING
TO FIG-FORTH FOR THE 8086/88, VERSION 1.0,
AS IMPLEMENTED BY THOMAS NEWMAN, 27444
BERENDA WAY, HAYWARD, CA 94544, AND MADE
AVAILABLE BY THE FORTH INTEREST GROUP, 
BOX 1105, SAN CARLOS, CA 94070.

FORTH REGISTERS

FORTH	8088  FORTH PRESERVATION RULES

 IP	 SI   INTERPRETER POINTER.
	      MUST BE PRESERVED 
	      ACROSS FORTH WORDS. 

 W	 DX   WORKING REGISTER.
	      JUMP TO 'DPUSH' WILL 
	      PUSH CONTENTS ONTO THE
	      PARAMETER STACK BEFORE
	      EXECUTING 'APUSH'.

 SP	 SP   PARAMETER STACK POINTER.
	      MUST BE PRESERVED ACROSS
	      FORTH WORDS.  THIS IS ALSO
	      THE SYSTEM STACK, WHICH 
	      IS SOMETIMES CALLED THE
	      HARDWARE STACK  -HS .

 RP	 BP   RETURN STACK POINTER.
	      MUST BE PRESERVED ACROSS
	      FORTH WORDS. 


IN ADDITION, THE 8088 CODE SEGMENT, DATA
SEGMENT AND STACK SEGMENT REGISTERS ( CS,
DS, AND SS, MUST BE PRESERVED ACROSS 
FORTH WORDS.

THE OTHER REGISTERS OF THE 8088 CPU MAY 
BE USED FREELY. 


  ! 
  !L
  #
  #>
  #BUFF
  #S
  '
  '-FIND
  '?TERMINAL
  'ABORT
  'BLOCK
  'CR
  'EMIT
  'EXPECT
  'INTERPRET
  'KEY
  'LOAD
  'NUMBER
  'PAGE
  'R/W
  'STREAM
  'T&SCALC
  'VOCABULARY
  'WORD
  (
  *
  */
  */MOD
  +
  +!
  +-
  +LOOP
  ,
  -
  -FIND
  -TRAILING
  .
  ."
  .LINE
  .R
  /
  /LOOP
  /MOD
  0
  0<
  0=
  0>
  0BRANCH
  1
  1+
  1-
  2
  2*
  2+
  2-
  2/
  79-STANDARD
  :
  ;
  <
  <#
  <+LOOP>
  <-FIND>
  <.">
  </LOOP>
  <CODE>
  <<CMOVE>
  <?TERMINAL> ( ---C , F )
  <ABORT">
  <ABORT>
  <BLOCK>
  <CMOVE
  <CMOVE>
  <DO>
  <EMIT>
  <EXPECT>
  <FILL>
  <FIND>
  <INTERPRET>
  <KEY>
  <LINE>
  <LOAD>
  <LOOP>
  <NUMBER>
  <PAGE>
  <R/W>
  <T&SCALC>
  <VOCABULARY79>
  <VOCABULARYFIG>
  <WORD>
  =
  >
  >IN
  >R
  ?
  ?COMP
  ?CONFIGURE
  ?CSP
  ?DUP
  ?LOADING
  ?PAIRS
  ?STACK
  ?STREAM
  ?TREMINAL
  @
  @L
  ABORT
  ABORT"
  ABS
  AGAIN
  ALLOT
  AND
  APUSH
  BASE
  BEGIN
  BL
  BLANK
  BLK
  BLK/DRV
  BLOCK
  BPDRV
  BRANCH
  BUFFER
  BYE
  C!
  C!L
  C,
  C/L
  C@
  C@L
  CFA
  CHANGE
  CLEAR
  CMOVE
  COLD
  COMPILE
  CONFIGURE
  CONSTANT
  CONTEXT
  CONVERT
  COUNT
  CR
  CREATE
  CSP
  CURRENT
  D!
  D+
  D+-
  D.
  D.R
  DL
  DABS
  DDROP
  DDUP
  DECIMAL
  DEFINITIONS
  DEN
  DENSITY
  DEPTH
  DIGIT
  DISK-ERROR
  DLITERAL
  DNEGATE
  DO
  DOES>
  DP
  DPL
  DPUSH
  DR-DEN
  DR0
  DR1
  DR2
  DR3
  DR4
  DRIVE
  DROP
  DUP
  ELSE
  EMIT
  EMPTY-BUFFERS
  ENCLOSE
  EPRINT
  EXECUTE
  EXIT
  EXPECT
  FENCE
  FILL
  FIND
  FIRST
  FLD
  FORGET
  FORTH
  FREEZE
  HERE
  HEX
  HLD
  HOLD
  I
  I'
  IF
  IMMEDIATE
  INIT-FORTH
  INIT-USER
  INTCALL
  INTERPRET
  J
  KEY
  LATEST
  LEAVE
  LFA
  LIMIT
  LIST
  LIT
  LITERAL
  LOAD
  LOOP
  M*
  M*/
  M+
  M/
  M/MOD
  MAX
  MAX-DRV
  MIN
  MOD
  MOVE
  NEGATE
  NEXT
  NEXT1
  NFA
  NOT
  NUMBER
  OFFSET
  OR
  OUT
  OVER
  P!
  P@
  PAD
  PAGE
  PFA
  PICK
  PP
  PREV
  PW!
  PW@
  QWERY
  QUIT
  R#
  R/W
  R0
  R>
  R@
  REPEAT
  ROLL
  ROT
  RP!
  RP@
  RPP
  S->D
  S0
  SAVE-BUFFERS
  SCR
  SEC
  SEC-READ
  SEC-WRITE
  SEC/BLK
  SEC/TR
  SET-DRX
  SIGN
  SMUDGE
  SP!
  SP0
  SP@
  SPACE
  SPACES
  SPBLK
  SPDRV
  SPT
  STATE
  SWAP
  SYSCALL
  T&SCALC
  TEXT
  THEN
  TIB
  TOGGLE
  TRACK
  TRAVERSE
  TYPE
  U*
  U.
  U/MOD
  U<
  UNITL
  UP
  UPDATE
  USE
  USER
  VARIABLE
  VOC-LINK
  VOCABULARY
  WARNING
  WHERE
  WHILE
  WIDTH
  WORD
  X   (NULL)
  XOR
  [
  [COMPILE]
  ]
                                                                                               