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