papierkorb:help.blk
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| papierkorb:help.blk [2025-08-16 17:50] – ↷ Seite von projects:help.blk nach papierkorb:help.blk verschoben mka | papierkorb:help.blk [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ===On line HELP system=== | ||
| - | < | ||
| - | Screen 0 not modified | ||
| - | 0 \ Help System | ||
| - | 1 \ Last change: | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 | ||
| - | 11 | ||
| - | 12 | ||
| - | 13 | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 1 not modified | ||
| - | 0 \ HELP SYSTEM LOAD SCREEN | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 | ||
| - | 11 | ||
| - | 12 | ||
| - | 13 | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 2 not modified | ||
| - | 0 \ HELP-0 HBLOCK PBLOCK DONE? IPROMPT MAXPR | ||
| - | 1 ONLY EDITOR ALSO FORTH ALSO HIDDEN DEFINITIONS | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 6 0 CONSTANT IPROMPT | ||
| - | | ||
| - | 8 \ Leave number of last prompt. | ||
| - | 9 : MAXPROMPT ( -- n ) | ||
| - | 10 MAXP @ ; | ||
| - | 11 | ||
| - | 12 \ Leave true flag if user responds positively. | ||
| - | 13 : (Y/ | ||
| - | 14 | ||
| - | 15 AND ASCII Y = SWAP BL = OR ; | ||
| - | |||
| - | |||
| - | Screen 3 not modified | ||
| - | 0 \ HELP-1 | ||
| - | 1 \ List a screen without its header and line numbers. | ||
| - | 2 : (LIST) ( n -- ) | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 9 \ Display the current help screen. | ||
| - | 10 : .HELP ( -- -- ) | ||
| - | 11 # | ||
| - | 12 20 21 AT BEEP ." More help? " | ||
| - | 13 | ||
| - | 14 : WHITE 112 ATRIB ! ; \ Set background to White. | ||
| - | 15 : BLACK 15 ATRIB ! ; \ Set backbround to black. | ||
| - | |||
| - | |||
| - | Screen 4 not modified | ||
| - | 0 \ HELP-2 PROMPT-ADR .PROMPT-CUR +.PROMPT.C | ||
| - | 1 \ Compute address and character count for prompt number n. | ||
| - | 2 : PROMPT-ADR ( n adr count ) | ||
| - | | ||
| - | | ||
| - | | ||
| - | 6 \ Position cursor at correct position for current prompt and | ||
| - | 7 \ leave current prompt number n. | ||
| - | 8 : .PROMPT-CUR | ||
| - | | ||
| - | 10 SWAP 25 * SWAP AT ; | ||
| - | 11 \ Increment prompt number by n and position cursor and leave new | ||
| - | 12 \ prompt number as n' | ||
| - | 13 : +.PROMPT-CUR | ||
| - | 14 # | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 5 not modified | ||
| - | 0 \ HELP-3 .PROMPT .RPROMPT +.PROMPT .HPROMP | ||
| - | 1 \ Display prompt number n at current cursor position. | ||
| - | 2 : .PROMPT ( n -- ) | ||
| - | | ||
| - | 4 \ As above but with blue background. | ||
| - | 5 : .RPROMPT ( n -- ) | ||
| - | | ||
| - | 7 \ Increment prompt number by n amd move to new prompt. | ||
| - | 8 : +.PROMPT ( n -- ) | ||
| - | | ||
| - | 10 +.PROMPT-CUR .RPROMPT ; | ||
| - | 11 \ Move to home position and display prompt number 0 . | ||
| - | 12 : .HPROMPT ( -- -- ) | ||
| - | 13 # | ||
| - | 14 : .EPROMPT ( -- -- ) \ Move to last prompt. | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 6 not modified | ||
| - | 0 \ HELP-4 | ||
| - | 1 : .LPROMPT ( -- -- ) \ Move to last prompt on line. | ||
| - | | ||
| - | 3 : .FPROMPT ( -- -- ) \ Move to first prompt on line. | ||
| - | | ||
| - | | ||
| - | 6 : MENU ( -- -- ) | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 # | ||
| - | 11 | ||
| - | 12 : SCAN ( false flag ) | ||
| - | 13 200 0 DO DROP (KEY?) DUP ?LEAVE LOOP ; | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 7 not modified | ||
| - | 0 \ HELP-5 | ||
| - | 1 \ Same as PCKEY in line editor. | ||
| - | 2 : HCKEY ( -- n flag ) | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 7 : FKEY | ||
| - | | ||
| - | | ||
| - | 10 | ||
| - | 11 IF SCAN THEN | ||
| - | 12 UNTIL .PROMPT-CUR | ||
| - | 13 | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 8 not modified | ||
| - | 0 \ HELP-6 | ||
| - | 1 : CHOOSE | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 77 OF 1 +.PROMPT | ||
| - | 11 116 OF | ||
| - | 12 80 OF 3 +.PROMPT | ||
| - | 13 81 OF 9 +.PROMPT | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 9 not modified | ||
| - | 0 \ HELP-7 | ||
| - | 1 : (HELP) | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 9 ONLY FORTH ALSO DOS ALSO HIDDEN ALSO FORTH DEFINITIONS | ||
| - | 10 : HELP ( -- -- ) | ||
| - | 11 SCR @ FILE @ FLUSH | ||
| - | 12 ( B: ) HELP.BLK | ||
| - | 13 [ BLK @ 1+ ] LITERAL | ||
| - | 14 | ||
| - | 15 ONLY FORTH ALSO DEFINITIONS | ||
| - | |||
| - | |||
| - | Screen 10 not modified | ||
| - | 0 EXIT HELP | ||
| - | 1 PRINTER AND WORD VIEWING | ||
| - | 2 COLD FORGET | ||
| - | 3 CONDITIONALS | ||
| - | 4 SCREEN EDITING | ||
| - | 5 INFINITE LOOPS INDEFINITE LOOPS | ||
| - | 6 ANOTHER LOOP LEAVING LOOPS EARLY | ||
| - | 7 BASIC STACK OPERATORS | ||
| - | 8 RETURN STACK VIRTUAL MEMORY | ||
| - | 9 BLOCK AND UPDATE | ||
| - | 10 MORE MEMORY OPERATORS | ||
| - | 11 VOCABULARY: | ||
| - | 12 STRINGS | ||
| - | 13 MOVING STRINGS | ||
| - | 14 HIDE: | ||
| - | 15 CASE STATEMENT | ||
| - | |||
| - | |||
| - | Screen 11 not modified | ||
| - | 0 MORE VARIABLES & CONST. | ||
| - | 1 TASK USER VARIABLES | ||
| - | 2 SLEEP WAKE STOP MULTI SINGLE | ||
| - | 3 X | ||
| - | 4 X | ||
| - | 5 XMETA COMPILER | ||
| - | 6 X | ||
| - | 7 XDEMOS | ||
| - | 8 XCRASH RECOVERY | ||
| - | 9 X8086 CPU REGISTERS | ||
| - | 10 LEAVING FORTH | ||
| - | 11 STARTING FORTH P110-112 | ||
| - | 12 STARTING FORTH P137-143 | ||
| - | 13 STARTING FORTH P177-247 | ||
| - | 14 X | ||
| - | 15 X | ||
| - | |||
| - | |||
| - | Screen 12 not modified | ||
| - | 0 Screen Viewing Help | ||
| - | | ||
| - | 2 L Lists current screen | ||
| - | 3 B L Lists previous screen | ||
| - | 4 N L Lists next screen | ||
| - | 5 A L Lists the shadow screen | ||
| - | | ||
| - | 7 n LIST Lists screen n | ||
| - | 8 n BROWSE | ||
| - | | ||
| - | 10 n1 n2 INDEX Lists the first line of screens n1 thru n2 | ||
| - | 11 | ||
| - | 12 VIEW {word} | ||
| - | 13 | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 13 not modified | ||
| - | 0 Printer and word viewing help | ||
| - | | ||
| - | 2 PRINTING ON Send output to printer, make sure its on | ||
| - | 3 PRINTING OFF Send output to screen only | ||
| - | | ||
| - | 5 WORDS List words in the context vocabulary. | ||
| - | | ||
| - | 7 ONLY FORTH WORDS Lists all words in FORTH | ||
| - | | ||
| - | 9 ONLY EDITOR WORDS Lists all words in EDITOR | ||
| - | 10 | ||
| - | 11 | ||
| - | 12 | ||
| - | 13 | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 14 not modified | ||
| - | 0 NUMBER DISPLAYING WORDS | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 5 Single unsigned 16bit numbers. | ||
| - | | ||
| - | | ||
| - | | ||
| - | 9 Double signed 32bit numbers | ||
| - | 10 D. ( d -- ) | ||
| - | 11 D.R ( d w -- ) Display # right justified in w wide field | ||
| - | 12 | ||
| - | 13 Double unsigned 32bit numbers. | ||
| - | 14 UD. ( ud -- ) | ||
| - | 15 UD.R ( ud w -- ) Display # right justified in w wide field | ||
| - | |||
| - | |||
| - | Screen 15 not modified | ||
| - | 0 \COLD FORGET | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 session started | ||
| - | 11 | ||
| - | 12 | ||
| - | 13 BYE Exit Forth and return to DOS | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 16 not modified | ||
| - | 0 HEX AND DECIMAL | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 9 : OCTAL ( -- -- ) \ Set system number base to 8. | ||
| - | 10 8 BASE ! ; | ||
| - | 11 | ||
| - | 12 : BINARY ( -- -- ) \ Set system number base to 2. | ||
| - | 13 2 BASE ! ; | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 17 not modified | ||
| - | 0 CONDITIONALS | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 0= ( n flag ) Leave tf if n = 0 , otherwise ff | ||
| - | 11 0<> | ||
| - | 12 0 < ( n flag ) Leave tf if n < 0 , otherwise ff | ||
| - | 13 0 > ( n flag ) Leave tf if n > 0 , otherwise ff | ||
| - | 14 ?DUP ( n n (n)) | ||
| - | 15 NOTE IF TRIGGERS ON ZERO | ||
| - | |||
| - | |||
| - | Screen 18 not modified | ||
| - | 0 MORE CONDITIONALS | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 NOTE : Starting FORTH NOT is the same as F83 0= | ||
| - | 11 Starting FORTH NOT is different than F83 NOT | ||
| - | 12 F83 NOT operates on each of a numbers 16 bits | ||
| - | 13 F83 NOT leaves a false flag ( zero ) only if it | ||
| - | 14 operates on a true flag -1111111111111111 binary | ||
| - | 15 F83 NOT is not the same as 0= | ||
| - | |||
| - | |||
| - | Screen 19 not modified | ||
| - | 0 SCREEN EDITING | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 | ||
| - | 11 | ||
| - | 12 the current screen file | ||
| - | 13 | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 20 not modified | ||
| - | 0 STAR-SLASH THE SCALAR | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 | ||
| - | 11 | ||
| - | 12 | ||
| - | 13 | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 21 not modified | ||
| - | 0 INFINITE LOOPS | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 | ||
| - | 11 | ||
| - | 12 | ||
| - | 13 | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 22 not modified | ||
| - | 0 INDEFINITE LOOPS | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 | ||
| - | 11 ... (step 1) | ||
| - | 12 (condition) | ||
| - | 13 UNTIL (step 3) | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 23 not modified | ||
| - | 0 ANOTHER LOOP | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 WHILE (step 3) | ||
| - | 11 REPEAT | ||
| - | 12 | ||
| - | 13 | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 24 not modified | ||
| - | 0 LEAVING LOOPS EARLY | ||
| - | 1 Execute step 1. Repeat loop executing step 2 and step 4 on each | ||
| - | 2 pass - except that if condition is true before loop is finished | ||
| - | 3 execute step 3 and leave loop to execute step 5. Note step 4 | ||
| - | 4 will not be executedif we leave the loop early. | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 This is an alternative form if step 3 is not required. | ||
| - | 11 ... (step 1) | ||
| - | 12 (condition) | ||
| - | 13 (step 4) | ||
| - | 14 | ||
| - | 15 NOTE:EXIT CANNOT BE USED IN DO LOOPS -IT RUINS THE RETURN STACK | ||
| - | |||
| - | |||
| - | Screen 25 not modified | ||
| - | 0 BASIC STACK OPERATORS | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 TUCK ( n m m n m ) Push copy of top under second item | ||
| - | 11 3DUP ( a b c a b c a b c ) Make a copy of the top 3 items | ||
| - | 12 2DROP ( dn -- ) Drop double number from the top | ||
| - | 13 2SWAP ( dn dm dm dn ) Swap the top two double numbers | ||
| - | 14 2DUP ( dn dn dn ) Make another copy of top double number | ||
| - | 15 2OVER ( dn dm dn dm dn ) Copy second double number to top | ||
| - | |||
| - | |||
| - | Screen 26 not modified | ||
| - | 0 FURTHER STACK OPERATORS | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 | ||
| - | 11 | ||
| - | 12 | ||
| - | 13 | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 27 not modified | ||
| - | 0 RETURN STACK | ||
| - | | ||
| - | 2 are very dangerous!!. Do NOT test or execut them interactively. | ||
| - | 3 They can only be used within colon definitions. | ||
| - | | ||
| - | 5 Transfer top data stack item to return stack. | ||
| - | | ||
| - | 7 Transfer top return stack item to data stack. | ||
| - | | ||
| - | 9 Copy top return stack item to data stack. | ||
| - | 10 | ||
| - | 11 | ||
| - | 12 RULES: | ||
| - | 13 1. Each use of >R must be balanced with a corresponding R> | ||
| - | 14 2. Do not use >R R> and R@ within DO ... LOOPS. Loop control | ||
| - | 15 info is kept on the return stack and could be destroyed. | ||
| - | |||
| - | |||
| - | Screen 28 not modified | ||
| - | 0 VIRTUAL MEMORY | ||
| - | 1 F83 virtual memory operates as follows: | ||
| - | 2 The current file open on the mass storage is divided into | ||
| - | 3 consecutive blocks. The block is the basic unit of storage. | ||
| - | 4 Each block holds 1024 bytes. Blocks are numbered consecutively | ||
| - | 5 starting with block 0 at the beggining of the file. On the mass | ||
| - | 6 storage device (disk or hard disk) the only limit to the number | ||
| - | 7 of blocks in a file is the capacity of the mass storage device. | ||
| - | | ||
| - | 9 In the ram memory of the computer there is an area reserved for | ||
| - | 10 disk buffers. One disk buffer will hold 1024 bytes. In F83 there | ||
| - | 11 are 4 disk buffers. Thus in the computers ram memory there can | ||
| - | 12 only be 4 blocks at any one time. FORTH' | ||
| - | 13 keeps track of which blocks are in ram memory and which blocks | ||
| - | 14 are on the mass storage device. This housekeeping is transparent | ||
| - | 15 to the user. | ||
| - | |||
| - | |||
| - | Screen 29 not modified | ||
| - | 0 BLOCK AND UPDATE | ||
| - | | ||
| - | | ||
| - | 3 BLOCK ( n adr ) Given the block number n, BLOCK returns | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 9 UPDATE ( -- -- ) Mark most recently referenced block as | ||
| - | 10 modified. Then if it's block buffer is required it will | ||
| - | 11 automatically be transfered back to mass storage. | ||
| - | 12 | ||
| - | 13 | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 30 not modified | ||
| - | 0 MEMORY OPERATORS | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 NOTE: 16 BIT NUMBERS ARE STORED WITH THE LOW BYTE AT adr AND THE | ||
| - | 11 HIGH BYTE AT adr+1 ( THIS IS THE CONVENTION FOR 6502 AND | ||
| - | 12 8086 CPUs - THE 68000 IS NORMAL ). | ||
| - | 13 | ||
| - | 14 | ||
| - | 15 ? | ||
| - | |||
| - | |||
| - | Screen 31 not modified | ||
| - | 0 MORE MEMORY OPERATORS | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 6 CREATE (name) (-- --) Creates a dictionary entry named < | ||
| - | | ||
| - | 8 < | ||
| - | | ||
| - | 10 ALLOT ( n -- ) Allocate n bytes of memory in the | ||
| - | 11 | ||
| - | 12 , ( n -- ) Allocate 16 bits ( 2 bytes ) of memory | ||
| - | 13 | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 32 not modified | ||
| - | 0 WORD DEFINITION STRUCTURE | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 | 1 char | | ||
| - | 11 cfa | ||
| - | 12 pfa | ||
| - | 13 | . . | ||
| - | 14 | . . | ||
| - | 15 | . . | ||
| - | |||
| - | |||
| - | Screen 33 not modified | ||
| - | 0 VOCABULARY: | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 A small vocabulary for controlling search order. | ||
| - | 11 | ||
| - | 12 | ||
| - | 13 | ||
| - | 14 first and last. | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 34 not modified | ||
| - | 0 DIVISION | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 / | ||
| - | 11 | ||
| - | 12 MOD ( m n r ) Leave r ,remainder (satisfying above) | ||
| - | 13 | ||
| - | 14 /MOD (m n r q ) Leave remainder r and quotient q | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 35 not modified | ||
| - | 0 STRINGS | ||
| - | 1 A counted string in memory is |05|48|45|4C|4C|4F| | ||
| - | 2 preceded by character count. | ||
| - | | ||
| - | 4 ," {text}" | ||
| - | 5 Compile a counted {text} string into dictionary. Do not use in | ||
| - | 6 a word definition!! | ||
| - | | ||
| - | 8 " {text}" | ||
| - | 9 Compile a counted string into a word definition. When word is | ||
| - | 10 later executed the address and count are returned. | ||
| - | 11 | ||
| - | 12 Examples: | ||
| - | 13 CREATE NAME$ ," GEORGE SMITH" | ||
| - | 14 : JOB$ " FORTH Progammer" | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 36 not modified | ||
| - | 0 STRING COUNT TYPE EXPECT | ||
| - | 1 COUNT ( adr adr+1 n ) | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 7 TYPE ( adr n -- ) Type n characters of a string at adr. | ||
| - | | ||
| - | 9 FILL ( adr n c ) Fill string at adr with n copies of c. | ||
| - | 10 | ||
| - | 11 ERASE ( adr n ) Fill string at adr with n null's or 0' | ||
| - | 12 | ||
| - | 13 EXPECT ( adr n ) Input a string of length n to beffer at adr. | ||
| - | 14 Actual number of characters entered is stored in a variable | ||
| - | 15 called SPAN .NOTE: EXPECT does not return a counted string. | ||
| - | |||
| - | |||
| - | Screen 37 not modified | ||
| - | 0 MOVING STRINGS | ||
| - | | ||
| - | | ||
| - | 3 Move n bytes from adrf to adrt. Left-most or low memory bytes | ||
| - | 4 are moved first. ( ie Move starts at begginning of string. ) | ||
| - | 5 Use CMOVE to move strings down to lower memory. | ||
| - | | ||
| - | | ||
| - | 8 Move n bytes from adrf to adrt. Right-most or high memory bytes | ||
| - | 9 are moved first. ( ie Move starts at end of string. ) | ||
| - | 10 Use CMOVE> to move strings up to a higher memory. | ||
| - | 11 | ||
| - | 12 MOVE ( adrf adrt n -- ) | ||
| - | 13 Move n bytes from adrf to adrt. If adrf < adrt use CMOVE> | ||
| - | 14 otherwise use CMOVE. this will prevent overlap. | ||
| - | 15 Use MOVE when you can't remember wether to use CMOVE or CMOVE> | ||
| - | |||
| - | |||
| - | Screen 38 not modified | ||
| - | 0 BUFFER | ||
| - | 1 BUFFER | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 8 EMPTY-BUFFERS ( -- -- ) Erase all data in block buffers, | ||
| - | | ||
| - | 10 | ||
| - | 11 SAVE-BUFFERS | ||
| - | 12 | ||
| - | 13 | ||
| - | 14 FLUSH ( -- -- ) Same effect as SAVE-BUFFERS followed | ||
| - | 15 by EMPTY-BUFFERS | ||
| - | |||
| - | |||
| - | Screen 39 not modified | ||
| - | 0 HIDE: | ||
| - | | ||
| - | 2 HIDE Unlink most latest word from dictionary. | ||
| - | | ||
| - | 4 REVEAL | ||
| - | | ||
| - | 6 IMMEDIATE | ||
| - | | ||
| - | | ||
| - | 9 ['] {word} | ||
| - | 10 It is used to compile the cfa of the following word | ||
| - | 11 as a LITERAL or number. It is equivalent to the | ||
| - | 12 | ||
| - | 13 | ||
| - | 14 [ ' {word} ] LITERAL | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 40 not modified | ||
| - | 0 NUMBER FORMATING | ||
| - | | ||
| - | 2 PAD ( -- adr ) Return address for string output buffer. | ||
| - | 3 HLD ( -- adr ) Pointer to current loacation in output buffer | ||
| - | 4 HOLD ( -- adr ) Add character n to string being formed. | ||
| - | 5 SIGN ( n -- ) If n is negative insert a -ve sign in the | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 <# but is usually present. | ||
| - | 11 # ( dn | ||
| - | 12 BASE and remaining digits as dn' . | ||
| - | 13 #S ( dn | ||
| - | 14 conversion is finished dn' will be zero. | ||
| - | 15 #> ( dn adr len ) Terminate numeric conversion. | ||
| - | |||
| - | |||
| - | Screen 41 not modified | ||
| - | 0 CASE STATEMENT | ||
| - | 1 CASE ... OF ... ENDOF ... ENDCASE | ||
| - | 2 CASE | ||
| - | 3 OF | ||
| - | 4 OF is equivalent to OVER = IF DROP | ||
| - | 5 ENDOF is equivalent to else | ||
| - | 6 ENDCASE | ||
| - | 7 When the index value equals one of the OF values,the sequence | ||
| - | 8 between that OF and the corresponding ENDOF is executed. | ||
| - | 9 Control then branches to the word following ENDCASE. | ||
| - | 10 If no match is found, ENDCASE drops the index from the stack. | ||
| - | 11 | ||
| - | 12 The " | ||
| - | 13 the last ENDOF and ENDCASE. The index value must however be | ||
| - | 14 preserved across this otherwise sequence so that ENDCASE may | ||
| - | 15 DROP it. | ||
| - | |||
| - | |||
| - | Screen 42 not modified | ||
| - | 0 VARIABLES AND CONSTANTS | ||
| - | 1 Values which change quite frequently and must be accessed by a | ||
| - | 2 number of words are best represented by the use of VARIABLES. | ||
| - | 3 Values represented by variables have the added convenience of | ||
| - | 4 reference by name. | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 Values which never change are best represented by CONSTANTs | ||
| - | 11 | ||
| - | 12 CONSTANT < | ||
| - | 13 whose value is n. | ||
| - | 14 < | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 43 not modified | ||
| - | 0 MORE VARIABLES AND CONSTANTS | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 ( -- d ) When < | ||
| - | 11 | ||
| - | 12 | ||
| - | 13 | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 44 not modified | ||
| - | 0 MULTITASKING | ||
| - | 1 Multitasking allows one computer to appear to do several things | ||
| - | 2 at the same time. Most of the time a single user computer sits | ||
| - | 3 in an idle loop waiting for the operator to press the keyboard. | ||
| - | | ||
| - | 5 The idea is to utilize this waiting time to perform other useful | ||
| - | 6 tasks. Typical background tasks would be watching over | ||
| - | 7 instruments in the lab, | ||
| - | | ||
| - | 9 F83 uses a very simple yet effective round-robin scheduling | ||
| - | 10 technique. Task switching is extremely fast because each task | ||
| - | 11 maintains its own parameter and return stacks and its own set | ||
| - | 12 of critical variables (called USER variables ) . | ||
| - | 13 | ||
| - | 14 The task switcher just changes the pointer to the correct list | ||
| - | 15 of USER variables. | ||
| - | |||
| - | |||
| - | Screen 45 not modified | ||
| - | 0 TASK DEPENDENT USER VARIABLES | ||
| - | 1 The following USER variables are needed in every task. | ||
| - | 2 TOS Saved during Task switching. | ||
| - | 3 ENTRY | ||
| - | 4 LINK Points to next task in the circular queue. | ||
| - | 5 SP0 Empty parameter stack for this task. | ||
| - | 6 RPO Empty return stack for this task. | ||
| - | 7 DP Size of dictionary. Next available location. | ||
| - | 8 #OUT Number of characters sent since last CR. | ||
| - | 9 #LINE | ||
| - | 10 OFFSET | ||
| - | 11 BASE The current numeric base for number input output. | ||
| - | 12 HLD | ||
| - | 13 FILE Allows printing of one file while editing another. | ||
| - | 14 IN-FILE | ||
| - | 15 PRINTING | ||
| - | |||
| - | |||
| - | Screen 46 not modified | ||
| - | 0 PAUSE RESTART | ||
| - | | ||
| - | 2 PAUSE When multitasking PAUSE stops the current task and | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 7 RESTART When multitasking RESTART does the reverse of PAUSE. | ||
| - | | ||
| - | | ||
| - | 10 | ||
| - | 11 | ||
| - | 12 | ||
| - | 13 | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 47 not modified | ||
| - | 0 SLEEP WAKE STOP | ||
| - | | ||
| - | | ||
| - | 3 SLEEP ( adr -- ) Used in the form: | ||
| - | | ||
| - | | ||
| - | 6 WAKE ( adr -- ) Used in the form: | ||
| - | | ||
| - | | ||
| - | 9 STOP ( -- -- ) Make the current task pause indefinitely. | ||
| - | 10 | ||
| - | 11 | ||
| - | 12 | ||
| - | 13 | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 48 not modified | ||
| - | 0 MULTI SINGLE | ||
| - | | ||
| - | | ||
| - | 3 MULTI Start the multitasker. This is done by installing the | ||
| - | | ||
| - | | ||
| - | 6 SINGLE | ||
| - | | ||
| - | | ||
| - | | ||
| - | 10 | ||
| - | 11 | ||
| - | 12 | ||
| - | 13 | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | |||
| - | Screen 53 not modified | ||
| - | 0 \ Hard copy screen documentation. | ||
| - | | ||
| - | 2 \ Print three screens starting with n on the printer. | ||
| - | 3 : HTRIAD | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | 9 \ Send a top of page command to printer. | ||
| - | 10 : FFEED | ||
| - | 11 | ||
| - | 12 | ||
| - | 13 \ Print screens | ||
| - | 14 : DOC ( first last -- ) | ||
| - | 15 1+ SWAP DO I HTRIAD FFEED 3 +LOOP ; | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | Screen 64 not modified | ||
| - | 0 \ Notes on Starting Forth. 1 | ||
| - | 1 \ P 50 Replace 'S with SP@ or define | ||
| - | 2 \ | ||
| - | 3 \ Because FORTH83 loops work differently you should use: | ||
| - | | ||
| - | | ||
| - | | ||
| - | 7 \ Or just use .S that is already part of your system. | ||
| - | | ||
| - | 9 \ P 66-72 Use: n VEDIT to edit screen n . | ||
| - | 10 \ The original F83.COM fill supports the STARTING FORTH style | ||
| - | 11 \ editor. | ||
| - | 12 \ P 83 See notes for P 50 above. | ||
| - | 13 \ the F83 version is implemented. | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 65 not modified | ||
| - | 0 \ Notes on Starting Forth. 2 | ||
| - | 1 \ P 110 In F83 I J and K are used only within loops to fetch | ||
| - | 2 \ the current values of the loop counters. | ||
| - | 3 \ | ||
| - | 4 \ stack to the parameter stack without changing the | ||
| - | 5 \ | ||
| - | 6 \ Use the sequence: | ||
| - | 7 \ | ||
| - | 8 \ the return stack. | ||
| - | 9 : 2R@ R> R> R@ -ROT >R >R ; | ||
| - | 10 \ Use 2R@ for I' . | ||
| - | 11 \ | ||
| - | 12 \ P112 Use R@ instead of I , also a dot . was ommited | ||
| - | 13 \ from the definition of QUADRATIC. | ||
| - | 14 : QUADRATIC | ||
| - | 15 >R SWAP ROT R@ * + R> * + . ; | ||
| - | |||
| - | |||
| - | Screen 66 not modified | ||
| - | 0 \ Notes on Starting Forth. 3 | ||
| - | 1 \ P 119 Error in footnote! | ||
| - | 2 : R% 50 */ 1+ 2/ ; | ||
| - | 3 \ P 123 I I' and J see comments for page 110. | ||
| - | 4 \ P 131 For COMPOUND to display as in text insert a | ||
| - | 5 \ | ||
| - | 6 \ P 135 There is an error in TEST - should be 10 10 DO but | ||
| - | 7 \ even so . . the FORTH83 | ||
| - | 8 \ the one in Starting FORTH !!!! Try the following | ||
| - | 9 : -TEST DO I . ?KEY ?LEAVE ( any key exit ) -1 +LOOP ; | ||
| - | 10 : +TEST DO I . ?KEY ?LEAVE ( any key exit ) 1 +LOOP ; | ||
| - | 11 \ 9 10 +TEST loops 65534 times. | ||
| - | 12 \ 10 10 +TEST loops 65535 times. 10 10 -TEST gives | ||
| - | 13 \ 11 10 +TEST gives 10 11 10 -TEST loops 65535 times | ||
| - | 14 \ If you try any of the longer loops above press any key to | ||
| - | 15 \ abort!! | ||
| - | |||
| - | |||
| - | Screen 67 not modified | ||
| - | 0 \ Notes on Starting Forth. 4 | ||
| - | 1 \ P 137 XX will clear the stack as indicated but our definition | ||
| - | 2 \ : CLEAR DEPTH 0 ?DO DROP LOOP ; will do it without | ||
| - | 3 \ the error message. | ||
| - | 4 : CLEAR SP0 @ SP! ; | ||
| - | 5 \ P 140 In FORTH83 | ||
| - | 6 \ DO ... LOOP !! Thus any words between LEAVE and LOOP | ||
| - | 7 \ will not be executed if the condition for leaving is | ||
| - | 8 \ is satisfied. | ||
| - | 9 \ is not printed the last time. | ||
| - | 10 : HELLOS | ||
| - | 11 \ Note: ?LEAVE can replace the phrase | ||
| - | 12 \ P 142-143 | ||
| - | 13 : CLEAR-SCREEN | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | |||
| - | Screen 68 not modified | ||
| - | 0 \ Notes on Starting Forth. 5 | ||
| - | 1 \ P 161 In FORTH83 | ||
| - | 2 \ | ||
| - | 3 \ In FORTH83 | ||
| - | 4 \ P 164 Double number punctuation is . only! not , | ||
| - | 5 \ P 166 Use the | ||
| - | 6 \ P 169 FORTH83 | ||
| - | 7 \ | ||
| - | 8 \ P 170 Replace | ||
| - | 9 \ | ||
| - | 10 \ P 172 Replace | ||
| - | 11 \ P 174 Use the definitions below: | ||
| - | 12 : M+ S>D D+ ; : M/ M/MOD NIP ; | ||
| - | 13 : M*/ 2DUP XOR SWAP ABS >R SWAP ABS >R OVER XOR -ROT | ||
| - | 14 DABS SWAP R@ UM* ROT R> UM* ROT 0 D+ R@ UM/ | ||
| - | 15 -ROT R> UM/MOD NIP SWAP ROT ?DNEGATE ; | ||
| - | |||
| - | |||
| - | Screen 69 not modified | ||
| - | 0 \ Notes on Starting Forth. 6 | ||
| - | 1 \ P 177 In FORTH83 | ||
| - | 2 \ In FORTH83 | ||
| - | 3 \ P 178 Use ROT SIGN where ever Brodie uses SIGN !! | ||
| - | 4 \ P 202 Use CLEAR-SCREEN definition given earlier for PAGE | ||
| - | 5 \ P 204 Use +LOOP for /LOOP | ||
| - | 6 \ P 215 Type VIEW INTERPRET | ||
| - | 7 \ P 217 In F83 DEFER is used for execution vectors. | ||
| - | 8 \ P 233 In F83 the variable H is called | ||
| - | 9 \ P 235-237 | ||
| - | 10 \ P 240 Use DP instead of H ; No OFFSET in this system. | ||
| - | 11 \ P 242 F83 Uses the ONLY vocabulary structure. See the FORTH-83 | ||
| - | 12 \ | ||
| - | 13 \ P 247 Use DP instead of H . | ||
| - | 14 | ||
| - | 15 | ||
| - | |||
| - | </ | ||
papierkorb/help.blk.1755359401.txt.gz · Zuletzt geändert: 2025-08-16 17:50 von mka