|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 3456 (0xd80) Types: TextFile Names: »COLD.SL5«
└─⟦c50ca4728⟧ Bits:30003533 StackWorks FORTH version 1.2 for Z-80 └─ ⟦this⟧ »COLD.SL5«
( COLDSTART FILE ) ( ===================================================================== ) ( RAM BASED WITH SYMBOL TABLE ) ( ===================================================================== ) ROMF @ NOT ?SYMTAB @ & IFTRUE : COLDS 0 DO ( INITIALIZE VARIABLES ) DUP 2 + @ OVER @ ! 4 + LOOP ( NOW SET SYMTP & SYMPTR ACCORDING TO MEMSIZE ) SWAP 6 @ DUP SYMTP ! OVER - DUP SYMPTR ! SWAP $BMOVE ( MOVE THE SYMBOL TABLE ) 'B RESTART SWAP ! RESTART ; ( SPECIAL VARIABLE SETTING ) TDP @ DP T! ( SET THE DP ) TCONTEXT @ CONTEXT T! ( SET CONTEXT ) TCUR @ CURRENT T! ( SET CURRENT ) COLDSTART ( FIRST INITIALIZE THE STACKS ) SSIZE STACK SP LD RSIZE RSTACK DE LD EXX INITDP @ HL LD HL INC HL PUSH TSYMTP @ TSYMPTR @ - HL LD HL PUSH HERE 0B + HL LD HL PUSH NVALS HL LD HL PUSH 'B COLDS JP EDOC WRITEVARS WRITESYM FINISHED ÆEND-OF-FILEÅ IFEND ( ===================================================================== ) ( RAM BASED WITHOUT SYMBOL TABLE ) ( ===================================================================== ) ROMF @ NOT ?SYMTAB @ NOT & IFTRUE : COLDS 0 DO ( INITIALIZE MEMORY LOCATIONS ) DUP 2 + @ OVER @ ! 4 + LOOP DROP 'B RESTART SWAP ! RESTART ; TDP @ DP T! ( SET DP ) COLDSTART SSIZE STACK SP LD RSIZE RSTACK DE LD EXX INITDP @ HL LD HL INC HL PUSH HERE 0B + HL LD HL PUSH NVALS HL LD HL PUSH 'B COLDS JP EDOC WRITEVARS FINISHED ÆEND-OF-FILEÅ IFEND ( ===================================================================== ) ( ROM BASED WITH SYMBOL TABLE ) ( ===================================================================== ) ROMF @ ?SYMTAB @ & IFTRUE : COLDS 0 DO ( INITIALIZE MEMORY LOCATIONS ) DUP 2 + @ OVER @ ! 4 + LOOP DUP SYMPTR ! + SYMTP ! RESTART ; TCONTEXT @ CONTEXT T! ( SET CONTEXT ) TCUR @ CURRENT T! ( SET CURRENT ) TVP @ 20 - DP T! ( SET DP TO TVP-20 ) COLDSTART SSIZE STACK SP LD RSIZE RSTACK DE LD EXX TSYMTP @ TSYMPTR @ - HL LD HL PUSH HERE 0B + HL LD HL PUSH NVALS HL LD HL PUSH 'B COLDS JP EDOC WRITEVARS WRITESYM FINISHED ÆEND-OF-FILEÅ IFEND ( ===================================================================== ) ( ROM BASED WITHOUT SYMBOL TABLE ) ( ===================================================================== ) ROMF @ ?SYMTAB @ NOT & IFTRUE : COLDS 0 DO ( INITIALIZE MEMORY LOCATIONS ) DUP 2 + @ OVER @ ! 4 + LOOP DROP RESTART ; COLDSTART SSIZE STACK SP LD RSIZE RSTACK DE LD EXX HERE 0B + HL LD HL PUSH NVALS HL LD HL PUSH 'B COLDS JP EDOC WRITEVARS FINISHED ÆEND-OF-FILEÅ IFEND ( ===================================================================== ) ( ===================================================================== ) «eof»