Related pages:
*FORTH
*FORT. *FOR. *FO.
$MSG (DISK) <CMODE ?FILE ?R/W HIADDR HIMEM MODEADDR MOVE-BUFFERS PAGE SSV
$MSG PLOT MOVE-BUFFERS <CMODE WHERE LINE TEXT MORE ANOTHER PROGRAM CLRSCR SAVE LOCATE EDITOR CODE ?CURRENT ASSEMBLER TRIAD INDEX 79-STANDARD LIST CREATE-SCREENS TAPE ?R/W TR/W TW TR 4HEX SS--> FLUSH SAVE-BUFFERS DISK (DISK) LOAD BLOCK BUFFER UPDATE (UPDATE) +BUF INITBUF SETBUF EMPTY-BUFFERS #BUF PREV USE BUFSZ MINBUF R/W DR/W OPEN FNAME CHANNEL MAXFILES S/FILE (R/W) CLOSE (OPEN) KEY' OS' >CLI (CLI) ($+) STRING OSCLI ROLL PICK .S DEPTH FORGET PRUNE INITVECS TO-DO DOVEC ASSIGN EXVEC: NOVEC VLIST ' REPEAT WHILE AGAIN UNTIL BEGIN ELSE THEN IF +LOOP LOOP DO BACK J 2/ 2* MESSAGE MSG# H. DEC. ? U. . .R D. D.R. #S # SIGN #> <# SPACES M/MOD */ */MOD MOD / /MOD * M/ MABS D+- +- S->D WARM COLD START MODE OSERROR ESCAPE ABORT (ABORT) (WARM) DEFINITIONS QUIT FORTH VOCABULARY INTERPRET NUM (NUM) ( NUMBER ; : ?STACK DLITERAL LITERAL <COMPILE> CREATE (CREATE) ID. ERROR FIND -FIND CONVERT WORD 1WORD WBFR WDSZ (WORD) HOLD BLANKS ERASE FILL MOVE QUERY EXPECT (EXPECT) ." (.") TEXT, -TRAILING TYPE COUNT 0> DOES> ;CODE (;CODE) CR DECIMAL HEX ?TAB NOOP ] [ COMPILE IMMEDIATE ?LOADING ?CSP ?PAIRS ?EXEC ?COMP ?ERROR !CSP NOT PFA CFA NFA LFA U< > = - SMUDGE LAST C, , SPACE ALLOT HERE 2- 1- 2+ 1+ HLD R# CSP DPL BASE STATE CURRENT CONTEXT OFFSET SCR OUT >IN BLK VOC-LINK DP FENCE WARNING WIDTH TIB R0 S0 +ORIGIN B/SCR B/BUF LIMIT FIRST PAD C/L BL 2 1 0 -1 -2 USER VARIABLE CONSTANT R; R: TOGGLE +! ! CPAGE TRAVERSE ROT 20VER OVER 2SWAP SWAP 2DUP ?DUP DUP 2DROP DROP DNEGATE NEGATE D+ + D< < 0< 0= LEAVE >< R> >R R@ EXIT KEY (KEY) ?KEY XOR OR AND U/ U* CMOVE >VDU EMIT (EMIT) RP! SP! RP@ SP@ ENCLOSE (FIND) DIGIT MODEADDR HIADDR (DO) I (ULOOP) (+LOOP) (LOOP) 0BRANCH BRANCH @EXECUTE EXECUTE LIT OK
KISR H LXI SRA5 SRLD 12 ORG + LHLD SPHL NEXT JMP
>>>>> Documentation Update <<<<< ============================================================== 09/15/88 - Please make the following correction in the manual: page: 26 -- R should be R@ 28 -- (blank) @ C C@ 29 -- < <# (blank) # S #S > #> 35 -- IN #IN D IN D#IN 36 -- 2 2@ 37 -- " "@ 41 -- F F@ ----- Please make the following correction in the manual: page 36: Screen Editor control I (not control P) for "Put line..." control K (not control E) for "Empty the entire..." Note: CONTROL is obtained by simultaneous depression of the SHIFT and DOWN-ARROW keys. ==============================================================
! * */ */MOD + +! +loop - /MOD 0< 0= 0> 1+ 1- 2+ 2- < = > >R ?DUP Q ABS AND BEGIN C! C@ colon CMOVE constant create D+ D< DEPTH DNEGATE do does> DROP DUP else EXECUTE EXIT FILL I if J LEAVE literal loop MAX MIN MOD MOVE NEGATE NOT OR OVER PICK R> R@ repeat ROLL ROT semicolon SWAP then U* U/ until variable while XOR
£, £> KS ' ( -TRAILING 79-STANDARD <K >IN ? ABORT BASE BLK CONTEXT CONVERT COUNT CR CURRENT DECIMAL EMIT EXPECT FIND FORTH HERE HOLD KEY PAD QUERY QUIT SIGN SPACE SPACES TYPE U. WORD
+LOOP , ." : ; ALLOT BEGIN COMPILE CONSTANT CREATE DEFINITIONS DO DOES> ELSE FORGET IF IMMEDIATE LITERAL LOOP REPEAT STATE THEN UNTIL VARIABLE VOCABULARY WHILE [ [COMPILE] ]
BLOCK BUFFER EMPTY-BUFFERS LIST LOAD SAVE-BUFFERS SCR UPDATE
<address> @ drop
PC@ PW@ PL@ P@ PC! PW! PL! P!
<value> EQU <name>
TASK .S MON HANG ?TTY VLIST ? . .R D. D.R #S # SIGN #> <# SPACES WHILE ELSE IF REPEAT AGAIN END UNTIL +LOOP LOOP DO THEN ENDIF BEGIN FORGET ' R/W --> LOAD MESSAGE .LINE (LINE) DUMP FLUSH BLOCK BUFFER EMPTY-BUFFERS UPDATE +BUF M/MOD */ */MOD MOD / /MOD * M/ M* MAX MIN DABS ABS D+- +- S->D COLD ABORT QUIT ( DEFINITIONS ASSEMBLER FORTH VOCABULARY IMMEDIATE INTERPRET ?STACK DLITERAL LITERAL [COMPILE] CREATE ID. ERROR (ABORT) -FIND NUMBER (NUMBER) WORD PAD HOLD BLANKS ERASE FILL @ QUERY EXPECT ." (.") -TRAILING TYPE COUNT DOES> <BUILDS ;CODE (;CODE) DECIMAL HEX SMUDGE ] [ COMPILE ?CSP ?PAIRS ?EXEC ?COMP ?ERROR !CSP PFA NFA CFA LFA LATEST -DUP SPACE PICK ROT > < U< = - C, , ALLOT HERE 2- 1- 2+ 1+ B/SCR B/BUF LIMIT FIRST C/L MODE HLD CSP DPL BASE STATE CURRENT CONTEXT OFFSET SCR IN BLK UEMIT UKEY UR/W UABORT UB/SCR UB/BUF ULIMIT UFIRST UC/L PREV USE VOC-LINK DP FENCE WARNING WIDTH TIB R0 S0 BL 3 2 1 0 USER CODE VARIABLE CONSTANT ; : C! ! C@ @ TOGGLE +! BOUNDS 2DUP DUP SWAP 2DROP DROP OVER DNEGATE NEGATE D+ + 0< NOT 0= R R> >R LEAVE ;S RP@ RP! SP! SP@ XOR OR AND U/ U* CMOVE -CR CLOSE CHAIN FINIS SOURCE BAUD WRITE READ ?OUT ?IN PUT GET CR ?TERMINAL KEY EMIT ENCLOSE (FIND) DIGIT I (DO) (+LOOP) 0BRANCH BRANCH EXECUTE CLIT LIT
! 2DUP D+- MOD # 3 D. NEGATE #> 4 D.R OR #S ;S DABS OVER (+LOOP) < DECIMAL PAD (.") <# DIGIT PICK (DO) = DISK QUERY (FIND) > DNEGATE R (LOOP) >R DPL R> (NUMBER) ? DREAD RP! * ?TERMINAL DROP RP@ */ @ DUP R0 */MOD ABS DWRITE ROT + AND EEC! S->D +! BANKC! EMIT S0 +- BANKC@ ENCLOSE SEEK - BANKEEC! ERASE SELECT -DUP BANKEXECUTE EXECUTE SIGN -TRAILING BASE EXPECT SP! . BL FILL SP@ .R BLANKS HEX SPACE / BOUNDS HLD SPACES /MOD BRANCH HOLD SWAP 0 C! IN TIB 0< C/L INIT TOGGLE 0= C@ KEY TYPE 0BRANCH CLD/WRM LEAVE U* 1 CLIT LIT U/ 1+ CMOVE M* U< 1- COLD M/ UC/L 2 COUNT M/MOD UPAD 2+ CR MAX UR/W 2- D+ MIN XOR 2Drop
TASK ADMP ;DUMP FORMAT FMTRK BANKEXECUTE BANKEEC! BANKC@ BANKC! EEC! CASE: MEMTOP SCDR SCSR SCCR MCR IER IFR PG PF PE PD PC PB PA NMIVEC IRQVEC INTVEC INTFLG C,CON .S MON VLIST INDEX LIST ? . .R D. D.R #S 1 SIGN #> <# SPACES WHILE ELSE IF REPEAT AGAIN END UNTIL +LOOP LOOP DO THEN ENDIF BEGIN FORGET AUTOSTART ?KERNEL HWORD H/C ' SEEK INIT DWRITE DREAD SELECT DISK R/W B/SCR B/BUF -BCD —-> LOAD MESSAGE >LINE .LINE (LINE) DUMP FLUSH BLOCK BUFFER EMPTY-BUFFERS UPDATE +BUF M/MOD */ */MOD MOD / /MOD * M/ M* MAX MIN DABS ABS D+- +- S->D COLD ABORT QUIT ( DEFINITIONS ASSEMBLER FORTH VOCABULARY IMMEDIATE INTERPRET ?STACK DLITERAL LITERAL [COMPILE] CREATE ID. ERROR (ABORT) -FIND NUMBER (NUMBER) WORD HOLD BLANKS ERASE FILL QUERY EXPECT ." (.") -TRAILING TYPE COUNT DOES> <BUILDS ;CODE (;CODE) DECIMAL HEX SMUDGE ] [ COMPILE ?CSP ?PAIRS ?EXEC ?COMP ?ERROR !CSP PFAPTR NFA CFA LFA LATEST TRAVERSE -DUP SPACE PICK ROT > < U< = - C, , ALLOT HERE ,/ ALLOT/ HERE/ DP/ 2- 1- 2+ 1+ PAD LIMIT FIRST C/L KHZ MODE CSP STATE CURRENT CONTEXT SCR BLK PREV USE UABORT VOC-LINK HEADERLESS DP FENCE WARNING WIDTH OFFSET ULIMIT UFIRST B/SIDE CYLINDER DISKNO HLD DPL IN CLD/WRM BASE UR/W UPAD UC/L R0 S0 TIB BL 4 3 2 1 0 USER CODE VARIABLE CONSTANT ; : C! ! C@ @ TOGGLE +! BOUNDS 2DUP DUP SWAP 2DROP DROP OVER DNEGATE NEGATE D+ + 0< NOT 0= R R> >R LEAVE ;S RP@ RP! SP! SP@ XOR OR AND U/ U* CMOVE FINIS SOURCE XOFF XON CR ?TERMINAL KEY EMIT ENCLOSE (FIND) DIGIT I (DO) (+LOOP) (LOOP) 0BRANCH BRANCH EXECUTE CLIT LIT
plus #2846 (” ”).
END-CODE 0< 0= VS CS NOT ELSE, THEN, ENDIF, IF, REPEAT, AGAIN, WHILE, UNTIL, BEGIN, BITCLR BITSET RMB, 8MB, BIT, JMP, JSR, STY, LDY, LDX, CPY, CPX, STX, ROR, ROL, LSR, INC, DEC, ASL, STA, SBC, ORA, LDA, EOR, CMP, AND, ADC, TXS, TYA, TXA, TSX, TAY, TAX, SEI, SED, SEC, RTS, RTI, PLP, PLA, PHP, PHA, NOP, INY, INX, DEY, DEX, CLV, CLI, CLD, CLC, BRK, RP) SEC TOP ) )Y X) ,Y ,X MEM # ,A SETUP BINARY PUTOA PUSHOA POPTWO POP PUT PUSH NEXT XSAVE UP W IP N
,/ .S ;DUMP >LINE 1- 2- 2DROP 2DUP 4 ?KERNEL ADMP ALLOT/ ASSEMBLER AUTOSTART B/SIDE BANKEEC! BANKC! BANKC@ BANKEXECUTE BOUNDS C,CON C/L CASE: CLD/WRM CLIT CODE CURRENT CYLINDER DISK DISKNO DNEGATE DP/ DREAD DWRITE EEC! FINIS FLUSH FORMAT FMTRK H/C HEADERLESS HERE/ HWORD IER IFR INIT INTFLG INTVEC IRQVEC KHZ MCR MEMTOP NEGATE NMIVEC NOT PA PB PC PD PE PF PFAPTR PG PICK PR@ SCCR SCDR SCSR SEEK SELECT SOURCE U< UABORT UC/L UFIRST ULIMIT UPAD UR/W XOFF XON
- However, “PR@” is no FORTH word listed by VLIST.
Word Name | Where Used | Comment |
---|---|---|
+ORIGIN | system | |
?LOADING | system | |
BACK | system | |
BLOCK-READ | user disk word | (DREAD) |
BLOCK-WRITE | user disk word | (DWRITE) |
DLIST | duplicate name | (VLIST) |
DMINUS | new name | (DNEGATE) |
DR0 | disk | |
DR1 | disk | |
FLD | not used | |
MINUS | new name | (NEGATE) |
MOVE | N/A | (word addressing computers) |
NEXT | RSC-FORTH Assembler | |
OUT | not used | |
POP | RSC-FORTH Assembler | |
PUSH | RSC-FORTH Assembler | |
PUT | RSC-FORTH Assembler | |
R# | system | |
TRAVERSE | system | |
TRIAD | disk | |
X | system | (null) |
FORTH UFLOAD INT FNEGATE F/ F* F+ F- LOAD BVERIFY VERIFY BLOAD BSAVE SAVE LIST EDIT FORGET REDEFINE EXIT ." ( [ +LOOP LOOP DO UNTIL REPEAT BEGIN THEN ELSE WHILE IF ] LEAVE J I' I DEFINITIONS VOCABULARY IMMEDIATE RUNS> DOES> COMPILER CALL DEFINER ASCII LITERAL CONSTANT VARIABLE ALLOT C, , CREATE : DECIMAL MIN MAX XOR AND OR 2- 1- 2+ 1+ D+ - + DNEGATE NEGATE U/MOD */ * MOD / */MOD /MOD U* D< U< < > = 0> 0< 0= ABS OUT IN INKEY BEEP PLOT AT F. EMIT CR SPACES SPACE HOLD CLS # #S U. . SIGN #> <# TYPE ROLL PICK OVER ROT ?DUP R> >R ! @ C! C@ SWAP DROP DUP SLOW FAST INVIS VIS CONVERT NUMBER EXECUTE FIND VLIST WORD RETYPE QUERY LINE PAD BASE CURRENT CONTEXT HERE ABORT QUIT
ASSEMBLER FORTH-83 (64 C) (16 C64INIT INIT-SYSTEM INK-POT FINDEX INDEX 1541R/W DISKCLOSE DISKOPEN WRITESECTOR READSECTOR DERROR? BUSINPUT BUS@ BUSTYPE BUS! BUSIN (BUSIN BUSCLOSE BUSOPEN BUSOFF I/O DRVINIT DRV? >DRIVE DRIVE (DRV BLK/DRV B/BLK DISPLAY C64TYPE C64AT? C64AT C64PAGE C64DEL C64CR C64EMIT PRINTABLE? CON! KEYBOARD C64EXPECT C64DECODE #CR #BS C64KEY CUROFF CURON GETKEY C64KEY? RESTART COLD 'RESTART 'COLD EXPECT DECODE KEY? KEY INPUT: COL ROW AT? AT PAGE DEL TYPE CR EMIT OUTPUT: (FORGET CLEAR CUSTOM-REMOVE ALL-BUFFERS FREEBUFFER ALLOTBUFFER FIRST LIMIT CONVEY COPY BLKMOVE (COPY FLUSH EMPTY-BUFFERS SAVE-BUFFERS UPDATE BLOCK BUFFERS (BLOCK (BUFFER CORE? R/W DISKERR (DISKERR B/BUF BUFFERS PREV FILE UNLOCK LOCK PAUSE LIST L/S C/L .S U. . D: U.R .R D.R #S # SIGN #> <# HOLD SPACES SPACE -TRAILING BL ERROR" ABORT" (ABORT" (ERROR QUIT 'QUIT (QUIT DEPTH RDEPTH --> +THRU THRU +LOAD LOAD PUSH .STATUS ?STACK IS (IS DEFER ] [ INTERPRET NO.EXTENSIONS NOTFOUND >INTERPRET NULLSTRING? ['] [COMPILE] ' FIND (FIND WORDS ORDER DEFINITIONS ONLYFORTH ONLY FORTH VOCABULARY TOSS ALSO UALLOT VARIABLE CONSTANT ; : CREATE: .NAME >BODY NAME> >NAME NFA? CREATE WARNING | ?HEAD DOES> HEAP? HEAP HALLOT CLEARSTACK RESTRICT IMMEDIATE RECURSIVE REVEAL HIDE LAST NUMBER 'NUMBER? NUMBER? DPL PREVIOUS CHAR END? CONVERT ACCUMULATE DIGIT? DECIMAL HEX \NEEDS \\ \ .( ( ." (." " (" "LIT ." ASCII STATE NAME PARSE WORD SOURCE CAPITALIZE CAPITAL /STRING SKIP SCAN QUERY TIB SPAN BLK >IN >TIB #TIB COMPILE C, , ALLOT PAD HERE FILL ERASE COUNT PLACE MOVE CMOVE> CMOVE UD/MOD U/MOD */ */MOD MOD / /MOD 2/ M/MOD UM/MOD 2* * M* UM* LEAVE +LOOP LOOP ?DO DO UNTIL REPEAT WHILE BEGIN ELSE THEN IF CASE? ?PAIRS <RESOLVE <MARK >RESOLVE >MARK ?BRANCH BRANCH J I (+LOOP (LOOP ENDLOOP BOUNDS (?DO (DO ABS DABS EXTEND UMIN UMAX MAX MIN D< D= D0= = U> 0<> 0> > U< < UWITHIN 0= 0< LITERAL LIT CLIT OFF ON 4 3 2 1 0 -1 FALSE TRUE 2- 1- 3+ 2+ 1+ D+ DENEGATE NEGATE NO - XOR AND OR + 2DUP 2DROP 2SWAP ROLL PICK UNDER NIP -ROT ROT OVER ?DUP DUP SWAP DROP +! ! @ CTOGGLE C! C@ PERFORM EXECUTE ?EXIT UNNEST EXIT DROP R@ R> >R RP! RP@ UP! UP@ SP! SP@ UDP VOC-LINK ERRORHANDLER INPUT OUTPUT BASE OFFSET DP R0 S0 ORIGIN NOOP RECOVER END-TRACE LOGO
LISTING DOCUMENT PRINTALL PTHRU PRINT PRINTER PRINTER.SCR BUFFERS RELOCATE RELOCATE.SCR TRACE' DEBUG DUMP LDUMP TOOLS TOOLS.SCR INDEX INDEX.SCR SAVESYSTEM BYE VIEW L V 'EDITFILE 'R# 'SCR EDWINDOW.SCR GEM\VDI.SCR GEM\SUPERGEM.SCR EDIICON.SCR EDITOR.SCR GEM GEM\BSIC.SCR GEM\AES.SCR MFREE MALLOC ALLOCATE.SCR 0" ,0" 0>C" C>0" $ADD $SUM INSERT DELETE SEARCH COMPARE-TEXT CAPS STRINGS.SCR ASSEMBLE.SCR BLAK BELL CPUSH ABORT( .BLK >ABSADDR DIVERSES.SCR STARTUP.SCR FILEINT.SCR FORTH_83.SCR CONVEY REMOVE? (VIEW D: C: B: A: DIR MAKEDIR MORE (MORE FILES" FILES EOF INCLUDE LOADFROM FROM MAKEFILE USE MAKE ASSIGN CLOSE OPEN PATH LIST FILE? FLUSH DIRECT FILE CAPACITY DOS SAVESYSTEM ARGUMENTS FORTH-83 STR/W RWABS DRV1 DRV0 DRVINIT DRV? >DRIVE BLK/DRV (BLK/DRV B/BLK DISPLAY STTYPE STAT? STAT STPAGE STDEL STCR STEMIT KEYBOARD STEXPECT STDECODE STKEY GETKEY STKEY? CURRITE CURLEFT WRAP CUROFF CURON CON! #ESC #LF #CR #BS BCONOUT BCONIN BCOSTAT BCONSTAT RESTART COLD 'RESTART 'COLD EXPECT DECODE KEY? KEY INPUT: COL ROW AT? AT PAGE DEL TYPE CR EMIT OUTPUT: ?CR STOP? BYE SAVE EMPTY FORGET (FORGET CLEAR CUSTOM-REMOVE REMOVE ALL-BUFFERS FREEBUFFER ALLOTBUFFER FIRST LIMIT CONVEY COPY FLUSH EMPTY-BUFFERS SAVE-BUFFERS UPDATE BLOCK BUFFER ISFILE@ (BLOCK (BUFFER CORE? UNLOCK LOCK PAUSE LIST L/S C/L .S U. . D. U.R .R D.R #S # SIGN #> <# HOLD SPACES SPACE BL -TRAILING ERROR" ABORT" (ABORT" (ERROR R# SCR ABORT 'ABORT STANDARDI/O QUIT 'QUIT (QUIT DEPTH RDEPTH --> +THRU THRU +LOAD LOAD (LOAD PUSH .STATUS ?STACK IS (IS DEFER ] [ INTERPRET NO.EXTENSIONS NOTFOUND >INTERPRET NULLSTRING? ['] [COMPILE] ' FIND (FIND WORDS ORDER DEFINITIONS ONLYFORTH ONLY FORTH VOCABULARY TOSS ALSO CONTEXT CURRENT VP ALIAS USER UALLOT 2VARIABLE VARIABLE 2CONSTANT CONSTANT ; : CREATE: .NAME >BODY NAME> >NAME NFA? CREATE MAKEVIEW BLK@ WARNING HALIGN ALIGN | ?HEAD DOES> HEAP? HEAP HALLOT CLEARSTACK RESTRICT IMMEDIATE RECURSIVE REVEAL HIDE LAST NUMBER NUMBER? DPL CONVERT ACCUMULATE DIGIT? DECIMAL HEX \NEEDS \\ \ .( ( ." (." " (" "LIT ," ASCII STATE NAME PARSE WORD SOURCE LOADFILE EVEN (WORD CAPITALIZE CAPITAL SCAN SKIP /STRING QUERY TIB SPAN BLK >IN >TIB #TIB COMPILE PAD ALLOT HERE C, , ERASE FILL COUNT PLACE MOVE CMOVE> CMOVE UD/MOD U/MOD */ */MOD MOD / /MOD M/MOD UM/MOD 2/ 2* M* * UM* LEAVE +LOOP LOOP ?DO DO UNTIL REPEAT WHILE BEGIN ELSE THEN IF CASE? ?PAIRS <RESOLVE <MARK >RESOLVE >MARK ?BRANCH BRANCH J I (+LOOP (LOOP ENDLOOP BOUNDS (?DO (DO ABS DABS EXTEND UMIN UMAX MAX MIN D< D= D0= = U> 0<> 0> > UWITHIN U< < 0= 0< LITERAL LIT 0 -1 4 3 2 1 FALSE TRUE OFF ON 4- 2- 1- 4+ 3+ 2+ 1+ D* D- D+ DNEGATE NEGATE - NOT XOR AND OR + "DROP 2OVER 2DUP 2SWAP -ROLL ROLL PICK -ROT UNDER NIP ROT OVER ?DUP DUP SWAP DROP +! LN+! L2! L2@ LCMOVE L! L@ LC! LC! 2! 2@ ! @ CTOGGLE C! C@ PERFORM EXECUTE ?EXIT UNNEST EXIT RDROP R@ R> >R RP! RP@ FORTHSTART UP! UP@ SP! SP@ END-TRACE UP NEXT-LINK UDP VOC-LINK ERRORHANDLER INPUT OUTPUT BASE OFFSET DP R0 S0 ORIGIN NOOP RECOVER
BUFFERS RELOCATE.SCR SPOOL SPOOLER LISTING DOCUMENT PTHRU PRINTABLE? PRINT PRINTER SHADOW PRINTER.SCR TASKS 'S RENDEZVOUS TASK WAKE SLEEP ACTIVATE PASS MULTITASK SINGLETASK STOP TASKER.SCR SEE SEE.SCR EXTERNAL INTERNAL TRACE' DEBUG DUMP TOOLS TOOLS.SCR FIX VIEW SAVESYSTEM L V #DEL CTRL UPDATED? EDITOR ?ABORT( ?ENOUGH BLANK REPLACE INSERT DELETE EDITOR.SCR SAVESYSTEM SAVESYS.SCR CONVEY COPY COPY.SCR ANSI TERMINAL.SCR (KEY (EXPECT (DECODE (DEL (CR (EMIT (TYPE (PAGE (AT? (AT C/COL C/ROW DUMB CURRITE CURLEFT LOCATE DARK RVSOFF RVSON CUROFF CURON TERMINAL: TERM: XINOUT.SCR LABEL >LABEL ;CODE CODE ASS8080.SCR STARTUP.SCR FILEINT.SCR SOURCE.SCR .BLK SAVEFILE J: D: C: B: A: DRIVE: MORE DIR" DIR FILES" FILES EOF INCLUDE LOADFROM FROM MAKEFILE USE MAKE ASSIGN CLOSE OPEN .BUFFERS (VIEW (MAKEVIEW LIST FILE? DIRECT FILE FORTHFILES CAPACITY FORTH-83 ASSEMBLER .SIZE POSTLUDE (R/W DRVINIT REC/BLK B/REC KEYBOARD (EXPECT (DECODE DISPLAY TIPP (AT? (DEL (CR (EMIT (KEY GETKEY (KEY? CON! #FF #BEL #DEL #TAB #ESC #LF #CR #BS DOS "SEARCH RESTART COLD 'COLD 'RESTART EXPECT DECODE KEY? KEY INPUT: COL ROW AT? AT PAGE DEL TYPE CR EMIT OUTPUT: ?CR STOP? BYE SAVE EMPTY FORGET (FORGET CLEAR CUSTOM-REMOVE REMOVE ALL-BUFFERS FREEBUFFER ALLOTBUFFER FIRST LIMIT FLUSH EMPTY-BUFFERS SAVE-BUFFERS SAVE-DOS-BUFFERS UPDATE BLOCK BUFFER ISFILE@ (BLOCK (BUFFER CORE? EMPTYBUF R/W DISKERR (DISKERR (CORE? B/BLK B/BUF PREV FROMFILE ISFILE UNLOCK LOCK PAUSE END-TRACE LIST L/S C/L .S U. . D. U.R .R D.R #S # SIGN #> <# HOLD SPACES SPACE BL -TRAILING ERROR" ABORT" (ABORT" (ERROR R# SCR ABORT 'ABORT STANDARDI/O QUIT 'QUIT (QUIT PROMPT (PROMPT DEPTH RDEPTH --> +THRU THRU +LOAD LOAD (LOAD PUSH .STATUS ?STACK IS (IS ] [ INTERPRET PARSER NOTFOUND NO.EXTENSIONS NULLSTRING? ['] [COMPILE] ' FIND (FIND WORDS ORDER DEFINITIONS ONLYFORTH ONLY ROOT FORTH VOCABULARY TOSS ALSO CONTEXT CURRENT VP DEFER ALIAS USER UALLOT VARIABLE CONSTANT ; : CREATE: .NAME BODY> >BODY NAME> (NAME> >NAME NFA? CREATE (CREATE MAKEVIEW WARNING HALIGN ALIGN EVEN | ?HEAD DOES> (;CODE HEAP? HEAP HALLOT CLEARSTACK RESTRICT IMMEDIATE RECURSIVE REVEAL HIDE LAST NUMBER NUMBER? DPL CONVERT ACCUMULATE DIGIT? DECIMAL HEX \NEEDS \\ \ .( ( ." (." " (" ," "LIT ASCII STATE NAME PARSE WORD SOURCE LOADFILE (WORD UPPER CAPITAL CAPS /STRING SCAN SKIP QUERY TIB SPAN BLK >IN >TIB #TIB COMPILE PAD C, , ALLOT HERE ERASE FILL COUNT PLACE MOVE CMOVE> CMOVE UD/MOD U/MOD */ */MOD MOD / /MOD M/MOD UM/MOD 2/ 2* * M* UM* LEAVE +LOOP LOOP ?DO DO UNTIL REPEAT WHILE BEGIN ELSE THEN IF CASE? ?PAIRS <RESOLVE <MARK >RESOLVE +>MARK >MARK J I (+LOOP (LOOP (?DO (DO ENDLOOP BOUNDS ?BRANCH BRANCH DABS ABS EXTEND MIN MAX UMIN UMAX D< D= D0= UWITHIN = 0<> 0= 0> 0< > U> < U< LITERAL CLIT LIT OFF ON -1 4 3 2 1 0 FALSE TRUE 4- 2- 1- 4+ 3+ 2+ 1+ D+ DNEGATE NEGATE - NOT XOR AND OR + 2DUP 2DROP 2SWAP -ROLL ROLL PICK -ROT UNDER NIP ROT OVER ?DUP DUP SWAP DROP +! 2! 2@ ! @ CTOGGLE FLIP C! C@ PERFORM EXECUTE 0=EXIT ?EXIT UNNEST EXIT RDROP R@ R> >R RP! RP@ UP! UP@ SP! SP@ UDP VOC-LINK ERRORHANDLER INPUT OUTPUT BASE OFFSET DP R0 S0 ORIGIN NOOP RECOVER IPSAVE UP RP
PLIST LISTING DOCUMENT PTHRU +PRINT PRINT PRINTER GRAPHICS.PRN FIX SAVESYSTEM EDIT L ED V #DEL CTRL UPDATED? EDITOR CAPS CUROFF CURON #ESC EDITOR.FB LDUMP DUMP TIMES OFTEN TOOLS TOOLS.FB TIME@ DATE@ MINUTES SECONDS WAIT TIME TILL TIMEOUT? TICKS TIMER.FB TASK RENDEZVOUS WAKE SLEEP ACTIVATE PASS MULTITASK SINGLETASK STOP TASKER.FB CALL MSDOS FTYPE DELETE FCOPY RD CD MD REN DIR PATH .PATH MAKEFILE MAKE EMPTYFILE KILLFILE ?FILE FILES MORE CONVEY COPY USED? DTA FSWAP DOS.FB BYE (.STATUS .SPACE .SCR .DR (.DRV .SP .BASE (PAGE (CR SCROLL (DEL BLANKLINE BRIGHT UNDERLINE INVERS NORMAL SETPAGE CURSHAPE CUR! CURAT? (AT? (AT (EMIT (TYPE FULL WINDOW CATT (AREA TERMINAL AREA: STATUS AREA MULTI.VID .IF .ELSE .THEN ?" >MONTHS ATTACH APPEND RESTOREVIDEO SAVEVIDEO VIDEO@ C/DIS LFREE LALLOCATE ARGUMENTS ABORT( ADR U? TAB .FIELD >EXPECT STASH BLANK CLS 'NAME SAV EXTEND.FB LABEL >LABEL CODE ;CODE ASSEMBLER END-CODE ASSEMBLER ASM.FB VOLKS4TH.SYS FORTH-83 HELP VIEW SAVESYSTEM SAVEFILE LFSAVE H: G: F: E: D: C: B: A: CAPACITY DRV DRIVE INCLUDE LOADFROM FROM USE ASSIGN OPEN CLOSE PUSHFILE FILE? [FCB] KERNEL.SCR FILE DIRECT (R/W >DRIVE DOS ASCIZ >ASCIZ COUNTED PC! PC@ LIST! DISPLAY TIPP BELL (PAGE (AT? (AT (DEL (CR (EMIT C/COL C/ROW CHAROUT KEYBOARD (EXPECT (DECODE #CR #LF #TAB #BS #BEL (KEY EMPTY-KEYS (KEY? (KEY@ LMOVE LTYPE L! L@ LC! LC@ COLD BYE RETURN_CODE RESTART 'COLD 'RESTART EXPECT DECODE KEY? KEY INPUT: COL ROW AT? AT PAGE DEL TYPE CR EMIT OUTPUT: ?CR STOP? #ESC SAVE EMPTY FORGET (FORGET CLEAR TRIM CUSTOM-REMOVE REMOVE ALL-BUFFERS UPDATE BLOCK BUFFER ISFILE@ (BLOCK (BUFFER CORE? EMPTYBUF (CORE? ?DISKERROR ERROR# R/W B/BLK B/BUF PREV FROMFILE ISFILE UNLOCK LOCK PAUSE LIST L/S C/L .S U. U.R . .R D. D.R #S # SIGN #> <# HOLD SPACES SPACE -TRAILING BL ERROR" ABORT" (ABORT" (ERROR R# SCR ABORT 'ABORT END-TRACE STANDARDI/O QUIT 'QUIT (QUIT PROMPT (PROMPT DEPTH RDEPTH --> +THRU THRU +LOAD LOAD (LOAD .STATUS PUSH ?STACK IS (IS ] [ INTERPRET PARSER NO.EXTENSIONS NOTFOUND NULLSTRING? ['] [COMPILE] ' FIND (FIND WORDS VOCS ORDER DEFINITIONS ONLYFORTH ONLY ROOT FORTH VOCABULARY TOSS ALSO CONTEXT CURRENT VP DEFER ALIAS USER UALLOT CONSTANT ; : CREATE: .NAME BODY> >BODY NAME> (NAME> >NAME NFA? VARIABLE CREATE MAKEVIEW WARNING HALIGN ALIGN EVEN | ?HEAD DOES> (;CODE HEAP? HEAP HALLOT CLEARSTACK RESTRICT IMMEDIATE RECURSIVE REVEAL HILDE LAST' LAST NUMBER NUMBER? DPL CONVERT ACCUMULATE DIGIT? DECIMAL HEX \NEEDS HAVE \\ \ .( ( ." (." " (" "LIT ," ASCII STATE NAME PARSE WORD SOURCE LOADFILE UPPER CAPITAL (CAPITAL /STRING SCAN SKIP QUERY TIB SPAN BLK >IN >TIB #TIB COMPILE PAD C, , ALLOT HERE ERASE FILL COUNT PLACE MOVE CMOVE> CMOVE UD/MOD U/MOD */ */MOD MOD / 2/ /MOD M/MOD UM/MOD 2* * M* UM* LEAVE *LOOP LOOP ?DO DO UNTIL REPEAT WHILE BEGIN ELSE THEN IF ?PAIRS <RESOLVE <MARK >RESOLVE >MARK ?BRANCH BRANCH J I (+LOOP (LOOP BOUNDS ENDLOOP (?DO (DO DABS ABS EXTEND UMAX UMIN MAX MIN D< D= D0= CASE? WITHIN = 0< 0> > < U> U< 0<> 0= LITERAL CLIT LIT OFF ON -1 4 3 2 1 0 FALSE TRUE 4- 2- 1- 4+ 3+ 2+ 1+ D+ DNEGATE - NEGATE + XOR OR AND NOT 2OVER 2DUP 2DROP 2SWAP -ROLL ROLL PICK -ROT UNDER NIP ROT OVER ?DUP DUP SWAP DROP +! 2! 2@ ! @ FLIP CTOGGLE C! C@ PERFORM EXECUTE 0=EXIT ?EXIT UNNEST EXIT RDROP R@ R> >R RP! RP@ B/SEG DS@ UP! UP@ SP! SP@ UDP FILE-LINK VOC-LINK ABORTED ERRORHANDLER INPUT OUTPUT BASE OFFSET DP R0 S0 NOOP RECOVER NEXT-LINK ORIGIN
FORTH EDITOR LIST TAPE NAME" FLUSH .NAME BLOCK (TEXT) OPEN BUFFER --> LOAD UPDATE +BUF PASS VLIST RND RANDOM IMAGE MASK ENDCASE ENDOF OF (OF) CASE U. ? . D. .R D.R #S # SIGN #> <# SPACES +LOOP LOOP DO FORGET ' WHILE REPEAT AGAIN END UNTIL BEGIN ELSE IF THEN ENDIF BACK BSTACK DRAW BINIT BPUSH BPOP BDROP BCLEAR CLS PAGE HOME WINDOW AT SCALE PAPER PEN STANDARD SPECIAL DELAY CURSOR LINIT MODE LEMIT RECTIFY TONE TO SOUND RINK POT POINT PLOT PAINT LITTLE LINE JOY INK HUSH FROM FIRE COLOR BRIGHT BOX BIG BAR R/W? R/W L/SCR USE EXPECT CR EMIT CAPITAL REWIND MOTOR MSG" (MSG) MESSAGE M/MOD */ */MOD MOD / /MOD * M/ M* WIPE MAX MIN DABS ABS D+- +- S->D EMPTY-BUFFERS COLD ABORT QUIT ( DEFINITIONS VFILL V<CMODE VCMOVE VC! V! VC@ V@ ?TERMINAL KEY GET SLOW FAST 256RND C* VOCABULARY IMMEDIATE INTERPRET ?STACK DLITERAL LITERAL [COMPILE] CREATE ID. ERROR -FIND NUMBER (NUMBER) WORD PAD HOLD BLANKS ERASE FILL QUERY ." (.") -TRAILING TYPE COUNT DOES> <BUILDS ;CODE (;CODE) DECIMAL HEX SMUDGE ] [ COMPILE ?CSP ?PAIRS ?EXEX ?COMP ?ERROR !CSP PFA NFA LFA CFA LATEST TRAVERSE -DUP SPACE U< C, , ALLOT HERE PREV OFFSET HLD R# CSP DPL BASE STATE CURRENT CONTEXT SCR IN BLK VOC-LINK DP FENCE WIDTH TIB RO SO C/NAME B/BUF LIMIT FIRST C/L BL 3 2 1 0 VARIABLE CONSTANT ; : <CMOVE D- 2ROT 2DROP 2OVER 2SWAP 2/ 2* 2- 1- 0> J I' SDROP NOT EXIT ROLL PICK ROT > < = - 2+ 1+ 2! C! ! 2@ C@ @ TOGGLE +! 2DUP DUP SWAP DROP OVER DMINUS MINUS D+ + 0< 0= R R> >R LEAVE ;S RP! RP@ SP! SP@ XOR OR AND U/ U* CMOVE ENCLOSE (FIND) I (DO) (+LOOP) (LOOP) BRANCH OBRANCH EXECUTE LIT
plus #131 (” ”).
! * */ */MOD + +! +loop - / /MOD 0< 0= 0> 1+ 1- 2+ 2- < = > >R ?DUP @ ABS AND begin C! C@ colon CMOVE constant create D+ D< DEPTH DNEGATE do does> DROP DUP else EXECUTE EXIT FILL I if J LEAVE literal loop MAX MIN MOD MOVE NEGATE NOT OR OVER PICK R> R@ repeat ROLL ROT semicolon SWAP then U* U/ until variable while XOR
+LOOP , ." : ; ALLOT BEGIN COMPILE CONSTANT CREATE DEFINITIONS DO DOES> ELSE FORGET IF IMMEDIATE LITERAL LOOP REPEAT STATE THEN UNTIL VARIABLE VOCABULARY WHILE [ [COMPILE] ]
BLOCK BUFFER EMPTY-BUFFERS LIST LOAD SAVE-BUFFERS SCR UPDATE
EMPTY MARK HELLO BACKGROUND: ACTIVATE SET-TASK TASK: RESUME DEBUG LISTING SHOW (SEMIT) (PAGE) FORM-FEED PAGE #PAGE LOGO L/PAGE FOOTING INIT-PR EPSON SEE (SEE) ASSOCIATIVE: CASE: MAP OUT DL DU DUMP .HEAD ?.A ?.N DLN EMIT. D.2 .2 A SHADOW (WHERE) FIX EDIT ED DONE EDITOR DARK AT -LINE BLOT REPLACE INSERT DELETE SEARCH SCAN-1ST FOUND TO CONVEY (CONVEY) .TO HOP CONVEY-COPY U/D HOPPED VIEW @VIEW COPY (COPY) ESTABLISH L B N :: MANY TIMES #TIMES WORDS LARGEST IND INDEX .LINE0 TRIAD LIST .SCR ?CR ?LINE RMARGIN LMARGIN HIDDEN 0<= 0>= >= <= U>= U<= MS FUDGE P! PC! P@ PC@ MULTI SINGLE STOP WAKE SLEEP !LINK @LINK LOCAL INT# RESTART (PAUSE) UNBUG BUG DOES? DOES-SIZE DOES-OP LABEL UTILITY.BLK CPU8086.BLK EXTEND86.BLK KERNEL86.BLK VIEWS VIEW-FILES SAVE-SYSTEM FROM OPEN DEFINE B: A: DRIVE? DIR CREATE-FILE MORE ROOT --> +THRU THRU ?ENOUGH ? (S \ L/SCR C/L RECURSE B Q DUMP .ID .S DEPTH BYE START OK INITIAL COLD WARM BOOT QUIT RUN IS (IS) >IS USER #USER CODE AVOC 2VARIABLE 2CONSTANT DEFINITIONS VOCABULARY DEFER VARIABLE CONSTANT RECURSIVE ; : ] [ DOES> ;CODE (;CODE) ;USES ASSEMBLER (;USES) REVEAL HIDE ?CSP !CSP CREATE "CREATE ,VIEW WHILE ELSE IF REPEAT AGAIN UNTIL +LOOP LOOP ?DO DO THEN BEGIN ?LEAVE LEAVE ?<RESOLVE ?<MARK ?>RESOLVE ?>MARK <RESOLVE <MARK >RESOLVE >MARK ?CONDITION ABORT ABORT" (ABORT") (?ERROR) ?ERROR WHERE FORGET (FORGET) TRIM FENCE " ." ," (.") (") [COMPILE] ['] ' ?MISSING CRASH CONTROL ASCII DLITERAL LITERAL IMMEDIATE COMPILE EVEN ALIGN C, , ALLOT INTERPRET STATUS ?STACK DEFINED ?UPPERCASE FIND #THREADS (FIND) HASH VIEW> >VIEW >LINK >NAME >BODY LINK> NAME> BODY> L>NAME N>LINK FORTH-83 DONE? TRAVERSE \S ( .( >TYPE WORD 'WORD PARSE PARSE-WORD SOURCE (SOURCE) PLACE /STRING SCAN SKIP D.R D. (D.) UD.R UD. (UD.) .R . (.) U.R U. (U.) OCTAL DECIMAL HEX #S # SIGN #> <# HOLD NUMBER (NUMBER) NUMBER? (NUMBER?) CONVERT DOUBLE? DIGIT LOAD (LOAD) DEFAULT VIEW# FLUSH SAVE-BUFFERS EMPTY-BUFFERS IN-BLOCK BLOCK (BLOCK) BUFFER (BUFFER) MISSING DISCARD UPDATE ABSENT? LATEST? CAPACITY DOS SWITCH FILE? .FILE WRITE-BLOCK READ-BLOCK >UPDATE BUFFER# >END >BUFFERS INIT-R0 FIRST >SIZE LIMIT DISK-ERROR B/FCB REC/BLK B/REC B/BUF #BUFFERS QUERY TIB EXPECT CC-FORTH CC DEL-IN CHAR (CHAR) CR-IN P-IN RES-IN BACK-UP (DEL-IN) BS-IN BEEP BACKSPACES SPACES SPACE TYPE CRLF (EMIT) (PRINT) PR-STAT CR KEY KEY? (CONSOLE) (KEY) (KEY?) BDOS COMPARE CAPS-COMP COMP -TRAILING PAD HERE UPPER UPC MOVE LENGTH COUNT BLANK ERASE FILL CAPS BELL BS BL END? #TIB SPAN >IN BLK VOC-LINK WIDTH 'TIB CONTEXT #VOCS CURRENT CSP LAST R# DPL WARNING STATE PRIOR SCR EMIT PRINTING IN-FILE FILE HLD BASE OFFSET #LINE #OUT DP RP0 SP0 LINK ENTRY TOS */ */MOD MOD / /MOD * MU/MOD M/MOD *D DMAX DMIN D> D< DU< D= D0= ?DNEGATE D- D2/ D2* DABS S>D DNEGATE D+ 2ROT 4DUP 3DUP 2OVER 2SWAP 2DUP 2DROP 2! 2@ WITHIN BETWEEN MAX MIN > < U> U< ?NEGATE <> = 0<> 0> 0< 0= UM/MOD U*D UM* 2- 1- 2+ 1+ 8* U2/ 2/ 2* 3 2 1 0 +! ABS - NEGATE + OFF ON CTOGGLE CRESET CSET FALSE TRUE NOT XOR OR AND ROLL PICK R@ >R R> ?DUP FLIP -ROT ROT NIP TUCK OVER SWAP DUP DROP RP! RP@ SP! SP@ CMOVE> CMOVE C! C@ ! @ (?LEAVE) (LEAVE) J I PAUSE NOOP GO PERFORM EXECUTE >NEXT BOUNDS (?DO) (DO) (+LOOP) (LOOP) ?BRANCH BRANCH (LIT) UP UNNEST EXIT FORTH
EMPTY MARK HELLO BACKGROUND: ACTIVATE SET-TASK TASK: RESUME DEBUG LISTING SHOW (SEMIT) (PAGE) FORM-FEED PAGE #PAGE LOGO L/PAGE FOOTING INIT-PR EPSON SEE (SEE) ASSOCIATIVE: CASE: MAP OUT DL DU DUMP .HEAD ?.A ?.N DLN EMIT. D.2 .2 A SHADOW (WHERE) FIX EDIT ED DONE EDITOR DARK AT -LINE BLOT REPLACE INSERT DELETE SEARCH SCAN-1ST FOUND TO CONVEY (CONVEY) .TO HOP CONVEY-COPY U/D HPPED VIEW @VIEW COPY (COPY) ESTABLISH L B N :: MANY TIMES #TIMES WORDS LARGEST IND INDEX .LINE0 TRIAD LIST .SCR ?CR ?LINE RMARGIN LMARGIN HIDDEN 0<= 0>= >= <= U>= U<= MS FUDGE PC! PC@ MULTI SINGLE STOP WAKE SLEEP !LINK @LINK LOCAL RESTART (PAUSE) UNBUG BUG DOES? DOES-SIZE DOES-OP LABEL UTILITY.BLK CPU8080.BLK EXTEND80.BLK KERNEL80.BLK VIEWS VIEW-FILES SAVE-SYSTEM FROM OPEN DEFINE B: A: DRIVE? DIR CREATE-FILE MORE ROOT --> +THRU THRU ?ENOUGH ? (S \ L/SCR C/L RECURSE DUMP .ID .S DEPTH BYE START OK INITIAL COLD WARM BOOT QUIT RUN IS (IS) >IS USER #USER CODE AVOC 2VARIABLE 2CONSTANT DEFINITONS VOCABULARY DEFER VARIABLE CONSTANT RECURSIVE ; : ] [ DOES> ;CODE (;CODE) ;USES ASSEMBLER (;USES) REVEAL HIDE ?CSP !CSP CREATE "CREATE ,VIEW WHILE ELSE IF REPEAT AGAIN UNTIL +LOOP LOOP ?DO DO THEN BEGIN ?LEAVE LEAVE ?<RESOLVE ?<MARK ?>RESOLVE ?>MARK <RESOLVE <MARK >RESOLVE >MARK ?CONDITION ABORT ABORT" (ABORT") (?ERROR) ?ERROR WHRE FORGET (FORGET) TRIM FENCE " ." ," (.") (") [COMPILE] ['] ' ?MISSING CRASH CONTROL ASCII DLITERAL LITERAL IMMEDIATE COMPILE EVEN ALIGN C, , ALLOT INTERPRET STATUS, ?STACK DEFINED ?UPPERCASE FIND #THREADS (FIND) HASH VIEW> <VIEW >LINK >NAME >BODY LINK> NAME> BODY> L>NAME N>LINK FORTH-83 DONE? TRAVERSE \S ( .( >TYPE WORD 'WORD PARSE PARSE-WORD SOURCE (SOURCE) PLACE /STRING SCAN SKIP D.R D. (D.) UD.R UD. (UD.) .R . (.) U.R U. (U.) OCTAL DECIMAL HEX #S # SIGN #> <# HOLD NUMBER (NUMBER) NUMBER? (NUMBER?) CONVERT DOUBLE? DIGIT LOAD (LOAD) DEFAULT VIEW# FLUSH SAVE-BUFFERS EMPTY-BUFFERS IN-BLOCK BLOCK (BLOCK) BUFFER (BUFFER) MISSING DISCARD UPDATE ABSENT? LATEST? CAPACITY DOS SWITCH FILE? .FILE WRITE-BLOCK READ-BLOCK >UPDATE BUFFER# >END >BUFFERS INIT-R0 FIRST >SIZE LIMIT DISK-ERROR B/FCB REC/BLK B/REC B/BUF #BUFFERS QUERY TIB EXPECT CC-FORTH CC DEL-IN CHAR (CHAR) CR-IN P-IN RES-IN BACK-UP (DEL-IN) BS-IN BEEP BACKSPACES SPACES SPACE TYPE CRLF (EMIT) (PRINT) PR-STAT CR KEY KEY? (CONSOLE) (KEY) (KEY?) BIOS BDOS COMPARE CAPS-COMP COMP -TRAILING PAD HERE UPPER UPC MOVE LENGTH COUNT BLANK ERASE FILL CAPS BELL BS BL END? #TIB SPAN >IN BLK VOC-LINK WIDTH 'TIB CONTEXT #VOCS CURRENT CSP LAST R# DPL WARNING STATE PRIOR SCR EMIT PRINTING IN-FILE FILE HLD BASE OFFSET #LINE #OUT DP RP0 SP0 LINK ENTRY TOS */ */MOD MOD / /MOD * MU/MOD M/MOD *D DMAX DMIN D> D< DU< D= D0= ?DNEGATE D- D2/ D2* DABS S>D DNEGATE D+ 2ROT 4DUP 3DUP 2OVER 2SWAP 2DUP 2DROP 2! D@ WITHIN BETWEEN MAX MIN > < U> U< ?NEGATE <> = 0<> 0> 0< 0= UM/MOD U*D UM* 2- 1- 2+ 1+ 8* U2/ 2/ 2* 3 2 1 0 +! ABS - NEGATE + OFF ON CTOGGLE CRESET CSET FALSE TRUE NOT XOR OR AND ROLL PIC R@ >R R> ?DUP FLIP -ROT ROT NIP TUCK OVER SWAP DUP DROP RP! RP@ SP! SP@ CMOVE> CMOVE C! C@ ! @ (?LEAVE) (LEAVE) J I PAUSE NOOP GO PERFORM EXECUTE >NEXT BOUNDS (?DO) (DO) (+LOOP) (LOOP) ?BRANCH BRANCH (LIT) UP UNNEST EXIT RP FORTH
2 1 1 pick . 2drop
0 dup = .
The important thing is that the primary allegiance is implemented in a standard compliant way. All the rest is icing on the cake!”.
4 3 = invert \ -1 : is_it_0? if ." no, it's not" then ;