VOLUME 23

STOIC (STACK ORIENTED INTERACTIVE COMPILER)

STOIC HAS THE CAPABILITIES OF A COMPILER, EDITOR, ASSEMBLER,
DEBUGGER, LOADER AND OPERATING SYSTEM.  IT APPEARS TO BE
CONCEPTUALLY SIMILAR TO FORTH IN THE USE OF AN EXTENSIBLE
VOCABULARY OF WORDS, WITH THE ABILITY TO "FORGET" DEFINITIONS
AND RE-DEFINE OR CREATE NEW WORDS IN TERMS OF PREVIOUSLY LEARNED
WORDS.

THE FIRST TWO MODULES, THE BOOTSTRAP AND KERNEL, WERE WRITTEN
IN ASSEMBLER MNEMONICS.  THEREAFTER THE MODULES WERE WRITTEN IN
STOIC WORDS.

THIS PACKAGE IS A STAND-ALONE SYSTEM AND DOES NOT REQUIRE A
RESIDENT FDOS, SUCH AS CP/M OR ISIS.

THE MATERIAL HAS BEEN SIGNIFICANTLY RE-ARRANGED AND REVISED SINCE
THE CATALOGS WERE PUBLISHED.  IN PARTICULAR THE KERNEL NOW INCORPORATES
WORD DEFINITIONS WHICH PERMIT DIRECT OPERATION THROUGH CP/M.
STOICCPM.DOC EXPLAINS THE PROCEDURE FOR BRINGING THE SYSTEM UP.  IT
WAS NECESSARY TO LEAVE CERTAIN FILES OFF BECAUSE OF LACK OF SPACE,
AND THESE CAN BE OBTAINED AS VOLUME 23B.  THE OVERFLOW VOLUMES WILL
ALSO BE ADDED TO A FUTURE REGULAR VOLUME, AND WERE SELECTED AS THE
LEAST NECESSARY FOR A CP/M USER.

FILES OF TYPE .STC ARE WRITTEN IN STOIC AND CAN BE LOADED AS DESCRIBED
IN THE VOLUME23.DOC

NUMBER  SIZE    NAME            COMMENTS

               CATALOG.23      CONTENTS OF CP/M GROUP VOL 23
               VOLUME23.DOC    COMMENTS ON THIS VOLUME, ADDITIONAL
                               TO STOICCPM.DOC
               STOICCPM.DOC    COMMENTS ON CP/M STOIC. READ TOGETHER
                               WITH THE VOLUME23.DOC
23A.1   13K     ASSEMBL.DOC     STOIC 8080 ASSEMBLER
23A.2   8K      DICT.DOC        STOIC DICTIONARY DEFINITIONS
23A.3   8K      EDIT.DOC        STOIC DISPLAY EDITOR DOC
23A.4   9K      FILES.DOC       STOIC FILE SYSTEM DOC
23A.5   5K      FLOATPNT.DOC    FLOATING POINT DOC
23A.6   2K      INTRRUPT.DOC    INTERRUPT HANDLER DOC
23A.7   38K     KERNEL.ASM      STOIC KERNEL WITH CP/M WORDS IN 8080
                               ASSEMBLER
23A.8   24K     KERNEL.DOC      STOIC KERNEL DOC
23A.9   46K     STOIC.DOC       OVERVIEW OF STOIC CONCEPTS AND STRUCTURE
23A.10  23K     STOICBAS.STC    BASIC DEFINTIONS
23A.11  4K      STOICD/A.STC    GRAPHICS FOR D/A HARDWARE
23A.12  9K      STOICEDT.STC    EDITOR
23A.13  3K      STOICFFT.STC    FAST FOURIER TRANSFORM
23A.14  8K      STOICFLE.STC    FILE SYSTEM
23A.15  11K     STOICFLT.STC    FLOATING POINT PACKAGE
23A.16  5K      STOICINT.STC    4 BYTE INTEGER ADDITION
23A.17  3K      STOICITP.STC    INTERRUPT PACKAGE
23A.18  3K      STOICMIS.STC    MISCELLANEOUS WORDS
23A.19  2K      STOICSIN.STC    INTEGER SINE AND COSINE
23A.20  2K      STOICSRT.STC    SORT ROUTINE

OVERFLOW AVAILABLE AS VOLUME 23B. THIS MATERIAL IS NOT ESSENTIAL
FOR CP/M USE, AND WILL BE AVAILABLE ON A REGULAR VOLUME AT SOME
FUTURE DATE.

23B.1   1K      BOOT.ASM        STOIC BOOTSTRAP IN 8080 ASSEMBLER
23B.2   2K      BOOT.DOC        BOOT DOC
23B.3   6K      LOAD.DOC        INFORMATION ON LOADING STOIC AS A
                               STAND-ALONE SYSTEM
23B.4   13K     STOIC.COM       CP/M STOIC CONSTRUCTED AS DESCRIBED
                               IN VOLUME23.DOC



BECAUSE OF SPACE LIMITS, THE FILE STOIC.COM WAS NOT PLACED ON
THIS DISKETTE, AS SUGGESTED IN STOICCPM.DOC.  ALSO THE BOOTSTRAP
AND DOCUMENTATION ON THE BOOT AND SYSTEM LOADING WERE OMITTED.  THEY
CAN BE OBTAINED A VOLUME 23B, BUT IN ANY EVENT WILL APPEAR AS PART
OF A REGULARLY SCHEDULED FUTURE RELEASE.

;**************************************************

TO CONSTRUCT THE STOIC.COM, IT IS NECESSARY TO ASSEMBLE THE KERNEL
AND THEN HAVE IT LOAD THE BASIC DEFINITIONS.  AS EXPLAINED BELOW, THE
LOADING OF STOICBAS SHOULD BE PERFORMED FROM DRIVE A

MACHINE                         YOU

A>                              ASM KERNEL.AAZ
CP/M ASSEMBLER - VER 1.0

1A98
015H USE FACTOR
END OF ASSEMBLEY

A>
                               LOAD KERNEL
SOURCE IS DISK

FIRST ADDRESS  0100
LAST  ADDRESS  18BD
BYTES READ     0EB6
RECORDS WRITTEN  30

A>
                               KERNEL
0>
                               'STOICBAS CPMLD
0>
                               SZSTOIC
STOIC IS  50 DECIMAL PAGES LONG
                               RETCPM
A>
                               SAVE 50 STOIC.COM
A>

;**************************************************

NOTE THAT THE VALUE OF THE WORD "UNIT" IS DEFAULTED TO 0 IN
THE KERNEL.  THIS DEFINES THE DISK DRIVE FOR LOADING.  THE WORD
TO CHANGE THE DEFINITION IS "!" (THE "'S ARE NOT INCLUDED), WHICH
IS DEFINED IN STOICBAS.  TO CHANGE THE VALUE TYPE

               0 UNIT !

WHICH WILL ALLOW THE FUNCTION

               STOICXXX CPMLD

TO LOAD THE STOICXXX.STC FILE FROM DISK DRIVE B