Home

COPYRIGHT LOMBARD SYSTEMS 1983

image

Contents

1. N THIS CONSTANT LEAVES THE NUMBER OF BLOCKS PER EDITING SCREEN BY CONVENTION AN EDITING SCREEN IS ORGANIZED AS 1024 BYTES ORGANIZED AS 16 LINES OF 64 CHARACTERS EACH ADDR CALCULATE THE BACKWARD BRANCH OFFSET FROM HERE TO ADDR AND COMPILE INTO THE NEXT AVAILABLE DICTIONARY MEMORY ADDRESS ADDR U LO A USER VARIABLE CONTAINING THE CURRENT NUMBER BASE USED FOR INPUT AND OUTPUT CONVERSION ADDR N COMPILING P L0 OCCURS IN A COLON DEFINITION IN THE FORM BEGIN UNTIL BEGIN AGAIN BEGIN WHILE REPEAT COPYRIGHT LOMBARD SYSTEMS 1983 11 CORTEX FIG FORTH USER MANUAL AT RUN TIME BEGIN MARKS THE START OF A SEQUENCE THAT MAY BE REPETITIVELY EXECUTED IT SERVES AS A RETURN POINT FROM THE CORRESPONDING UNTILU AGAIN OR REPEAT WHEN EXECUTING UNTIL A RETURN TO BEGIN WILL OCCUR IF THE TOP OF THE STACK IS FALSE FOR AGAIN AND REPEAT A RETURN TO BEGIN ALWAYS OCCURS AT COMPILE TIME BEGIN LEAVES ITS RETURN ADDRESS AND N FOR COMPILER ERROR CHECKING BL C A CONSTANT THAT LEAVES THE ASCII VALUE FOR BLANK BLANKS ADDR COUNT FILL AN AREA OF MEMORY BEGINING AT ADDR WITH BLANKS BLK ADDR U LO A USER VARIABLE CONTAINING THE BLOCK NUMBER BEING INTERPRETED IF ZERO INPUT IS BEING TAKEN FROM THE TERMINAL INPUT BUFFER BLOCK N ADDR LO LEAVE THE MEMORY ADDRESS OF THE BLOCK BUFFER CONTAINING BLOCK N IF THE BLOCK IS NOT ALREADY IN MEMORY I
2. BYTE AT TOS TO THE CASSETTE PORT COPYRIGHT LOMBARD SYSTEMS 1983 31 CORTEX FIG FORTH USER MANUAL S CI B1 INPUT A BYTE FROM THE CASSETTE PORT TO THE RH BYTE OF THE TOS SSS B2 B1 B1 B2 BYTE REVERSE THE ORDER OF THE TOS STACK SWAP U lt U1 U2 F RETURN A TRUE F 1 FLAG IF U1 lt OR EQUAL TO U2 OTHERWISE RETURN FALSE F 0 SDS A VARIABLE CONTAINING THE VALUE EQUAL TO THE START OF THE USER DICTIONARY 2DROP D REMOVE THE TOP DOUBLE PRECISION VALUE FROM THE STACK 2DUP D1 D1 D1 DUPLICATE THE TOP DOUBLE PRECISION VALUE ON THE STACK 2SWAP D2 D1 D1 D2 EXCHANGE THE TOP TWO DOUBLE PRECISION VALUES ON THE STACK SNA PROMPT FOR AND GENERATE A NAME HEADER FOR CASSETTE SAVE SPT A VARIABLE CONTAINING A POINTER TO NAME CHARACTER INPUT SRN GET A FILE NAME FROM TAPE AND DISPLAY IT ON THE TERMINAL DEVICE SWA WAIT APPROXIMATLY ONE SECOND S CK A VARIABLE CONTAINING THE TAPE CHECKSUMS WWD B2 B1 OUTPUT THE TWO BYTES AT THE TOS TO THE CASSETTE PORT LOW BYTE FIRST SHD U2 U1 GENERATE A HEADER WITH CHECKSUM FOR THE TWO VALUES ON THE STACK CD U2 U1 OUTPUT BYTES FROM ADDRESS U1 UPTO AND INCLUDING ADDRESS U2 THEN OUTPUT A CHECKSUM CELL COPYRIGHT LOMBARD SYSTEMS 1983 32 CORTEX FIG FORTH USER MANUAL RDW S RH SRD SP SRP B2B1 INPUT TWO BYTES FROM THE CASSETTE PORT THE FIRST BYTE IS PLACED LOW ORDER ONTHESTACK U2 U1 F READ THE TWO HEADER CELLS FROM THE CASS
3. CONVERSION IS DONE ON A DOUBLE NUMBER PRODUCING TEXT AT PAD lt BUILDS C LO USED WITHIN A COLON DEFINITION CCCC lt BUILDS DOES gt EACH TIME CCCC IS EXECUTED lt BUILDS DEFINES A NEW WORD WITH A HIGH LEVEL EXECUTION PROCEDURE EXECUTING CCCC IN THE FORM CCCC NNNN USES lt BUILDS TO CREATE A DICTIONARY ENTRY FOR NNNN WITH A CALL TO THE DOES gt PART FOR NNNN WHEN NNNN IS LATER EXECUTED IT HAS THE ADDRESS OF COPYRIGHT LOMBARD SYSTEMS 1983 9 CORTEX FIG FORTH USER MANUAL ITS PARAMETER AREA ON THE STACK AND EXECUTES THE WORDS AFTER DOES gt IN CCCC cBLUILDS AND DOES gt ALLOW RUN TIME PROCEEDURES TO BE WRITTEN IN HIGH LEVEL RATHER THAN ASSEMBLER CODE AS REQUIRED BY CODE N1 N2 F LO LEAVE A TRUE FLAG IF N1 N2 OTHERWISE LEAVE A FALSE FLAG gt N1 N2 F LO LEAVE A TRUE FLAG IF N1 IS GREATER THAN N2 OTHERWISE LEAVE A FALSE FLAG gt R N C L0 REMOVE A NUMBER FROM THE COMPUTATION STACK AND PLACE AS THE MOST ACCESSABLE ON THE RETURN STACK USE SHOULD BE BALANCED WITH R gt IN THE SAME DEFINITION ADDR LO PRINT THE VALUE CONTAINED AT THE ADDRESS IN FREE FORMAT ACCORDING TO THE CURRENT BASE COMP ISSUE AN ERROR MESSAGE IF NOT COMPILING CSP ISSUE AN ERROR MESSAGE IF STACK POSITION DIFFERS FROM VALUE SAVED IN CSP ERROR F N ISSUE AN ERROR MESSAGE NUMBER N IF THE BOOLEAN FLAG IS TRUE EXEC ISSUE AN ERROR MESSAGE IF NOT EXECUTING LOADING ISSUE AN ERROR
4. MAXIMUM FORTH BLOCK NUMBER ALLOWED BY SYSTEM TMX EQU gt E28E MAXIMUM TRACK AND MAXIMUM SECTOR VALUES PROF EQU gt E290 FORTH WRITE PROTECT FLAG IF SET TO A 1 WILL WRITE PROTECT TRACK IN MD WORD MD EQU gt E292 MAXIMUM TRACK AND PROTECTED TRACK NUMBER THE LOW ORDER BYTE CONTAINS 2 TIMES THE VALUE OF THE DESIRED PROTECTED TRACK COPYRIGHT LOMBARD SYSTEMS 1983 37 CORTEX FIG FORTH USER MANUAL SYSTEM CALLS INIT EQU gt E294 TXFER EQU gt E2F2 RCALIB EQU gt E3BE COPYRIGHT LOMBARD SYSTEMS 1983 CALL BY BLWP INIT INITIALIZE THE DISC CONTROLLER THIS ROUTINE DOES NOT PERFORM A FULLINITIALIZATION OF THE DISC CONSEQUENTLY USER CALLS TO THIS ROUTINE ARE NOT RECOMMENDED CALL BY BLWP OTXFER CALLERS WORKSPACE AS FOLLOWS RO RETURNED STATUS R1l1 NNNN NNNS DDNN NNNN TRACK DRIVE STARTING SIDE SECTOR R2 WKNN NNNN NNNN NNNN WRITE OF SECTORS RESERVED FLAG TO TRANSFER RH PBYTE SEEK ONLY R3 DATA TRANSFER ADDRESS IF THE WRITE BIT IS SET OPERATION IS A SINGLE MULTI SECTOR WRITE STARTING ADDRESS IN R3 OTHERWISE R3 CONTAINS START ADDRESS OF WHERE READ INFORMATION IS TO BE PLACED IF THE SEEK BIT ISSET OPERATION ABORTS AFTER SEEK EXAMPLE TO WRITE 8 SECTORS FROM gt 6000 IN MEMORY TO TRACK gt 12 STARTING SECTOR gt 5 SIDE ZERO DRIVE 0 CLR R0 CLEAR STATUS LI R1 gt 2405 TRACK gt 12 SIDE 0 DRIVE 0 STARTING SECTOR 5 LI R2 gt 8800 WRITE 8 SECTORS LI R3 gt 6000 TRANSFER ADDRESS gt 6000 BLW
5. MESSAGE IF NOT LOADING PAIRS N1 N2 ISSUE AN ERROR MESSAGE IF N1 DOES NOT EQUAL N2 THE MESSAGE INDICATES THAT COMPILED CONDITIONALS DO NOT MATCH STACK ISSUE AN ERROR MESSAGE IF THE STACK IS OUT OF BOUNDS TERMINAL F PERFORM A TEST OF THE TERMINAL KEYBOARD FOR ACTUATION OF ANY KEY EXCEPTING THE CR KEY A TRUE FLAG INDICATES ACTUATION COPYRIGHT LOMBARD SYSTEMS 1983 10 CORTEX FIG FORTH USER MANUAL ABORT ADDR N LO LEAVE THE 16 BIT CONTENTS OF ADDRESS LO CLEAR THE STACKS AND ENTER THE EXECUTION STATE RETURN CONTROL TO THE OPERATORS ABS AGAIN ALLOT AND B BUF B SCR BACK BASE BEGIN TERMINAL PRINTING SIGN ON MESSAGE N L1 LO LEAVE THE ABSOLUTE VALUE OF NAS U ADDR N COMPILING P C2 LO USED IN A COLON DEFINITION IN THE FORM BEGIN AGAIN AT RUN TIME AGAIN FORCES EXECUTION TO RETURN TO CORRESPONDING BEGIN THERE IS NO EFFECT ON THE STACK EXECUTION CANNOT LEAVE THIS LOOP UNLESS R gt DROP IS EXECUTED ONE LEVEL BELOW AT COMPILE TIME AGAIN COMPILES BRANCH WITH AN OFFSET FROM HERE TO ADDR N IS USED FOR COMPILE TIME ERROR CHECKING N LO ADD THE SIGNED NUMBER TO THE DICTIONARY POINTER DP MAY BE USED TO RESERVE DICTIONARY SPACE OR RE ORIGIN MEMORY N ISA BYTE VALUE N1 N2 N3 LO LEAVE THE BITWISE LOGICAL AND OF N1 AND N2 AS N3 N THIS CONSTANT LEAVES THE NUMBER OF BYTES PER DISC BUFFER THE BYTE COUNT READ FROM DISC BY BLOCK
6. STACK POINTER POSITION FOR COMPILATION ERROR CHECKING D D1 D2 DSUM LEAVE THE DOUBLE NUMBER SUM OF TWO DOUBLE NUMBERS D D1 N D2 APPLY THE SIGN OF N TO THE DOUBLE NUMBER D1 LEAVING IT AS D2 D D L1 PRINT A SIGNED DOUBLE NUMBER FROM A 32 BIT TWO S COMPLEMENT VALUE THE HIGH ORDER 16 BITS ARE MOST ACCESSABLE ON THE STACK CONVERSION IS PERFORMED ACCORDING TO THE CURRENT BASE A BLANK FOLLOWS PRONOUNCED D DOT D R D N PRINT A SIGNED DOUBLE NUMBER D RIGHT ALIGNED IN A FIELD N CHARACTERS WIDE DABS D UD LEAVE THE ABSOLUTE VALUE UD OF A DOUBLE NUMBER DECIMAL LO SET THE NUMERIC CONVERSION BASE FOR DECIMALINPUT OUTPUT DEFINITIONS L1 USED IN THE FORM CCCC DEFINITIONS SET THE CURRENT VOCABULARY TO THE CONTEXT VOCABULARY IN THE EXAMPLE EXECUTING VOCABULARY NAME CCCC MADE IT THE CONTEXT VOCABULARY AND EXECUTING DEFINITIONS MADE BOTH SPECIFY VOCABULARY CCCC DIGIT C N1 N2 TF OK CN1 FF BAD CONVERTS THE ASCII CHARACTER C USING BASE N1 TO ITS BINARY EQUIVALENT N2 ACCOMPANIED BY A TRUE FLAG IF THE CONVERSION IS INVALID LEAVES ONLY A FALSE FLAG DLIST LIST THE NAMES OF THE DICTIONARY ENTRIES IN THE CONTEXT VOCABULARY DLITERAL D D EXECUTING D COMPILING P IF COMPILING COMPILE A STACK DOUBLE NUMBER INTO A LITERAL LATER EXECUTION OF THE DEFINITION CONTAINING THE LITERAL WILL PUSH IT TO THE STACK IF EXECUTING THE NUMBER WILL REMAIN ON THE STACK COPYRIGHT LOMBARD SYSTEMS 1
7. THE NEXT DICTIONARY ADDRESS TO BE PUSHED TO THE STACK LITERAL N COMPILING P C2 L0 IF COMPILING THEN COMPILE THE STACK VALUE N AS A 16 BIT LITERAL THIS DEFINITION IS IMMEDIATE SO THAT IT WILL EXECUTE DURING A COLON DEFINITION THE INTENDED USE IS XXX CALCULATE LITERAL COMPILATION IS SUSPENDED FOR THE COMPILE TIME CALCULATION OF A VALUE COMPILATION IS RESUMED AND LITERAL COMPILES THIS VALUE LOAD N LO BEGIN INTERPRETATION OF SCREEN N LOADING WILL TERMINATE AT THE END OF THE SCREEN ORAT S SEE S AND gt LOOP ADDR N COMPILING P C2 L0 OCCURS IN A COLON DEFINITION IN THE FORM DO LOOP AT RUN TIME LOOP SELECTIVELY CONTROLS BRANCHING BACK TO THE CORRESPONDING DO BASED ON THE LOOP INDEX AND LIMIT THE LOOP INDEX IS INCREMENTED BY ONE AND COMPARED TO THE LIMIT THE BRANCH BACK TO DO OCCURS UNTIL THE INDEX EQUALS OR EXCEEDS THE LIMIT AT THAT TIME THE PARAMETERS ARE DISCARDED AND EXECUTION CONTINUES AHEAD AT COMPILE TIME LOOP COMPILES LOOP AND USES ADDR TO CALCULATE AN OFFSET TO DO N IS USED FOR ERROR TESTING M N1 N2 D A MIXED MAGNITUDE MATH OPERATION WHICH LEAVES THE DOUBLE NUMBER SIGNED PRODUCT OF TWO SIGNED NUMBERS M D N1 N2 N3 A MIXED MAGNITUDE MATH OPERATOR WHICH LEAVES THE SIGNED REMAINDER N2 AND SIGNED QUOTIENT N3 FROM A DOUBLE NUMBER DIVIDEND AND DIVISOR N1 THE REMAINDER TAKES ITS SIGN FROM THE DIVIDEND M MOD UD1 U2 U3 UD4 AN UNSIGNED MIXED MAGNITUDE MATH
8. WRITE LINKAGE ADDR SPECIFIES THE SOURCE OR DESTINATION BLOCK BUFFER BLK IS THE SEQUENTIAL NUMBER OF THE REFERENCED BLOCK AND F IS A FLAG FOR F 0 WRITE AND F 1 READ R W DETERMINES THE LOCATION ON MASS STORAGE PERFORMS THE READ WRITE AND ANY ERROR CHECKING N LO REMOVE THE TOP VALUE FROM THE RETURN STACK AND LEAVE IT ON THE COMPUTATION STACK SEE gt R AND R ADDR A USER VARIABLE CONTAINING THE INITIAL LOCATION OF THE RETURN STACK PRONOUNCED R ZERO SEE RP ADDR N COMPILING P C2 USED WITHIN A COLON DEFINITION IN THE FORM BEGIN WHILE REPEAT AT RUN TIME REPEAT FORCES AN UNCONDITIONAL BRANCH BACK TO JUST AFTER THE CORRESPONDING BEGIN AT COMPILE TIME REPEAT COMPILES BRANCH AND THE OFFSET FROM HERE TO ADDR N IS USED FOR ERROR TESTING COPYRIGHT LOMBARD SYSTEMS 1983 22 CORTEX FIG FORTH USER MANUAL ROT N1 N2 N3 N2 N3 N1 LO ROTATE THE TOP THREE VALUES ON THE STACK BRINGING THE THIRD TO THE TOP RP INITIALIZE THE RETURN STACK POINTER FROM USER VARIABLE RO0 S gt D N D SIGN EXTEND A SINGLE NUMBER TO FORM A DOUBLE NUMBER Ss0 ADDR U A USER VARIABLE THAT CONTAINS THE INITIAL VALUE FOR THE STACK POINTER PRONOUNCED S ZERO SEE SP SCR ADDR U A USER VARIABLE CONTAINING THE SCREEN NUMBER MOST RECENTLY REFERENCED BY LIST SIGN N D D LO STORES AN ASCII SIGN JUST BEFORE A CONVERTED NUMERIC OUTPUT STRING IN THE TEXT OUTPUT BUFFER WHEN N IS NEG
9. 983 14 CORTEX FIG FORTH USER MANUAL DMINUS D1 D2 DO DOES gt DP DPL DR0 CONVERT D1 TO ITS DOUBLE NUMBER TWO S COMPLEMENT N1 N2 EXECUTE ADDRN COMPILE P C2 L0 OCCURS IN A COLON DEFINITION IN THE FORM DO LOOP DO LOOP AT RUN TIME DO BEGINS A SEQUENCE WITH REPETITIVE EXECUTION CONTROLLED BY A LOOP LIMIT N1 AND AN INDEX WITH THE INITIAL VALUE N2 DO REMOVES THESE FROM THE STACK UPON REACHING LOOP THE INDEX IS INCREMENTED BY ONE UNTIL THE NEW INDEX EQUALS OR EXCEEDS THE LIMIT EXECUTION LOOPS BACK TO JUST AFTER DO OTHERWISE THE LOOP PARAMETERS ARE DISCARDED AND EXECUTION CONTINUES AHEAD BOTH N1 AND N2 ARE DETERMINED AT RUN TIME AND MAY BE THE RESULT OF OTHER OPERATIONS WITHIN A LOOP WILL COPY THE CURRENT VALUE OF THE INDEX TO THE STACK SEE l LOOP LOOP LEAVE J WHEN COMPILING WITHIN THE COLON DEFINITION DO COMPILES DO LEAVES THE FOLLOWING ADDRESS ADDR AND N FOR LATER ERROR CHECKING LO A WORD WHICH DEFINES THE RUN TIME ACTION WITHIN A HIGH LEVEL DEFINING WORD DOES gt ALTERS THE CODE FIELD AND FIRST PARAMETER OF THE NEW WORD TO EXECUTE THE SEQUENCE OF COMPILED WORD ADDRESSES FOLLOWING DOES gt USED IN COMBINATION WITH lt BUILDS WHEN THE DOES gt PART EXECUTES IT BEGINS WITH THE ADDRESS OF THE FIRST PARAMETER OF THE NEW WORD ON THE STACK THIS ALLOWS INTERPRETATION USING THIS AREA OR ITS CONTENTS TYPICAL USES INCLUDE THE FORTH ASSEMBLER MU
10. A SEARCH OF CONTEXT AND THEN CURRENT IIT IS CONVERTED TO A NUMBER ACCORDING TO THE CURRENT BASE THAT ALSO FAILING AN ERROR MESSAGE ECHOING THE NAME WITH A WILL BE GIVEN TEXT INPUT WILL BE TAKEN ACCORDING TO THE CONVENTION FOR WORD IF A DECIMAL POINT IS FOUND AS PART OF A NUMBER A DOUBLE NUMBER VALUE WILL BE LEFT THE DECIMAL POINT HAS NO OTHER PURPOSE THAN TO FORCE THIS ACTION SEE NUMBER KEY C LO LEAVE THE ASCII VALUE OF THE NEXT TERMINAL KEY STRUCK LATEST ADDR LEAVE THE NAME FIELD ADDRESS OF THE TOP MOST WORD IN THE CURRENT VOCABULARY LEAVE C LO FORCE TERMINATION OF A DO LOOP AT THE NEXT OPPORTUNITY BY SETTING THE LOOP LIMIT EQUAL TO THE CURRENT VALUE OF THE INDEX THE INDEX ITSELF REMAINS UNCHANGED AND EXECUTION PROCEEDS NORMALLY UNTIL LOOP OR LOOP IS ENCOUNTERED LFA PFA LFA CONVERT THE PARAMETER FIELD ADDRESS OF A DICTIONARY DEFINITION TO ITS LINK FIELD ADDRESS LIMIT N A CONSTANT LEAVING THE ADDRESS JUST ABOVE THE HIGHEST MEMORY AVAILABLE FOR A DISC BUFFER USUALLY THIS IS THE HIGHEST SYSTEM MEMORY COPYRIGHT LOMBARD SYSTEMS 1983 19 CORTEX FIG FORTH USER MANUAL LIST N LO DISPLAY THE ASCII TEXT OF SCREEN N ON THE SELECTED OUTPUT DEVICE SCR CONTAINS THE SCREEN NUMBER DURING AND AFTER THIS PROCESS LIT N C2 LO WITHIN A COLON DEFINITION LIT ISAUTOMATICALLY COMPILED BEFORE EACH 16 BIT LITERAL NUMBER ENCOUNTERED IN THE INPUT TEXT LATER EXECUTION OF LIT CAUSES THE CONTENTS OF
11. ARY TO CASSETTE TAPE DSAVE WILL PROMPT FOR A NAME THIS CAN BE FROM ONE TO TWELVE CHARACTERS IN LENGTH THE OUTPUT TO TAPE WILL COMMENCE AS SOON AS THE TWELFTH CHARACTER IS INPUT OR IF THE NAME IS LESS THAN TWELVE CHARACTERS A CARRIAGE RETURN TERMINATES NAME INPUT IT ISIMPORTANT TO START THE TAPE BEFORE THE TERMINATOR IS ENTERED DSAVE SAVES FROM SDS UNTIL HERE READ A PREVIOUSLY SAVED USER DICTIONARY FROM CASSETTE TAPE DREAD SEARCHES FOR A NAMED FILE ON TAPE IT WILL READ THE FIRST NAMED FILE FOUND THE FILE NAME MILL BE OUTPUT AS FOLLOWS FOUND CCC WHERE CCC IS THE FILE NAME INPUT TO FORTH IS ACCEPTED FROM ANY INPUT PORT CONSEQUENTLY DO NOT HIT ANY KEYS ON THE KEYBOARD OR INPUT FROM THE gt 80 PORT DURING DREAD THE FILE LOADED IS CHECKED FOR ERRORS EITHER OF THE TWO FOLLOWING ERROR CONDITIONS CAN OCCUR DURING TAPE INPUT H ERROR AN ERROR WAS FOUND IN THE HEADER RECORD THE DREAD IS ABORTED D ERROR THE HEADER RECORD WAS RECIEVED CORRECTLY BUT AN ERROR OCCURED IN THE DATA PORTION IN THIS CASE BAD DATA WILL HAVE BEEN LOADED BUT ONLY AT THE CORRECT ADDRESSES AGAIN THE DREAD IS ABORTED THE FOLLOWING WORDS SUPPORT THE TWO MAIN CASSETTE SAVE AND READ WORDS THEY MAY BE CALLED DIRECTLY BY THE USER WITH CAUTION S CS S CR CO SET THE gt 180 PORT FOR CASSETTE I O 2 STOP NO PARITY 8 BITS 300 BAUD RESET THE gt 180 PORT FOR NORMALI O 7 BITS EVEN PARITY 2 STOP BITS 300 BAUD B1 OUTPUT THE RIGHT HAND
12. ATIVE N IS DISCARDED BUT DOUBLE NUMBER D IS MAINTAINED MUST BE USED BETWEEN lt AND tb SMUDGE USED DURING WORD DEFINITION TO TOGGLE THE SMUDGE BIT IN A DEFINITION S NAME FIELD THIS PREVENTS AN UN COMPLETED DEFINITION FROM BEING FOUND DURING DICTIONARY SEARCHES UNTIL COMPILING IS COMPLETED WITHOUT ERROR SP INITIALIZE THE STACK POINTER FROM S0 WILL ALMOST CERTAINLY CAUSE A SYSTEM CRASH IF CALLED FROM THE KEYBOARD sP ADDR RETURN THE ADDRESS OF THE STACK POSITION TO THE TOP OF THE STACK AS IT WAS BEFORE SP WAS EXECUTED SPACE LO TRANSMIT AN ASCII BLANK TO THE OUTPUT DEVICE SPACES N LO TRANSMIT N ASCII BLANKS TO THE OUTPUT DEVICE STATE ADDR L0 A USER VARIABLE CONTAINING THE COMPILATION STATE A NON ZERO VALUE INDICATES COMPILATION SWAP N1 N2 N2 N1 LO EXCHANGE THE TOP TWO VALUES ON THE STACK COPYRIGHT LOMBARD SYSTEMS 1983 23 CORTEX FIG FORTH USER MANUAL TASK THEN TIB TOGGLE A NO OPERATION WORD WHICH CAN MARK THE BOUNDARY BETWEEN APPLICATIONS BY FORGETTING TASK AND RE COMPILING AN APPLICATION CAN BE DISCARDED IN ITS ENTIRETY P C0 L0 AN ALIAS FOR ENDIF ADDR A USER VARIABLE CONTAINING THE ADDRESS OF THE TERMINAL INPUT BUFFER ADDR B COMPLEMENT THE CONTENTS OF ADDR BY THE BIT PATTERN B TRAVERSE ADDR1 N ADDR2 TRIAD TYPE U U UNTIL MOVE ACCROSS THE NAME FIELD OF A CORTEX FIG FORTH VARIABLE LENGTH NAME FIELD ADDR1 IS THE A
13. BOVE LIMITS C LO READ THE NEXT TEXT CHARACTERS FROM THE INPUT STREAM BEING INTERPRETED UNTIL A DELIMITER C IS OOUND STORING THE PACKED CHARACTER STRING BEGINING AT THE DICTIONARY BUFFER HERE WORD LEAVES THE CHARACTER COUNT IN THE FIRST BYTE THE CHARACTERS AND ENDS WITH TWO OR MORE BLANKS LEADING OCCURANCES OF C ARE IGNORED IF BLK IS ZERO TEXT IS TAKEN FROM THE TERMINAL INPUT BUFFER OTHERWISE FROM THE DISC BLOCK STORED IN BLK SEE BLK IN XOR N1 N2 XOR L1 LEAVE THE BITWISE LOGICAL EXCLUSIVE OR OF TWO VALUES P L1 USED IN A COLON DEFINITION IN THE FORM XXX WORDS MORE SUSPEND COMPILATION THE WORDS AFTER ARE EXECUTED NOT COMPILED THIS ALLOWS CALCULATION OR COMPILATION EXECPTIONS BEFORE RESUMING COMPILATION WITH SEE LITERAU 1 COMPILE P C USED IN A COLON DEFINITION IN THE FORM XXX COMPILE FORTH COMPILE WILL FORCE THE COMPILATION OF AN IMMEDIATE DEFINITION THAT WOULD OTHERWISE EXECUTE DURING COMPILATION THE ABOVE EXAMPLE WILL SELECT THE FORTH VOCABULARY WHEN XXX EXECUTES RATHER THAN AT COMPILE TIME COPYRIGHT LOMBARD SYSTEMS 1983 26 CORTEX FIG FORTH USER MANUAL L1 RESUME COMPILATION TO THE COMPLETION OF A COLON DEFINITION SEE COPYRIGHT LOMBARD SYSTEMS 1983 27 CORTEX FIG FORTH USER MANUAL EXTENSIONS TO STANDARD WORDS SET THE FOLLOWING WORDS SUPPORT THE TMS 9995 S COMMUNICATIONS REGISTER UNIT REFERENCE SHOULD BE MADE TO THE TMS 9995
14. CORTEX FIG FORTH USER MANUAL BYTE IN B INPUT A 8 BIT BYTE USING THE CURRENT CRUBASE INPUT IS RIGHT JUSTIFIED ON THE TOS HIGH 8 BITS ZERO 8 BIT PORT READ THE FOLLOWING WORDS SUPPORT ADDITIONAL FEATURES OF CORTEX FIG FORTH THESE WILL BE EXTENDED WITH FUTURE RELEASES OF CORTEX FORTH LU U PRINT THE UNSIGNED 16 BIT INTEGER ON THE CONSOLE DEVICE MEMP ADDR ADDR 8 OUTPUT THE ADDRESS FOLLOWED BY THE CONTENTS OF THE ADDRESS AND THE NEXT 3 MEMORY LOCATIONS USED BY DUMP DUMP ADDR N OUTPUT THE CONTENTS OF THE NEXT N ADDRESSES TO THE CONSOLE DEVICE OUTPUT IS FORMATTED 4 WORDS PER LINE SIZE OUTPUTS THE CURRENT DICTIONARY AND BLOCK BUFFER SIZE TO THE CONSOLE DEVICE CLS CLEAR THE CONSOLE SCREEN C L CONSTANT gt 40 CHARACTERS PER LINE USED BY THE FORTH EDITOR COLOUR B SET THE VDP FOREGROUND BACKGROUND COLOUR THE LEFT HAND NIBBLE IS THE FOREGROUND COLOUR THE RIGHT HAND THE BACKGROUND COLOUR 8INIT INITIALIZE DRIVE ZERO TO 8INCH ONE DRIVE STEP TIME 3MSEC SETTLING TIME 15MSEC HEAD LOAD TIME 35MSEC RECAL TO TRACK ZERO INIT USED BY 8INIT COPYRIGHT LOMBARD SYSTEMS 1983 29 CORTEX FIG FORTH USER MANUAL SOME SIMPLE FORTH DEFINITIONS SQUARE A NUMBER THE FOLLOWING ROUTINE WILL SQUARE A NUMBER ON THE TOP OF THE STACK SQR DUP N NSQUARED TYPE AND FORTH WILL PRINT THE TOP OF STACK VALUE STRING OUTPUT OUTSIDE A DEFINITION HELLO WILL ECHO THE STRING IMMEDIATELY A CARR
15. CORTEX FIG FORTH USER MANUAL REL 1 0 CONTENTS INTRODUCTION INSTALLATION SYSTEM MEMORY MAP GLOSSARY EXTENSIONS EXAMPLE FORTH DEFINITIONS CASSETTE SUPPORT DISC SUPPORT APPENDIX A ERROR MESSAGES B SYSTEM VECTORS C BIBLIOGRAPHY COPYRIGHT LOMBARD SYSTEMS 1983 CORTEX FIG FORTH USER MANUAL INTRODUCTION THE FORTH LANGUAGE WAS INVENTED IN 1970 BY CHARLES MOORE IT IS UNIQUE AMONG HIGH LEVEL LANGUAGES IN THAT THE WHOLE KERNAL INCLUDING COMPILER EDITOR AND ASSEMBER ONLY OCCUPIES ABOUT 8K BYTES THE LANGUAGE PACKAGE SUPPLIED HERE IS FIG FORTH WITH EXTENSIONS FOR DISC CASSETTE AND THE CRU FACILITY OF THE POWERTRAN CORTEX COMPUTER THIS MANUAL SHOULD NOT BE REGARDED AS A TUTORIAL ON THE FORTH LANGAUGE IT IS A DESCRIPTION OF THE WORDS AND FACILITIES OFFERED IN THE CORTEX FIG FORTH EPROM SET SUPPLIED BY LOMBARD SYSTEMS FOR THE USER NEW TO THE FORTH LANGUAGE WE RECOMMEND THE PURCHASE OF THE EXCELLENT BOOK BY LEO BRODIE STARTING FORTH SEE APPENDIX C FORTH TYPICALLY RUNS FIVE TO TEN TIMES FASTER THAN THE EQUIVALENT BASIC IT IS INHERENTLY STRUCTURED AND ENCOURAGES TOP DOWN PROGRAM DESIGN THE USER BUILDS HIS PROGRAM FROM PREVIOUSLY DEFINED WORDS USING THESE WORDS TO CREATE OTHER WORDS UNTIL THE WHOLE APPLICATION IS PERFORMED BY THE EXECUTION OF ONE WORD INSTALLATION CORTEX FIG FORTH IS SUPPLIED IN TWO 2564 EPROMS THESE REPLACE THE FIRST TWO BASIC EPROMS CAREFULLY REMOVE THE FORTH EPROMS FROM THEIR PAC
16. DATA BOOK FOR FURTHER DETAILS OF THIS I O INTERFACE NOTE THE SB RB TB TSTBIT RSTBIT AND SETBIT WORDS AFFECT THE ABSOLUTE BIT NUMBER ON THE TOS THEY ARE NOT CRU BASE RELATIVE E G 300 TB TESTS PHYSICAL CRU BIT 300 THE ONLY DIFFERENCE BETWEEN THE SB RB AND TB AND THE TSTBIT RSTBIT AND SETBIT WORDS IS THAT THE FORMER MODIFY THE CURRENT CRUBASE WHEREAS THE LATER LEAVE THE CRUBASE UN MODIFIED AS A CONSEQUENCE OF THIS SB RB AND TB EXECUTE FASTER CRUBASE N SET THE CURRENT CRUBASE TO THE 16 BIT VALUE N CRUBASE N LEAVE THE 16 BIT CONTENTS OF THE CURRENT CRUBASE SB N SET THE CRU BIT N TO A ONE SETS CURRENT CRUBASE TO N 2 RB N SET THE CRU BIT N TO A ZERO SETS CURRENT CRUBASE TO N 2 TB N F TEST THE CRU BIT N IF BIT 0 LEAVE F 0 IF BIT 1 LEAVE F 1 SETS CURRENT CRUBASE TO N 2 TSTBIT N F TESTS THE CRN BIT N LEAVES A ONE IF BIT EQUALS ONE OR A ZERO IF BIT EQUALS ZERO CURRENT CRUBASE IS NOT MODIFIED RSTBIT N SETS THE CRU BIT N TO ZERO CURRENT CRUBASE UN MODIFIED SETBIT N SET THE CRU BIT N TO A ONE CURRENT CRUBASE IS UN MODIFIED BYTEOUT B OUTPUT THE 8 BIT BYTE LOW 8 BITS OF TOS USING THE CURRENT CRUBASE 8 BIT PORT WRITE WORDOUT N OUTPUT THE 16 BIT SIGNED INTEGER NUMBER USING THE CURRENT CRUBASE 16 BIT PORT WRITE WORD IN N INPUT A 16 BIT SIGNED INTEGER NUMBER USING THE CURRENT CRUBASE 16 BIT PORT READ COPYRIGHT LOMBARD SYSTEMS 1983 28
17. DDRESS OF EITHER THE LENGTH BYTE OR THE LAST LETTER IF N 1 THE MOTION IS TOWARD HI MEMORY IF N 1 THE MOTION IS TOWARD LOW MEMORY THE ADDR2 RESULTING IS THE ADDRESS OF THE OTHER END OF THE NAME SCR DISPLAY ON THE SELECTED OUTPUT DEVICE THE THREE SCREENS WHICH INCLUDE THAT NUMBERED SCR BEGINING WITH A SCREEN EVENLY DIVISIBLE BY THREE OUTPUT IS SUITABLE FOR SOURCE TEXT RECORDS AND INCLUDES A REFERENCE LINE AT THE BOTTOM TAKEN FROM LINE 15 OF SCREEN 4 ADDR COUNT LO TRANSMIT COUNT CHARACTERS FROM ADDR TO THE SELECTED OUTPUT DEVICE U1 U2 UD LEAVE THE UNSIGNED DOUBLE NUMBER PRODUCT OF TWO UNSIGNED NUMBERS UD U1 U2 U3 LEAVE THE UNSIGNED REMAINDER U2 AND UNSIGNED QUOTIENT U3 FROM THE UNSIGNED DOUBLE DIVIDEND UD AND UNSIGNED DIVISOR U1 F RUN TIME ADDR N COMPILE P C2 L0 OCCURS WITHIN A COLON DEFINITION IN THE FORM BEGIN UNTIL AT RUN TIME UNTIL CONTROLS THE CONDITIONAL BRANCH BACK TO THE CORRESPONDING BEGIN IF F IS FALSE EXECUTION RETURNS TO JUST AFTER BEGIN IF TRUE EXECUTION CONTINUES AHEAD AT COMPILE TIME UNTIL COMPILES 0BRANCH AND AN OFFSET FROM HERE TO ADDR N IS USED FOR ERROR TESTS COPYRIGHT LOMBARD SYSTEMS 1983 24 CORTEX FIG FORTH USER MANUAL UPDATE LO MARKS THE MOST RECENTLY REFERENCED BLOCK POINTED TO BY PREV AS ALTERED THE BLOCK WILL SUBSEQUENTLY BE TRANSFERRED AUTOMATICALLY TO DISC SHOULD ITS BUFFER BE REQUIRED FOR STORAGE OF A DIFFERENT BLOCK USE ADDR A VARIAB
18. DEFINED ALL VOCABULARYS ULTIMATELY CHAIN TO FORTH BY CONVENTION VOCABULARY NAMES ARE TO BE DECLARED IMMEDIATE SEE VOC LINK VLIST LIST THE NAMES OF THE DEFINITIONS IN THE CONTEXT VOCABULARY COPYRIGHT LOMBARD SYSTEMS 1983 25 CORTEX FIG FORTH USER MANUAL WARNING ADDR WHILE WIDTH WORD A USER VARIABLE CONTAINING A VALUE CONTROLLING MESSAGES IF 1 DISC IS PRESENT AND SCREEN 4 OF DRIVE 0 IS THE BASE LOCATION FOR MESSAGES IF 0 NO DISC IS PRESENT AND MESSAGES WILL BE PRESENTED BY NUMBER IF 1 EXECUTE ABORT FOR A USER SPECIFIED PROCEDURE SEE MESSAGE ERROR F RUN TIME AD1 N1 AD1 N1 AD2 NP C2 OCCURS IN A COLON DEFINITION IN THE FORM BEGIN WHILE TP REPEAT AT RUN TIME WHILE SELECTS CONDITIONAL EXECUTION BASED ON BOOLEAN FLAG F IF F IS TRUE NON ZERO WHILE CONTINUES EXECUTION OF THE TRUE PART THRU TO REPEAT WHICH THEN BRANCHES BACK TO BEGIN IF F IS FALSE ZERO EXECUTION SKIPS TO JUST AFTER REPEAT EXITING THE STRUCTURE AT COMPILE TIME WHILE EMPLACES 0BRANCH AND LEAVES AD2 OF THE RESERVED OFFSET THE STACK VALUES WILL BE RESOLVED BY REPEAT ADDR IN CORTEX FIG FORTH A USER VARIABLE CONTAINING THE MAXIMUM NUMBER OF LETTERS SAVED IN THE COMPILATION OF A DEFINITION S NAME IT MUST BE 1 THRU 31 WITH A DEFAULT VALUE OF 31 THE NAME CHARACTER COUNT AND ITS NATURAL CHARACTERS ARE SAVED UP TO THE VALUE IN WIDTH THE VALUE MAY BE CHANGED AT ANY TIME WITHIN THE A
19. EAN FLAG IF F IS TRUE NON ZERO EXECUTION CONTINUES AHEAD THRU THE TRUE PART IF F IS FALSE ZERO EXECUTION SKIPS TO JUST AFTER ELSE TO EXECUTE THE FALSE PART AFTER EITHER PART EXECUTION RESUMES AFTER ENDIF ELSE AND ITS FALSE PART ARE OPTIONAL IF MISSING FALSE EXECUTION SKIPS TO JUST AFTER ENDIF AT COMPILE TIME IF COMPILES OBRANCH AND RESERVES SPACE FOR AN OFFSET AT ADDR ADDR AND N ARE USED LATER FOR RESOLUTION OF THE OFFSET AND ERROR TESTING COPYRIGHT LOMBARD SYSTEMS 1983 18 CORTEX FIG FORTH USER MANUAL IMMEDIATE MARK THE MOST RECENTLY MADE DEFINITION SO THAT WHEN ENCOUNTERED AT COMPILE TIME IT MILL BE EXECUTED RATHER THAN BEING COMPILED I E THE PRECEDENCE BIT IN ITS HEADER IS SET THIS METHOD ALLOWS DEFINITIONS TO HANDLE UNUSUAL COMPILING SITUATIONS RATHER THAN BUILD THEM IN TO THE FUNDAMENTAL COMPILER THE USER MAY FORCE COMPILATION OF AN IMMEDIATE DEFINITION BY PRECEEDING IT WITH COMPILE IN ADDR LO A USER VARIABLE CONTAINING THE BYTE OFFSET WITHIN THE CURRENT INPUT TEXT BUFFER TERMINAL OR DISC FROM WHICH THE NEXT TEXT WILL BE ACCEPTED WORD USES AND MOVES THE VALUE OF IN INDEX FROM TO PRINT THE FIRST LINE OF EACH SCREEN OVER THE RANGE FROM TO THISIS USED TO VIEW THE COMMENT LINES OF AN AREA OF TEXT ON DISC SCREENS INTERPRET THE OUTER TEXT INTERPRETER WHICH SEQUENTIALLY EXECUTES OR COMPILES TEXT FROM THE INPUT STREAM TERMINAL OR DISC DEPENDING ON STATE IF THE WORD NAME CANNOT BE FOUND AFTER
20. EMS PLEASE ENQUIRE FOR DETAILS COPYRIGHT LOMBARD SYSTEMS 1983 34 CORTEX FIG FORTH USER MANUAL APPENDIXA FORTH ERROR MESSAGES ERR MSG MESSAGE 0 PRONOUNCED HUH 1 EMPTY STACK 2 DICTIONARY FULL 3 INCORRECT ADX MODE 4 ISN T UNIQUE 6 DISK RANGE 7 FULL STACK 8 DISK ERROR 17 COMPILATION ONLY 18 EXECUTION ONLY COPYRIGHT LOMBARD SYSTEMS 1983 DESCRIPTION THE WORD IN QUESTION CANNOT BE FOUND IN THE DICTIONARY MORE VALUES HAVE BEEN REMOVED FROM THE PARAMETER STACK THAN WERE ADDED NOT ENOUGH VALUES ARE ON STACK TO SUPPORT DEFINITION EXECUTION THE DICTIONARY HAS GROWN INTO THE TERMINALINPUT BUFFER USED BY THE FORTH ASSEMBLER THE NAME OF THIS DEFINITION ALREADY EXISTS ELSEWHERE IN THE DICTIONARY A DISC ACCESS TO A PHYSICALLY NON EX ISTANT BLOCK NUMBER WAS REQUESTED CURRENTLY 249 FOR THIS RELEASE MAKE SURE YOU ARE NOT IN BASE HEX WHEN YOU THINK THINK YOU ARE IN BASE DECIMAL TOO MANY VALUES HAVE BEEN ADDED TO THE PARAMETER STACK AN I O ERROR OCCURED WHILE ATTEMPTING TO READ OR WRITE TO VIRTUAL I O THIS WORD MUST ONLY BE USED WITHIN A COLON DEFINITION THE WORD MUST NOT BE USED WHILE THE SYSTEM IS IN COMPILE MODE 35 CORTEX FIG FORTH USER MANUAL 19 CONDITIONALS NOT PAIRED 20 DEFINITION NOT FINISHED 21 PROTECTED DICTIONARY 22 USE ONLY WHEN LOADING 23 OFF CURRENT EDIT SCREEN 24 DECLARE VOCABULARY COPYRIGHT LOMBARD SYSTEMS 1983 THERE IS SOME SORT OF PROBLEM WITH THE PAIRI
21. ER BY BLOCK MESSAGES BY MESSAGE ARE INDEPENDANT OF OFFSET SEE BLOCK DR0 DR1 MESSAGE OR N1 N2 OR LO LEAVE THE BIT WISE LOGICAL OR OF TWO 16 BIT VALUES OUT ADDR A USER VARIABLE THAT CONTAINS A VALUE INCREMENTED BY EMIT THE USER MAY ALTER AND EXAMINE OUT TO CONTROL DISPLAY FORMATING OVER N1 N2 N1 N2 N1 LO COPY THE SECOND STACK VALUE PLACING IT AS THE NEW TOP PAD ADDR LO LEAVE THE ADDRESS OF THE TEXT OUTPUT BUFFER WHICH IS A FIXED OFFSET ABOVE HERE COPYRIGHT LOMBARD SYSTEMS 1983 21 CORTEX FIG FORTH USER MANUAL PFA PREV QUERY QUIT R R W R gt RO REPEAT NFA PFA CONVERT THE NAME FIELD ADDRESS OF A COMPILED DEFINITION TO ITS PARAMETER FIELD ADDRESS ADDR A VARIABLE CONTAINING THE ADDRESS OF THE DISC BUFFER MOST RECENTLY REFERENCED THE UPDATE COMMAND MARKS THIS BUFFER TO BE LATER WRITTEN TO DISC INPUT 80 CHARACTERS OF TEXT OR UNTIL A RETURN FROM THE OPERATOR S TERMINAL TEXT IS POSITIONED AT THE ADDRESS CONTAINED IN TIB WITH IN SET TO ZERO L1 CLEAR THE RETURN STACK STOP COMPILATION AND RETURN CONTROL TO THE OPERATOR S TERMINAL NO MESSAGE IS GIVEN N COPY THE TOP OF THE RETURN STACK TO THE COMPUTATION STACK ADDR A USER VARIABLE WHICH MAY CONTAIN THE LOCATION OF AN EDITING CURSOR OR OTHER FILE RELATED FUNCTIONS PART OF THE FORTH EDITOR ADDR BLK F THE STANDARD CORTEX FIG FORTH DISC READ
22. ESENTLY UN USED IN CORTEX FIG FORTH FORGET E LO EXECUTING IN THE FORM FORGET CCCC DELETES DEFINITION NAMED CCCC FROM THE DICTIONARY WITH ALL ENTRIES PHYSICALLY FOLLOWING IT IN CORTEX FIG FORTH AN ERROR MESSAGE WILL OCCUR IF THE CURRENT AND CONTEXT VOCABULARIES ARE NOT CURRENTLY THE SAME COPYRIGHT LOMBARD SYSTEMS 1983 17 CORTEX FIG FORTH USER MANUAL FORTH P LO THE NAME OF THE PRIMARY VOCABULARY EXECUTION MAKES FORTH THE CONTEXT VOCABULARY UNTIL ADDITIONAL USER VOCABULARIES ARE DEFINED NEW USER DEFINITIONS BECOME A PART OF FORTH FORTH IS IMMEDIATE SO IT WILL EXECUTE DURING THE CREATION OF A COLON DEFINITION TO SELECT THIS VOCABULARY AT COMPILE TIME HERE ADDR LO LEAVE THE ADDRESS OF THE NEXT AVAILABLE DICTIONARY LOCATION HEX LO SET THE NUMERIC CONVERSION BASE TO SIXTEEN HEXADECIMAL HLD ADDR LO A USER VARIABLE THAT HOLDS THE ADDRESS OF THE LATEST CHARACTER OF TEXT DURING NUMERIC OUTPUT CONVERSION HOLD C LO USED BETWEEN lt AND gt TO INSERT AN ASCII CHARACTER INTO A PICTURED NUMERIC OUTPUT STRING E G 2E HOLD WILL PLACE A DECIMAL POINT N C L0 USED WITHIN A DO LOOP TO COPY THE LOOP INDEX TO THE STACK SEE R ID ADDR PRINT A DEFINITION S NAME FROM ITS NAME FIELD ADDRESS IF F RUN TIME ADDRN COM P C2 L0 OCCURS IN A COLON DEFINITION IN THE FORM IF TP ENDIF IF TP ELSE FP ENDIF AT RUN TIME IF SELECTS EXECUTION BASED ON A BOOL
23. ETTE PORT WHERE U2 END ADDRESS U1 START ADDRESS F 1 IF CHECKSUM IS OK U2 U1 F READ DATA FROM THE CASSETTE PORT WHERE U1 EQUALS THE START ADDRESS U2 THE END ADDRESS AND F 1 IF THE CHECKSUM IS OK SAVE PARAMETERS FOR THIS DICTIONARY TO TAPE READ THE PREVIOUS DICTIONARY PARAMETERS FROM TAPE COPYRIGHT LOMBARD SYSTEMS 1983 33 CORTEX FIG FORTH USER MANUAL DISC SUPPORT THE CURRENT CORTEX FIG FORTH REL 1 0 SUPPORTS A SINGLE 8 INCH DISC DRIVE INSTALLED AS DRIVE ZERO PLEASE ENQUIRE FOR MULTIPLE DRIVE VARIANTS THE DISC FORMAT IS IBM 3740 77 TRACKS PER SIDE SINGLE SIDED 26 SECTORS PER TRACK AND 128 BYTES PER SECTOR BEFORE USING THE DISC THE CONTROLLER MUST BE INITIALIZED AND THE DRIVE RE CALIBRATED THE 8INIT WORD PERFORMS THIS FUNCTION WITH AN 8 INCH DRIVE CONNECTED AND CONFIGURED AS DRIVE ZERO TYPE 8INIT FOLLOWED BY RETURN THE DRIVE SHOULD RE CALIBRATE AND FORTH WILL REPLY INITIALIZATION COMPLETE DISC OPERATION IS NORMALLY CONTROLLED BY THE FORTH OPERATING SYSTEM VIA THE BLOCK AND BUFFER WORDS FORTH MANAGES ALL DISC ACCESSES AS A VIRTUAL MEMORY SYSTEM ALLOCATING BLOCK BUFFERS AND WRITING UPDATED BUFFERS BACK TO DISC SEE THE BUFFER UPDATE AND BLOCK WORDS IN THE GLOSSARY A MORE PRIMITIVE FORM OF DISC ACCESS IS AVAILABLE VIA THE R W WORD SEE ALSO THE SYSTEM VECTORS SECTION APPENDIX B AN 8 INCH DISC CONTAINING THE FORTH EDITOR AN ASSEMBLER AND A NUMBER OF UTILITY PROGRAMS IS AVAILABLE FROM LOMBARD SYST
24. IAGE RETURN IS TYPED INSIDE A DEFINITION GREETING HELLO I M A CORTEX COMPUTER TYPE GREETING AND SEE THE DIFFERENCE THE DO LOOP TYPE IN THE FOLLOWING DEFINITION COUNTER 0 DO I LOOP NOW TYPE 8 COUNTER FORTH WILLTHEN TYPE0 1234567 0OK ON THE SCREEN TRY OTHER VALUES THIS IS AN EXAMPLE OF A DEFINITE LOOP THE PROCEDURE INSIDE THE DO LOOP WILL EXECUTE N 1 TIMES WHERE N IS THE STACK VALUE MEMP USES A DO LOOP TO OUTPUT THE CONTENTS OF THE FOUR ADDRESS VALUES FLASH THE TIME LED THIS ROUTINE WILL FLASH THE TIME LED SIX TIMES AT APPROXIMATELY 3 SEC INTERVALS THEN TYPE A SIGN OFF MESSAGE WAIT 3SEC 3 0 DO SWA LOOP LAMP ON 0RB LAMP OFF 0 SB FLASH 6 0 DO WAIT 3SEC LAMP ON WAIT 3SEC LAMP OFF LOOP CR LIGHTS OUT FOLKS SUBSTITUTE 6 RB AND 6 SB IN THE LAMP ON AND LAMP OFF DEFINITIONS ARRAY GENERATION THE FOLLOWING WORD IS A DEFINING WORD TO CREATE TWO DIMENSION BYTE ARRAYS SUBSCRIPTS START AT ONE ARRAY 2D BYTE ARRAY DEFINING WORD lt BUILDS DUP C ALLOT HERE CELLS DP DOES gt ROT1 OVER C TO CREATE A 2D 4 BY 4 ARRAY CALLED ANIMALS TYPE 4 4 ARRAY ANIMALS TO OBTAIN THE VALUE OF AN ELEMENT TYPE N N ANIMALS C THIS WILL PLACE THE BYTE VALUE ON THE STACK COPYRIGHT LOMBARD SYSTEMS 1983 30 CORTEX FIG FORTH USER MANUAL CASSETTE SUPPORT THE FOLLOWING WORDS ALLOW THE USER TO SAVE THE USER WORD BUFFER TO CASSETTE TAPE DSAVE DREAD SAVE THE CURRENT USER DICTION
25. INAL TO REMOVE APPLICATION PROGRAMS AND RESTART COMPILE C2 WHEN THE WORD CONTAINING COMPILE EXECUTES THE EXECUTION ADDRESS OF THE WORD FOLLOWING COMPILE IS COPIED COMPILED INTO THE DICTIONARY THIS ALLOWS SPECIFIC COMPILATION SITUATIONS TO BE HANDLED IN ADDITION TO SIMPLY COMPILING AN EXECUTION ADDRESS WHICH THE INTERPRETER ALREADY DOES CONSTANT N LO A DEFINING WORD USED IN THE FORM N CONSTANT CCCC TO CREATE A WORD CCCC WITH ITS PARAMETER FIELD CONTAINING N WHEN CCCC IS LATER EXECUTED IT WILL PUSH THE VALUE OF N TO THE STACK CONTEXT ADDR U LO A USER VARIABLE CONTAINING A POINTER TO THE VOCABULARY WITHIN WHICH DICTIONARY SEARCHES WILL BEGIN FIRST COUNT ADDR1 ADDR2 LO LEAVE THE BYTE ADDRESS ADDR2 AND BYTE COUNT N OF A MESSAGE TEXT BEGINNING AT ADDRESS ADDR1 IT IS PRESUMED THAT THE FIRST BYTE AT ADDR1 CONTAINS THE TEXT BYTE COUNT AND THE ACTUAL TEXT STARTS WITH THE SECOND BYTE TYPICALLY COUNT IS FOLLOWED BY TYPE CR LO TRANSMIT A CARRIAGE RETURN AND LINE FEED TO THE SELECTED OUTPUT DEVICE CREATE A DEFINING WORD USE IN THE FORM CREATE CCCC BY SUCH WORDS AS CODE AND CONSTANT TO CREATE A DICTIONARY HEADER FOR A FORTH DEFINITION THE CODE FIELD CONTAINS THE ADDRESS OF THE WORDS PARAMETER FIELD THE NEW WORD IS CREATED IN THE CURRENT VOCABULARY ALSO USED FOR IN LINE ASSEMBLER CODE COPYRIGHT LOMBARD SYSTEMS 1983 13 CORTEX FIG FORTH USER MANUAL CSP ADDR A USER VARIABLE TEMPORARILY STORING THE
26. KING IT IS A GOOD IDEA TO TOUCH AN EARTHED OBJECT BEFORE HANDLING THE EPROMS AS THEY CAN BE DAMAGED BY STATIC CHARGE REMOVE THE COVER FROM YOUR CORTEX AND LOCATE THE BASIC EPROMS SOCKETS IC45 IC46 AND IC47 IN THE ELECTRONICS TODAY INTERNATIONAL ARTICLE REMOVE THE FIRST TWO EPROMS IC47 AND IC46 PLUG THE EPROM MARKED gt 0000 INTO SOCKET IC47 AND THE gt 2000 EPROM INTO SOCKET IC46 CORTEX FORTH OCCUPIES MEMORY IN PROM FROM gt 0000 TO gt 3FFF THE gt SIGN MEANS HEX THE THIRD BASIC EPROM MAY BE LEFT IN OR REMOVED AS YOU DESIRE EITHER WAY WILL MAKE NO DIFFERENCE TO THE EXECUTION OF THE FORTH SYSTEM REPLACE THE COVERS AND POWER ON THE CORTEX THE SYSTEM SHOULD REPLY WITH THE SIGN ON BANNER CORTEX FIG FORTH REL 1 0XX WHERE XX ARE THE RELEASE LETTERS IF THIS FAILS TO OCCUR GO BACK AND RE CHECK YOUR WORK TO MAKE SURE NONE OF THE PINS OF THE EPROMS ARE BENT OVER OR OUTSIDE THE SOCKETS HAPPY FORTH COMPUTING COPYRIGHT LOMBARD SYSTEMS 1983 2 CORTEX FIG FORTH USER MANUAL CORTEX FIG FORTH MEMORY MAP gt F000 VDP DISC AND O TEXT BUFFER I PAD gt D000 LIMIT gt 89A6 USER WORD PUIIEB DISCBUFFERS USE DP gt 2000 FIRST gt 617E PREV DICTIONARY USER VARIABLES 6120 BOOT UP LITERALS 0 TERMINAL F BUFFER gt 0300 Sm TIB D gt 6080 INT AND XOP I O VECTORS ROUTINES SIGa gt 0000 SP COPYRIGHT LOMBARD SYSTEMS 1983 3 CORTEX FIG FORTH USER MANUAL CORTEX FIG FORTH GLOSSARY THIS SECTI
27. L CODE lt H P E LO USED IN THE FORM CALLED A COLON DEFINITION GCGCCC 2 5 CREATES A DICTIONARY ENTRY DEFINING CCCC AS EQUIVALENT TO THE FOLLOWING SEQUENCE OF FORTH WORD DEFINITIONS UNTIL THE NEXT OR CODE THE COMPILING PROCESS IS DONE BY THE TEXT INTERPRETER AS LONG AS STATE IS NON ZERO OTHER DETAILS ARE THAT THE CONTEXT VOCABULARY IS SET TO THE CURRENT VOCABULARY AND THAT WORDS WITH THE PRECEDENCE BIT SET P ARE EXECUTED RATHER THAN BEING COMPILED P C L0 TERMINATE A COLON DEFINITION AND STOP FURTHER COMPILATION COMPILES THE RUN TIME S P C L0 USED IN THE FORM CCCC CODE ASSEMBLY MNEMONICS STOP COMPILATION AND TERMINATE A NEW REFINING WORD CCCC BY COMPILING CODE SET THE CONTEXT VOCABULARY TO ASSEMBLER ASSEMBLING TO MACHINE CODE THE FOLLOWING MNEMONICS WHEN CCCC LATER EXECUTES IN THE FORM CCCC NNNN THE WORD NNNN WILL BE CREATED WITH ITS EXECUTION PROCEDURE GIVEN BY THE MACHINE CODE FOLLOWING CCCC THAT IS WHEN NNNN IS EXECUTED IT DOES SO BY JUMPING TO THE CODE AFTER NNNN AN EXISTING DEFINING WORD MUST EXIST IN CCCC PRIOR TO CODE P L0 STOP INTERPRETATION OF A SCREEN S IS ALSO THE RUN TIME WORD COMPILED AT THE END OF A COLON DEFINITION WHICH RETURNS EXECUTION TO THE CALLING PROCEDURE N1 N2 F LO LEAVE A TRUE FLAG IF N1 IS LESS THAN N2 OTHERWISE LEAVE A FALSE FLAG LO SETUP FOR PICTURED NUMERIC OUTPUT FORMATING USING THE WORDS lt q H HS SIGN gt THE
28. LE CONTAINING THE ADDRESS OF THE BLOCK BUFFER TO USE NEXT AS THE LEAST RECENTLY WRITTEN USER N LO A DEFINING WORD USED IN THE FORM N USER CCCC WHICH CREATES A USER VARIABLE CCCC THE PARAMETER FIELD OF CCCC CONTAINS N AS A FIXED OFFSET RELATIVE TO THE USER POINTER REGISTER UP FOR THIS USER VARIABLE WHEN CCCC IS LATER EXECUTED IT PLACES THE SUM OF ITS OFFSET AND THE USER AREA BASE ADDRESS ON THE STACK AS THE STORAGE ADDRESS OF THAT PARTICULAR VARIABLE VARIABLE E LO A DEFINING WORD USED IN THE FORM N VARIABLE CCCC WHEN VARIABLE IS EXECUTED IT CREATES THE DEFINITION CCCC WITH ITS PARAMETER FIELD INITIALIZED TO N WHEN CCCC IS LATER EXECUTED THE ADDRESS OF ITS PARAMETER FIELD CONTAINING N IS LEFT ON THE STACK SO THAT A FETCH OR STORE MAY ACCESS THIS LOCATION VOC LINK ADDR A USER VARIABLE CONTAINING THE ADDRESS OF A FIELD IN THE DEFINITION OF THE MOST RECENTLY CREATED VOCABULARY ALL VOCABULARY NAMES ARE LINKED BY THESE FIELDS TO ALLOW CONTROL FOR FORGET ING THRU MULTIPLE VOCABULARYS VOCABULARY E L A DEFINING WORD USED IN THE FORM VOCABULARY CCCC TO CREATE A VOCABULARY DEFINITION CCCC SUBSEQUENT USE OF CCCC WILL MAKE IT THE CONTEXT VACABULARY WHICH IS SEARCHED FIRST BY INTERPRET THE SEQUENCE CCCC DEFINITIONS WILL ALSO MAKE CCCC THE CURRENT VOCABULARY INTO WHICH NEW DEFINITIONS ARE PLACED IN CORTEX FIG FORTH CCCC WILL BE SO CHAINED AS TO INCLUDE ALL DEFINITIONS OF THE VOCABULARY IN WHICH CCCC IS ITSELF
29. LINE TEXT TO THE SELECTED OUTPUT DEVICE SEE C THE RUN TIME PROCEDURE COMPILED BY CODE THAT REWRITES THE CODE FIELD OF THE MOST RECENTLY DEFINED WORD TO POINT TO THE FOLLOWING MACHINE CODE SEQUENCE SEE CODE LOOP N C2 THE RUN TIME PROCEDURE COMPILED BY LOOP WHICH INCREMENTS THE LOOP INDEX BY N AND TESTS FOR LOOP COMPLETION SEE LOOP COPYRIGHT LOMBARD SYSTEMS 1983 5 CORTEX FIG FORTH USER MANUAL ABORT EXECUTES AFTER AN ERROR WHEN WARNING IS 1 THIS WORD NORMALLY EXECUTES ABORT BUT MAY BE ALTERED WITH CARE TO A USER S ALTERNATIVE PROCEDURE DO C THE RUN TIME PROCEDURE COMPILED BY DO WHICH MOVES THE LOOP CONTROL PARAMETERS TO THE RETURN STACK SEE DO FIND ADDR1 ADDR2 PFA B TF OK ADDR1 ADDR2 FF BAD SEARCHES THE DICTIONARY STARTING AT THE NAME FIELD ADDRESS ADDR2 MATCHING TO THE TEXT AT ADDR1 RETURNS PARAMETER FIELD ADDRESS LENGTH BYTE OF NAME FIELD AND BOOLEAN TRUE FOR A GOOD MATCH IF NO MATCH IS FOUND ONLY A BOOLEAN FALSE FLAG IS LEFT LINE N1 N2 ADDR COUNT CONVERT THE LINE NUMBER N1 AND THE SCREEN N2 TO THE DISC BUFFER ADDRESS CONTAINING THE DATA A COUNT OF 64 INDICATES THE FULL LINE TEXT LENGTH LOOP C2 THE RUN TIME PROCEDURE COMPILED BY LOOP WHICH INCREMENTS THE LOOP INDEX AND TESTS FOR LOOP COMPLETION SEE LOOP NUMBER D1 ADDR1 D2 ADDR2 CONVERT THE ASCII TEXT BEGINNING AT ADDR1 1 WITH REGARD TO BASE THE NEW VALUE IS ACCUMULATED IN
30. LTI DIMENTIONSIONAL ARRAYS AND COMPILER GENERATION ADDR U L A USER VARIABLE THE DICTIONARY POINTER WHICH CONTAINS THE ADDRESS OF THE NEXT FREE MEMORY ABOVE THE DICTIONARY THE VALUE MAY BE READ BY HERE AND ALTERED BY ALLOT ADDR U LO A USER VARIABLE CONTAINING THE NUMBER OF DIGITS TO THE RIGHT OF THE DECIMAL ON DOUBLE INTEGER INPUT IT MAY ALSO BE USED TO HOLD OUTPUT COLUMN LOCATION OF A DECIMAL POINT IN USER GENERATED FORMATING THE DEFAULT VALUE ON SINGLE NUMBER INPUT IS 1 SELECT DISC DRIVE BY PRESETTING OFFSET THE CONTENTS OF OFFSET IS ADDED TO THE BLOCK NUMBER IN BLOCK TO ALLOW FOR THIS SELECTION OFFSET IS SUPRESSED FOR ERROR TEXT SO THAT IT MAY ALWAYS ORIGINATE FROM DRIVE 0 COPYRIGHT LOMBARD SYSTEMS 1983 15 CORTEX FIG FORTH USER MANUAL DROP N LO DROP THE NUMBER FROM THE STACK DUMP ADDR N LO PRINT THE CONTENTS OF N MEMORY LOCATIONS BEGINNING AT ADDR DUE TO OUTPUT FORMATING CURRENT BASE MUST BE HEX ANY KEY EXCEPT CR TO PAUSE ESC TO EXIT DUP N NN LO DUPLICATE THE VALUE ON THE STACK ELSE ADDR1 N1 ADDR2 N2 COMPILING P C2 LO OCCURS WITHIN A COLON DEFINITION IN THE FORM IF ELSE ENDIF AT RUN TIME ELSE EXECUTES AFTER THE TRUE PART FOLLOWINGI IF ELSE FORCES EXECUTION TO SKIP OVER THE FOLLOWING FALSE PART AND RESUME EXECUTION AFTER THE ENDIF IT HAS NO STACK EFFECT AT COMPILE TIME ELSE EMPLACES BRANCH RESERVING A BRANCH OFFSET LEAVES THE ADDRESS ADDR2 AND N2 FOR ERROR TES
31. NG OF CONDITIONALS WITHIN THE DEFINITION BEING COMPILED DO WITHOUT LOOP OR BEGIN WITHOUT UNTIL ETC THE POSITION OF THE PARAMETER STACK POINTER DIFFERS FROM WHAT IT WAS WHEN THIS DEFINITION BEGAN COMPILING SOMETHING IS WRONG WITH THE DEFINITION THE ADDRESS OF THE DEFINITION BEING FORGOTTEN IS LESS THAN THE VALUE STORED IN FENCE CHANGE THE VALUE IN FENCE THIS DEFINITION SHOULD ONLY BE USED WHEN LOADING OCCURS WHEN USING CORTEX FORTH EDITOR CONTEXT AND CURRENT ARE NOT AIMING AT THE SAME VOCABULARY WHEN ATTEMPTING TO FORGET 36 CORTEX FIG FORTH USER MANUAL APPENDIX B SYSTEM VECTORS THESE ARE ASSEMBLY LANGUAGE LEVEL CALL VECTORS IMPROPER USE MAY CRASH THE FORTH SYSTEM INPUT OUTPUT XOP 0 IS USED FOR LOW LEVEL 0 P CALLED BY EMIT XOP 1 IS USED FOR LOW LEVEL I P ALL OTHER XOP S ARE AVAILABLE FOR USER USE AT PRESENT HOWEVER IT IS RECOMMENDED THAT ANY USER XOP S ARE ALLOCATED FROM 9 UPWARDS FURTHER RELEASES OF CORTEX FIG FORTH MAY COMMIT XOP S LOW ORDER UPWARDS NOTE ALL INPUT IS INTERRUPT DRIVEN INT 4 gt INDICATES A HEXADECIMAL VALUE SYSTEM ADDRESSES CHARS EQU gt 0080 CONTAINS VALUE OF LAST CHARACTER INPUT EVECT EQU gt E284 FORTH DISC READ WRITE ENTRY VECTOR EXPECTS STACK SET UP AS PER R W WORD TOG1 EQU gt E28A SIDE TOGGLE VALUE 0 FOR STANDARD CORTIEX CONTROLS THE SENSE OF THE SIDE SIGNAL SENT TO THE DISC DRIVE LOAD WITH gt 0400 TO CHANGE SIDE SIGNAL POLARITY MAXB EQU gt E28C
32. ON CONTAINS ALL OF THE STANDARD DEFINITIONS IN CORTEX FORTH THE FIRST LINE OF EACH ENTRY SHOWS A SYMBOLIC REPRESENTATION OF THE PROCEDURE S ACTION ON THE PARAMETER STACK THE SYMBOLS ARE IN ORDER OF THEIR POSITION ON THE PARAMETER STACK THE THREE DASHES REPRESENT THE PROCEDURE S EXECUTION POINT ANY PARAMETERS LEFT ON THE STACK AFTER EXECUTION ARE LISTED TO THE RIGHT OF THE THREE DASHES THE TOP OF THE STACK IS RIGHT MOST IN ORDER THIS HAS BECOME STANDARD NOTATION FOR FORTH WORD ACTIONS THE SYMBOLS ARE AS FOLLOWS ADDR B C D F FF N U TF MEMORY ADDRESS 8 BIT BYTE HI 8 BITS ZERO 7 BIT ASCII CHARACTER HI 9 BITS ZERO 32 BIT SIGNED DOUBLE INTEGER MOST SIGNIFICANT PORTION WITH SIGN ON TOP OF THE STACK BOOLEAN FLAG 0 FALSE NON ZERO TRUE BOOLEAN FALSE FLAG 0 16 BIT SIGNED INTEGER NUMBER 16 BIT UNSIGNED INTEGER BOOLEAN TRUE FLAG NON ZERO THE CAPITAL LETTERS ON THE RIGHT SHOW DEFINITION CHARACTERISTICS C E LO L1 P MAY ONLY BE USED WITHIN A COLON DEFINITION A DIGIT INDICATES THE NUMBER OF MEMORY ADDRESSES USED IF MORE THAN ONE INTENDED FOR EXECUTION ONLY LEVEL ZERO DEFINITION OF FORTH 78 LEVEL ONE DEFINITION OF FORTH 78 HAS PRECEDENCE BIT SET WILL EXECUTE EVEN WHEN COMPILING USER VARIABLE UNLESS OTHERWISE NOTED ALL REFERENCES TO NUMBERS ARE FOR 16 BIT SIGNED INTEGERS FOR 32 BIT SIGNED DOUBLE NUMBERS THE MOST SIGNIFICANT PART WITH THE SIGN IS ON TOP ALL ARITHEMETIC IS IMPLICI
33. ON EXITING THE LOOP THE PARAMETERS ARE DISCARDED AND EXECUTION CONTINUES AHEAD ORIGIN N ADDR LEAVE THE MEMORY ADDRESS RELATIVE BY N TO THE ORIGIN PARAMETER AREA N IS THE MINIMUM ADDRESS UNIT EITHER BYTE OR WORD THIS DEFINITION IS USED TO ACCESS OR MODIFY THE BOOT UP PARAMETERS AT THE ORIGIN AREA N LO STORE N IN THE NEXT AVAILABLE DICTIONARY MEMORY CELL ADVANCING THE DICTIONARY POINTER COMMA N1 N2 DIFF LO LEAVE THE DIFFERENCE OF N1 N2 ms P L0 CONTINUE INTERPRETATION WITH THE NEXT DISC SCREEN PRONOUNCED NEXT SCREEN DUP N1 N1 IF ZERO N1 N1 N1 NON ZERO LO REPRODUCE N1 ONLY IF IT IS NON ZERO THIS IS USUALLY USED TO COPY A VALUE JUST BEFORE IF TO ELIMINATE THE NEED FOR AN ELSE PART TO DROP IT FIND PFABTF FOUND FF NOT FOUND ACCEPTS THE NEXT WORD DELIMINATED BY BLANKS IN THE INPUT STREAM TO HERE AND SEARCHES THE CONTEXT AND THEN CURRENT VOCABULARIES FOR A MATCHING ENTRY IF FOUND THE DICTIONARY ENTRY S PARAMETER FIELD ADDRESS ITS LENGTH BYTE AND A BOOLEAN TRUE IS LEFT OTHERWISE ONLY A BOOLEAN FALSE IS LEFT TRAILING ADDR N1 ADDR N2 ADJUSTS THE CHARACTER COUNT N1 OF A TEXT STRING S BEGINNING ADDRESS TO SUPPRESS THE OUTPUT OF TRAILING BLANKS I E THE CHARACTERS AT ADDR N1 TO ADDR N2 ARE BLANKS COPYRIGHT LOMBARD SYSTEMS 1983 7 CORTEX FIG FORTH USER MANUAL N LO PRINT A NUMBER FROM A SIGNED 16 BIT TWO S COMPLEMENT VALUE CONVERTED ACCORDING TO THE NUME
34. OPERATION WHICH LEAVES A DOUBLE QUOTIENT UD4 AND REMAINDER U3 FROM A DOUBLE DIVIDEND UD1 AND SINGLE DIVISOR U2 MAX N1 N2 MAX LO LEAVE THE GREATER OF TWO NUMBERS COPYRIGHT LOMBARD SYSTEMS 1983 20 CORTEX FIG FORTH USER MANUAL MESSAGE N PRINT ON THE SELECTED OUTPUT DEVICE THE TEXT OF LINE N RELATIVE TO SCREEN 4 OF DRIVE0 N MAY BE POSITIVE OR NEGATIVE MESSAGE MAY BE USED TO PRINT INCIDENTAL TEXT SUCH AS REPORT HEADERS IF WARNING IS ZERO THE MESSAGE WILL SIMPLY BE PRINTED AS A NUMBER DISC UN AVAILABLE MIN N1 N2 MIN LO LEAVE THE SMALLER OF TWO NUMBERS MINUS N1 N2 LO LEAVE THE TWO S COMPLEMENT OF A NUMBER MOD N1 N2 MOD LO LEAVE THE REMAINDER OF N1 N2 WITH THE SAME SIGN AS N1 MOVE ADDR1 ADDR2 N MOVE THE CONTENTS OF N MEMORY CELLS 16 BIT CONTENTS BEGINNING AT ADDR1 INTO N CELLS BEGINNING AT ADDR 2 THE CONTENTS OF ADDR1 IS MOVED FIRST NFA PFA NFA CONVERT THE PARAMETER FIELD ADDRESS OF A DEFINITION TO ITS NAME FIELD ADDRESS NUMBER ADDR D CONVERT A CHARACTER STRING LEFT AT ADDR WITH A PRECEEDING COUNT TO A SIGNED DOUBLE NUMBER USING THE CURRENT NUMERIC BASE IF A DECIMAL POINT ISENCOUNTERED IN THE TEXT ITS POSITION WILL BE GIVEN IN DPL BUT NO OTHER EFFECT OCCURS IF NUMERIC CONVERSION IS NOT POSSIBLE AN ERROR MESSAGE WILL BE GIVEN OFFSET ADDR A USER VARIABLE WHICH MAY CONTAIN A BLOCK OFFSET TO DISC DRIVES THE CONTENTS OF OFFSET IS ADDED TO THE STACK NUMB
35. P TXFER EXECUTE COMMAND CI R0 gt FF00 CHECK STATUS JNE ERROR CALL ERROR IF BAD STATUS CALL BY BLWP RCALIB CALLERS WORKSPACE AS FOLLOWS RO RETURNED STATUS R1 ABAB ABAB NNNN DDDD RATES DRIVE D3 D2 D1D0 RESERVED THE RATE PAIRS ARE PER DRIVE AS INDICATED SEE THE TMS 9909 DATA MANUAL THE LH NIBBLE OF THE RH BYTE IS RESERVED THE DRIVE VALUE IS ONE BIT PER DRIVE EXCLUSIVE E G DRIVE 2 0100 DRIVE 0 0000 38 CORTEX FIG FORTH USER MANUAL APPENDIX C BIBLIOGRAPHY FIG FORTH INSTALLATION MANUAL FORTH INTEREST GROUP PO BOX 1105 SAN CARLOS CA 94070 THE FIG GLOSSARY SUPPLIED IN THIS MANUAL WAS TAKEN FROM THE ABOVE PUBLIC DOMAIN PUBLICATION BAKER amp DERICK BRODIE LEO HAYDON G HUANG T KATZAN H JR KNECHT K LOELIGER R SCANLON L TING C WINFIELD A MVP COPYRIGHT LOMBARD SYSTEMS 1983 FORTH ENCYCLOPEDIA MVP 1982 STARTING FORTH PRENTICE HALL 1981 ALL ABOUT FORTH MVP 1983 AND SO FORTH MVP INVITATION TO FORTH VAN NOSTRAND INTRODUCTION TO FORTH HOWARD SAMS THREADED INTERPRETIVE LANGUAGES MCGRAW HILL 1981 BYTE BOOKS FORTH PROGRAMMING HOWARD SAMS 1982 SYSTEMS GUIDE TO FIG FORTH MVP THE COMPLETE FORTH SIGMA TECHNICAL PRESS 1983 MOUNTAIN VIEW PRESS PO BOX 4656 MOUNTAIN VIEW CALIFORNIA 94040 U S A 39
36. RIC BASE A TRAILING BLANK FOLLOWS PRONOUNCED DOT LO USED IN THE FORM CCCC COMPILES AN IN LINE STRING CCCC DELIMITED BY THE TRAILING WITH AN EXECUTION PROCEDURE TO TRANSMIT THE TEXT TO THE SELECTED OUTPUT DEVICE IF EXECUTED OUTSIDE A DEFINITION WILL IMMEDIATELY PRINT THE TEXT UNTIL THE FINAL LINE LINE SCR PRINT ON THE TERMINAL DEVICE A LINE OF TEXT FROM THE DISC BY ITS LINE AND SCREEN NUMBER TRAILING BLANKS ARE SUPPRESSED R N1 N2 PRINT THE NUMBER N1 RIGHT ALIGNED IN A FIELD WHOSE WIDTH IS N2 NO FOLLOWING BLANK IS PRINTED N1 N2 QUOT LO LEAVE THE SIGNED QUOTIENT OF N1 N2 MOD N1 N2 REM QUOT LO LEAVE THE REMAINDER AND SIGNED QUOTIENT OF N1 N2 THE REMAINDER HAS THE SIGN OF THE DIVIDEND 0123 N THESE SMALL NUMBERS ARE USED SO OFTEN THAT IT IS ATTRACTIVE TO DEFINE THEM BY NAME IN THE DICTIONARY AS CONSTANTS 0 lt N F LO LEAVE A TRUE FLAG IF THE NUMBER IS LESS THAN ZERO NEGATIVE OTHERWISE LEAVE A FALSE FLAG 0 N F LO LEAVE A TRUE FLAG IF THE NUMBER IS EQUAL TO ZERO OTHERWISE LEAVE A FALSE FLAG OBRANCH F C2 THE RUN TIME PROCEDURE TO CONDITIONALLY BRANCH IF F IS FALSE ZERO THE FOLLOWING IN LINE PARAMETER IS ADDED TO THE INTERPRETIVE POINTER TO BRANCH AHEAD OR BACK COMPILED BY IF UNTIL AND WHILE 1 N1 N2 L1 INCREMENT N1 BY 1 2 N1 N2 LEAVE N1 INCREMENTED BY 2 COPYRIGHT LOMBARD SYSTEMS 1983 8 CORTEX FIG FORTH USER MANUA
37. T IS TRANSFERRED FROM DISC TO WHICH EVER BUFFER WAS LEAST RECENTLY WRITTEN IF THE BLOCK OCCUPYING THAT BUFFER HAS BEEN MARKED AS UPDATED IT IS RE WRITTEN TO DISC BEFORE BLOCK N IS READ INTO THE BUFFER SEE ALSO BUFFER R W UPDATE FLUSH BRANCH C2 LO THE RUN TIME PROCEDURE TO UNCONDITIONALY BRANCH AN IN LINE OFFSET IS ADDED TO THE INTERPRETIVE POINTER IP TO BRANCH AHEAD OR BACK BRANCH IS COMPILED BY ELSE AGAIN REPEAT BUFFER N ADDR OBTAIN THE NEXT MEMORY BUFFER ASSIGNING IT TO BLOCK N IF THE CONTENTS OF THE BUFFER IS MARKED AS UPDATED IT IS WRITTEN TO THE DISC THE BLOCK IS NOT READ FROM THE DISC THE ADDRESS LEFT IS THE FIRST CELL WITHIN THE BUFFER FOR DATA STORAGE C B ADDR STORE 3 BITS AT ADDRESS C B STORE 8 BITS OF B INTO THE NEXT AVAILABLE DICTIONARY BYTE ADVANCING THE DICTIONARY POINTER MUST BE USED WITH CAUTION TO PREVENT COMPILATION OCCUR ING ON AN ODD ADDRESS BOUNDARY c ADDR B LEAVE THE 8 BIT CONTENTS OF MEMORY ADDRESS COPYRIGHT LOMBARD SYSTEMS 1983 12 CORTEX FIG FORTH USER MANUAL CFA PFA CFA CONVERT THE PARAMETER FIELD ADDRESS OF A DEFINITION TO ITS CODE FIELD ADDRESS CMOVE FROM TO COUNT MOVE THE SPECIFIED QUANTITY OF BYTES BEGINNING AT ADDRESS FROM TO ADDRESS TO THE CONTENTS OF ADDRESS FROM IS MOVED FIRST PROCEEDING TOWARD HIGH MEMORY COLD THE COLD START PROCEDURE TO ADJUST THE DICTIONARY POINTER TO THE MINIMUM STANDARD AND RESTART VIA ABORT MAY BE CALLED FROM THE TERM
38. TING ELSE ALSO RESOLVES THE PENDING FOWARD BRANCH FROM IF BY CALCULATING THE OFFSET FROM ADDR1 TO HERE AND STORING AT ADDR1 EMIT C LO TRANSMIT ASCII CHARACTER C TO THE SELECTED OUTPUT DEVICE OUT IS INCREMENTED FOR EACH CHARACTER OUTPUT EMPTY BUFFERS LO MARK ALL BLOCK BUFFERS AS EMPTY NOT NECESSARILY AFFECTING THE CONTENTS UPDATED BLOCKS ARE NOT WRITTEN TO THE DISC THIS IS ALSO AN INITIALIZATION PROCEDURE BEFORE FIRST USE OF THE DISC ENCLOSE ADDR1 C ADDR1 N1 N2 N3 THE TEXT SCANNING PRIMITIVE USED BY WORD FROM THE TEXT ADDRESS ADDR1 AND AN ASCII DELIMITING CHARACTER C IS DETERMINED THE BYTE OFFSET TO THE FIRST NON DELIMITER CHARACTER N1 THE OFFSET TO THE FIRST DELIMITER AFTER THE TEXT N2 AND THE OFFSET TO THE FIRST CHARACTER NOT INCLUDED THIS PROCEDURE WILL NOT PROCESS PAST AN ASCII NULL TREATING IT AS AN UNCONDITIONAL DELIMITER END P C2 L0 THIS IS AN ALIAS OR DUPLICATE DEFINITION FOR UNTIL ENDIF ADDR N COMPILE P C0 L0 OCCURS IN A COLON DEFINITION IN THE FORM IF ENDIF IF ELSE ENDIF COPYRIGHT LOMBARD SYSTEMS 1983 16 CORTEX FIG FORTH USER MANUAL AT RUN TIME ENDIF SERVES ONLY AS THE DESTINATION OF A FORWARD BRANCH FROM IF OR ELSE IT MARKS THE CONCLUSION OF THE CONDITIONAL STRUCTURE THEN IS ANOTHER NAME FOR ENDIF BOTH NAMES ARE SUPPORTED IN CORTEX FIG FORTH SEE ALSO IF AND ELSE AT COMPILE TIME ENDIF COMPUTES THE FOWARD BRANCH OFFSET FROM ADDR TO HERE AND STORES IT AT ADDR N IS
39. TLY 16 BIT SIGNED INTEGER MATH WITH ERROR AND UNDER FLOW INDICATION UNSPECIFIED COPYRIGHT LOMBARD SYSTEMS 1983 4 CORTEX FIG FORTH USER MANUAL CSP H gt S CODE N ADDR LO STORE 16 BITS OF N AT ADDRESS PRONOUNCED STORE SAVE THE STACK POSITION IN CSP USED AS PART OF COMPILER SECURITY D1 D2 LO GENERATE FROM A DOUBLE NUMBER D1 THE NEXT ASCII CHARACTER WHICH IS PLACED IN AN OUTPUT STRING RESULT D2 IS THE QUOTIENT AFTER DIVISION BY BASE AND IS MAINTAINED FOR FURTHER PROCESSING USED BETWEEN lt AND tb SEE S D ADDR COUNT LO TERMINATE NUMERIC OUTPUT CONVERSION BY DROPPING D LEAVING THE TEXT ADDRESS AND CHARACTER COUNT SUITABLE FOR TYPE D1 D2 LO GENERATE ASCII TEXT IN THE OUTPUT BUFFER BY THE USE OF gt UNTIL A DOUBLE NUMBER RESULTS USED BETWEEN lt AND gt ADDR P LO USED IN THE FORM NNNN LEAVES THE PARAMETER FIELD ADDRESS OF DICTIONARY WORD NNNN AS A COMPILER DIRECTIVE EXECUTES IN A COLON DEFINITION TO COMPILE THE ADDRESS OF A LITERAL IF THE WORD IS NOT FOUND AFTER A SEARCH OF CONTEXT AND CURRENT AN APPROPRIATE ERROR MESSAGE IS GIVEN PRONOUNCED TICK P L0 USED IN THE FORM CCCC IGNORE A COMENT THAT WILL BE DELIMITED BY A RIGHT PARENTHESIS ON THE SAME LINE MAY OCCUR DURING EXECUTION OR IN A COLON DEFINITION A BLANK AFTER THE LEADING PARENTHESIS IS REQUIRED C THE RUN TIME PROCEDURE COMPILED BY WHICH TRANSMITS THE FOLLOWING IN
40. TO DOUBLE NUMBER D1 BEING LEFT AS D2 ADDR2 IS THE ADDRESS OF THE FIRST UNCONVERTABLE DIGIT USED BY NUMBER N1 N2 PROD LO LEAVE THE SIGNED PRODUCT OF TWO SIGNED NUMBERS 2 N1 N2 N3 N4 LO LEAVE THE RATIO N4 N1 N2 N3 WHERE ALL ARE SIGNED NUMBERS RETENTION OF AN INTERMEDIATE 31 BIT PRODUCT PERMITS GREATER ACCURACY THAN WOULD BE AVAILABLE WITH THE SEQUENCE N1 N2 N3 MOD N1 N2 N3 N4 N5 LO LEAVE THE QUOTIENT N5 AND REMAINDER N4 OF THE OPERATION N1 N2 N3 A 31 BIT INTERMEDIATE PRODUCT IS USED AS FOR N1N2 SUM LO LEAVE THE SUM OF N1 N2 I N1 ADDR LO ADD N TO THE VALUE AT THE ADDRESS PRONOUNCED PLUS STORE N1 N2 N3 APPLY THE SIGN OF N2 TO N1 WHICH IS LEFT AS N3 COPYRIGHT LOMBARD SYSTEMS 1983 6 CORTEX FIG FORTH USER MANUAL BUF ADDR1 ADDR2 F ADVANCE THE DISC BUFFER ADDRESS ADDR1 TO THE ADDRESS OF THE NEXT BUFFER ADDR2 BOOLEAN F IS FALSE WHEN ADDR2 IS THE BUFFER PRESENTLY POINTED TO BY VARIABLE PREV LOOP N1 RUN ADDR N2 COMPILE P C2 L0 USED IN A COLON DEFINITION IN THE FORM DO N1 LOOP AT RUN TIME LOOP SELECTIVELY CONTROLS BRANCHING BACK TO THE CORRESPONDING DO BASED ON N1 THE LOOP INDEX AND THE LOOP LIMIT THE SIGNED INCREMENT N1 IS ADDED TO THE INDEX AND THE TOTAL COMPARED TO THE LIMIT THE BRANCH BACK TO DO OCCURS UNTIL THE NEW INDEX IS EQUAL TO OR GREATER THAN THE LIMIT N1 gt 0 OR UNTIL THE NEW INDEX IS EQUAL TO OR LESS THAN THE LIMIT N1 lt 0 UP
41. USED FOR ERROR TESTS ERASE ADDR N CLEAR A REGION OF MEMORY TO ZERO FROM ADDR OVER N ADDRESSES ERROR LINE IN BLK EXECUTE ERROR NOTIFICATION AND RESTART OF SYSTEM WARNING IS FIRST EXAMINED IF 1 THE TEXT OF LINE N RELATIVE TO SCREEN 4 OF DRIVE 0 IS PRINTED THIS LINE NUMBER MAY BE POSITIVE OR NEGATIVE AND BEYOND JUST SCREEN 44 IF WARNING 0 N IS JUST PRINTED AS A MESSAGE NUMBER NON DISC INSTALLATION IF WARNING IS 1 THE DEFINITION ABORT IS EXECUTED WHICH EXECUTES THE SYSTEM ABORT THE USER MAY CAUTIOUSLY MODIFY THIS EXECUTION BY ALTERING ABORT CORTEX FIG FORTH SAVES THE CONTENTS OF IN AND BLK TO ASSIST IN DETERMINING THE LOCATION OF THE ERROR FINAL ACTION IS EXECUTION OF QUIT EXECUTE ADDR EXECUTE THE DEFINITION WHOSE CODE FIELD ADDRESS IS ON THE STACK THE CODE FIELD ADDRESS IS ALSO CALLED THE COMPILATION ADDRESS EXPECT ADDR COUNT LO TRANSFER CHARACTERS FROM THE TERMINAL TO ADDRESS UNTIL A RETURN OR THE COUNT OF CHARACTERS HAVE BEEN RECIEVED ONE OR MORE NULLS ARE ADDED TO THE END OF THE TEXT FENCE ADDR U A USER VARIABLE CONTAINING AN ADDRESS BELOW WHICH FORGETT ING IS TRAPPED TO FORGET BELOW THIS POINT THE USER MUST ALTER THE CONTENTS OF FENCE FILL ADDR QUAN B FILL MEMORY AT THE ADDRESS WITH THE SPECIFIED QUANTITY OF BYTES B FIRST N A CONSTANT THAT LEAVES THE ADDRESS OF THE FIRST LOWEST BLOCK BUFFER FLD ADDR A USER VARIABLE FOR CONTROL OF NUMBER OUTPUT FIELD WIDTH PR

Download Pdf Manuals

image

Related Search

Related Contents

Laser distance sensors user manual  Kambrook KCE42 User's Manual  PDFファイル  Bryant 581A Gas Heater User Manual  Manual do operador    the CD booklet in PDF format  Explosivos - DURAN ELECTRONICA  IPOB-EL3MPIR100L2812  Bedienungsanleitung - Kaffeemaschinen  

Copyright © All rights reserved.
Failed to retrieve file