mirror of
https://github.com/forth-ev/VolksForth.git
synced 2024-11-05 04:05:43 +00:00
171 lines
11 KiB
Plaintext
171 lines
11 KiB
Plaintext
Screen 0 not modified
|
||
0 \\ *** Diverses *** 26oct86we
|
||
1
|
||
2 In diesem File haben wir Worte untergebracht, die zwar h„ufig
|
||
3 gebraucht werden, aber nicht bestimmten Files zugeordnet werden
|
||
4 k”nnen.
|
||
5
|
||
6
|
||
7
|
||
8
|
||
9
|
||
10
|
||
11
|
||
12
|
||
13
|
||
14
|
||
15
|
||
Screen 1 not modified
|
||
0 \ Loadscreen f<>r Diverses 26oct86we
|
||
1
|
||
2 Onlyforth
|
||
3
|
||
4 1 2 +thru
|
||
5
|
||
6 ' .blk Is .status
|
||
7
|
||
8
|
||
9 \ 3 +load setvec
|
||
10
|
||
11
|
||
12
|
||
13
|
||
14
|
||
15
|
||
Screen 2 not modified
|
||
0 \ H„ufig benutzte Definitionen 26oct86we
|
||
1
|
||
2 : >absaddr ( addr -- abs_laddr ) 0 forthstart d+ ;
|
||
3
|
||
4 : .blk ( -- ) blk @ ?dup 0= ?exit
|
||
5 dup 1 = IF cr file? THEN ." Blk " . ?cr ;
|
||
6
|
||
7 : abort( ( f -- )
|
||
8 IF [compile] .( true abort" !" THEN [compile] ( ;
|
||
9
|
||
10 \needs arguments abort( use definition in FILEINT.SCR)
|
||
11
|
||
12
|
||
13
|
||
14
|
||
15
|
||
Screen 3 not modified
|
||
0 \ H„ufig benutzte Definitionen II 26oct86we
|
||
1
|
||
2 | Create: cpull
|
||
3 rp@ count 2dup + even rp! r> swap cmove ;
|
||
4
|
||
5 : cpush ( addr len --) r> -rot over >r
|
||
6 rp@ over 2+ - even dup rp! place cpull >r >r ;
|
||
7
|
||
8
|
||
9 : bell 7 con! ;
|
||
10 : blank ( addr count -- ) bl fill ;
|
||
11
|
||
12
|
||
13
|
||
14
|
||
15
|
||
Screen 4 not modified
|
||
0 \ TOS-Alerts abschalten 16oct86we
|
||
1
|
||
2 Create oldvec 4 allot
|
||
3
|
||
4 Label newvector
|
||
5 -8 D1 cmpi 0<> IF -&13 D1 cmpi 0<> IF
|
||
6 .l oldvec pcrel) A2 move A2 ) jmp THEN THEN
|
||
7 .l D1 D0 move rts end-code
|
||
8
|
||
9 : setvec $0.0404 l2@ oldvec 2!
|
||
10 newvector >absaddr $0.0404 l2! ;
|
||
11
|
||
12 : restvec oldvec 2@ $0.0404 l2! ;
|
||
13
|
||
14 : bye restvec bye ;
|
||
15
|
||
Screen 5 not modified
|
||
0
|
||
1
|
||
2
|
||
3
|
||
4
|
||
5
|
||
6
|
||
7
|
||
8
|
||
9
|
||
10
|
||
11
|
||
12
|
||
13
|
||
14
|
||
15
|
||
Screen 6 not modified
|
||
0 \ Loadscreen f<>r Diverses 26oct86we
|
||
1
|
||
2 setzt Searchorder auf FORTH FORTH ONLY FORTH
|
||
3
|
||
4 kompiliert die n„chsten 2 Screens.
|
||
5
|
||
6 .STATUS ist ein 'deferred word', das jeweils beim Kompilieren
|
||
7 eines Quelltextscreens aufgerufen wird.
|
||
8
|
||
9 Screen 4 wird nicht mitkompiliert, denn SETVEC muž nach jedem
|
||
10 Neustart wieder aufgerufen werden. Falls Sie diese Funktion
|
||
11 nutzen wollen, m<>ssen Sie nach jedem Laden SETVEC eingeben.
|
||
12 (Dazu muž nat<61>rlich Screen 4 kompiliert worden sein.)
|
||
13
|
||
14
|
||
15
|
||
Screen 7 not modified
|
||
0 \ H„ufig benutzte Definitionen 26oct86we
|
||
1
|
||
2 >ABSADDR rechnet eine - relative- Adresse im FORTH-System in
|
||
3 eine absolute 32-Bit-Adresse um.
|
||
4 .BLK gibt die Nummer des gerade kompilierten Screens aus,
|
||
5 bei Screen 1 auch den Filenamen.
|
||
6
|
||
7 ABORT( bewirkt das gleiche wie ABORT", ist aber im Direkt-
|
||
8 modus zul„ssig.
|
||
9
|
||
10 ARGUMENTS pr<70>ft, ob eine bestimmte (Mindest-)Anzahl von Werten
|
||
11 auf dem Stack liegt. Dieses Wort ist bereits im
|
||
12 FORTHKER.PRG vorhanden, da es vom File-Interface
|
||
13 gebraucht wird.
|
||
14
|
||
15
|
||
Screen 8 not modified
|
||
0 \ H„ufig benutzte Definitionen II 26oct86we
|
||
1
|
||
2 CPUSH sorgt im Zusammenspiel mit CPULL daf<61>r, daž ein
|
||
3 String (bzw. ein beliebiger Speicherbereich, z.B.
|
||
4 ein Array) nach dem Aufruf einer Funktion wieder
|
||
5 die alten Werte erh„lt. Entspricht dem Wort PUSH,
|
||
6 aber f<>r Strings anstelle von Variablen.
|
||
7
|
||
8
|
||
9 BELL Dieses Wort ist selbsterkl„rend !!!
|
||
10 BLANK f<>llt ab addr count Speicherstellen mit Leerzeichen.
|
||
11
|
||
12
|
||
13
|
||
14
|
||
15
|
||
Screen 9 not modified
|
||
0 \ TOS-Alerts abschalten 26oct86we
|
||
1
|
||
2 Vielleicht haben Sie es schon einmal bemerkt. Wenn Sie auf eine
|
||
3 Diskette schreiben wollen, bei der der Schreibschutz gesetzt
|
||
4 ist, erscheint eine Alert-Box, aber ohne Maus, sodaž Sie den
|
||
5 ABBRUCH-Knopf nur durch geduldiges Experimentieren mit der Maus
|
||
6 erreichen k”nnen. Diese Box wird vom Betriebssystem ohne unser
|
||
7 Zutun und ohne Einwirkungsm”glichkeit erzeugt.
|
||
8 NEWVECTOR „ndert den zugeh”rigen Vector (critical error handler)
|
||
9 so, daž diese Boxen nicht mehr erscheinen, wohl aber die, in
|
||
10 denen z.B. zum Diskettenwechsel aufgefordert wird.
|
||
11 SETVEC und RESTVEC dienen zum Umschalten zwischen altem und
|
||
12 neuen Vector.
|
||
13 Insbesondere muž BYE den alten Vector wiederherstellen, sonst
|
||
14 st<73>rzt das System gnadenlos ab.
|
||
15 Noch keine besonders elegante L”sung, aber besser als keine !!
|