mirror of
https://github.com/forth-ev/VolksForth.git
synced 2024-06-17 20:29:41 +00:00
Documentation: CP/M specific words
This commit is contained in:
parent
c7f5bfbb7b
commit
46dd9ebcd0
|
@ -1,15 +1,16 @@
|
|||
.HE CP/M 2.2 - spezifische Worte
|
||||
#bs ( -- n ) "number-backspace"
|
||||
n ist der Ascii-Wert f}r Backspace.
|
||||
#+Title: CP/M 2.2 - spezifische Worte
|
||||
|
||||
#cr ( -- n ) "number-c-r"
|
||||
n ist der Ascii-Wert f}r Carriage-Return.
|
||||
* =#bs ( -- n )= "number-backspace"
|
||||
n ist der Ascii-Wert für Backspace.
|
||||
|
||||
* =#cr ( -- n )= "number-c-r"
|
||||
n ist der Ascii-Wert für Carriage-Return.
|
||||
|
||||
#esc ( -- n ) "number-escape"
|
||||
n ist der Ascii-Wert f}r Escape.
|
||||
n ist der Ascii-Wert für Escape.
|
||||
|
||||
#lf ( -- n ) "number-linefeed"
|
||||
n ist der Ascii-Wert f}r Linefeed.
|
||||
n ist der Ascii-Wert für Linefeed.
|
||||
|
||||
(at ( row col -- ) "paren-at"
|
||||
Positioniert den Cursor in die Zeile row, Spalte col und setzt OUT.
|
||||
|
@ -26,7 +27,7 @@
|
|||
|
||||
(cr ( -- ) "paren-c-r"
|
||||
Setzt den Cursor in die erste Spalte der n{chsten Zeile. PAUSE wird
|
||||
ausgef}hrt.
|
||||
ausgeführt.
|
||||
|
||||
(decode ( addr pos1 key --- addr pos2 ) "paren-decode"
|
||||
Wertet key aus. key wird in der Speicherzelle addr+pos1 abgelegt und
|
||||
|
@ -35,7 +36,7 @@
|
|||
Control-S und Control-D beeinflussen nur pos1 und den Cursor. Ctrl-G
|
||||
l|scht das Zeichen unter dem Cursor und dekrementiert SPAN.
|
||||
Backspace (Control-H) und Delete ($7F) l|schen das Zeichen links vom
|
||||
Cursor und dekrementieren pos1 und SPAN. Control T f}gt an der
|
||||
Cursor und dekrementieren pos1 und SPAN. Control T fügt an der
|
||||
Cursorposition ein Leerzeichen ein. SPAN wird inkrementiert. Return
|
||||
positioniert den Cursor auf das letzte Zeichen.
|
||||
Vergleiche INPUT: und (EXPECT.
|
||||
|
@ -45,7 +46,7 @@
|
|||
Vergleiche auch DEL.
|
||||
|
||||
(emit ( 8b -- ) "paren-emit"
|
||||
Gib 8b auf dem Bildschirm aus. Ein PAUSE wird ausgef}hrt. Alle Werte
|
||||
Gib 8b auf dem Bildschirm aus. Ein PAUSE wird ausgeführt. Alle Werte
|
||||
werden als Zeichen ausgegeben. Steuercodes sind nicht m|glich, d.h.
|
||||
alle Werte < $20 werden als Punkt "." ausgegeben.
|
||||
Vergleiche CON! und EMIT.
|
||||
|
@ -55,16 +56,16 @@
|
|||
abgelegt werden. Ein Echo der Zeichne wird ausgegeben. Return be
|
||||
endet die Eingabe vorzeitig. Ein abschlie~endes Leerzeichen wird
|
||||
immer ausgegeben. Die L{nge der Zeichenkette wird in der Variablen
|
||||
SPAN }bergeben. Vergleiche EXPECT.
|
||||
SPAN übergeben. Vergleiche EXPECT.
|
||||
.PA
|
||||
(key ( -- char ) "paren-key"
|
||||
Wartet auf einen Tastendruck. W{hrend der Wartezeit wird PAUSE
|
||||
ausgef}hrt. Die untersten 7 Bit von char enthalten den Ascii-Code
|
||||
der gedr}ckten Taste. Steuerzeichen werden nicht ausgewertet,
|
||||
ausgeführt. Die untersten 7 Bit von char enthalten den Ascii-Code
|
||||
der gedrückten Taste. Steuerzeichen werden nicht ausgewertet,
|
||||
sondern unver{ndert abgeliefert. Vergleiche KEY.
|
||||
|
||||
(key? ( -- flag ) "paren-key-question"
|
||||
flag ist TRUE, wenn eine Taste gedr}ckt wurde, sonst false.
|
||||
flag ist TRUE, wenn eine Taste gedrückt wurde, sonst false.
|
||||
Vergleiche auch KEY?.
|
||||
|
||||
(page ( -- ) "paren-page"
|
||||
|
@ -75,13 +76,13 @@
|
|||
Ist r/wf<>FALSE, wird der Forth-Block mit der absoluten Blocknummer
|
||||
blk von der Diskette gelesen. Ist r/wf=FALSE so wird er geschrieben.
|
||||
adr gibt die Addresse des Block-Puffers an. file mu~ null sein, da
|
||||
(r/w den Zugriff auf Files nicht unterst}tzt. flag ist TRUE wenn ein
|
||||
(r/w den Zugriff auf Files nicht unterstützt. flag ist TRUE wenn ein
|
||||
Diskettenfehler vorlag.
|
||||
|
||||
(type ( addr len -- ) "paren-type"
|
||||
Gibt den String, der im Speicher bei addr beginnt und die L{nge len
|
||||
hat, auf dem Blidschirm aus. Genau ein PAUSE wird nach der Ausgabe
|
||||
ausgf}hrt. Vergleiche TYPE, OUTPUT: und (EMIT.
|
||||
ausgführt. Vergleiche TYPE, OUTPUT: und (EMIT.
|
||||
|
||||
/drive ( blk -- blk' drv ) "per-drive"
|
||||
blk gibt die absolute Nummer eines Forth-Blocks an. /DRIVE
|
||||
|
@ -90,7 +91,7 @@
|
|||
Laufwerks hat. Siehe DRV?, >DRIVE.
|
||||
|
||||
>drive ( blk drv -- block' ) "to-drive"
|
||||
blk gibt die relative Blocknummer eine Forth-Blocks bez}glich des
|
||||
blk gibt die relative Blocknummer eine Forth-Blocks bezüglich des
|
||||
Anfangs von Laufwerk drv an. >DRIVE berechnet daraus, unter welcher
|
||||
Blocknummer dieser Block beim momentanen Stand von OFFSET erreicht
|
||||
werden kann (block'). In gewisser Weise Umkehrung von /DRIVE.
|
||||
|
@ -99,7 +100,7 @@
|
|||
Ist f=FALSE, so wird "beyond capacity" als Fehlermeldung ausgegeben.
|
||||
|
||||
?drive ( n -- n ) "question-drive"
|
||||
]berpr}ft, ob das Laufwerk n existiert, und gibt "beyond capacity"
|
||||
]berprüft, ob das Laufwerk n existiert, und gibt "beyond capacity"
|
||||
als Fehlermeldung aus, wenn dies nicht der Fall ist.
|
||||
|
||||
b/blk ( -- b/blk ) "bytes-per-block"
|
||||
|
@ -108,7 +109,7 @@ b/blk ( -- b/blk ) "bytes-per-block"
|
|||
|
||||
bios ( -- addr ) "bios"
|
||||
Adresse eines 8080-Unterprogramms, das einen Sprung ins BIOS aus
|
||||
f}hrt. Das Low-Byte der Einsprungadresse steht dabei in HL. Wird von
|
||||
führt. Das Low-Byte der Einsprungadresse steht dabei in HL. Wird von
|
||||
con!, (key?, getkey und read/write benutzt.
|
||||
|
||||
blk/drv ( -- #blk ) "blocks-per-drive"
|
||||
|
@ -138,7 +139,7 @@ dark ( -- ) "dark"
|
|||
|
||||
display ( -- ) "display"
|
||||
Ein mit OUTPUT: definiertes Wort, das den Bildschirm als Ausgabe
|
||||
ger{t anw{hlt, wenn es ausgef}hrt wird. Die Worte EMIT, CR, TYPE,
|
||||
ger{t anw{hlt, wenn es ausgeführt wird. Die Worte EMIT, CR, TYPE,
|
||||
DEL, PAGE, AT, und AT? beziehen sich dann auf das aktuelle Terminal.
|
||||
Siehe TERMINAL:.
|
||||
|
||||
|
@ -156,7 +157,7 @@ drv! ( drv f -- dph ) "drive-store"
|
|||
nach einem CP/M Warmstart handelt. dph ist die Adresse des CP/M
|
||||
Disk-Parameter-Headders. (Siehe CP/M Operating System Manual)
|
||||
Ist dph=0, so ist das angesprochene Laufwerk in diesem Komputer
|
||||
system nicht unterst}tzt.
|
||||
system nicht unterstützt.
|
||||
|
||||
drv? ( blk -- drv ) "drive-question"
|
||||
blk gibt die absolute Nummer eines FORTH-Blocks an, DRV? berechnet
|
||||
|
@ -164,11 +165,11 @@ drv? ( blk -- drv ) "drive-question"
|
|||
Siehe /DRIVE, >DRIVE.
|
||||
|
||||
drv0 ( -- ) "drive-zero"
|
||||
W{hlt Laufwerk 0 (A) als aktuelles Laufwerk f}r R/W an. Siehe DRIVE
|
||||
W{hlt Laufwerk 0 (A) als aktuelles Laufwerk für R/W an. Siehe DRIVE
|
||||
und >DRIVE.
|
||||
|
||||
drv1 ( -- ) "drive-one"
|
||||
W{hlt Laufwerk 1 (B) als aktuelles Laufwerk f}r R/W an. Siehe DRIVE
|
||||
W{hlt Laufwerk 1 (B) als aktuelles Laufwerk für R/W an. Siehe DRIVE
|
||||
und >DRIVE.
|
||||
|
||||
drvinit ( -- ) "drive-init"
|
||||
|
@ -178,7 +179,7 @@ drvinit ( -- ) "drive-init"
|
|||
default-Laufwerk selektiert.
|
||||
dumb ( -- ) "dumb"
|
||||
Ein mit TERMINAL: definiertes Wort, das ein ignorantes Terminal
|
||||
anw{hlt, wenn es ausgef}hrt wird. CURON, CUROFF, CURLEFT, CURRITE,
|
||||
anw{hlt, wenn es ausgeführt wird. CURON, CUROFF, CURLEFT, CURRITE,
|
||||
RVSON, RVSOFF, DARK und LOCATE haben dann keine Wirkung. Mit ihnen
|
||||
auch die sie benutzenden Worte (PAGE, (AT, (DEL. Wenn DISPLAY
|
||||
eingeschaltet ist, sind also auch PAGE, AT und DEL wirkungslos.
|
||||
|
@ -187,7 +188,7 @@ dumb ( -- ) "dumb"
|
|||
|
||||
getkey ( -- char ) "getkey"
|
||||
die unteren 7 Bit von char enthalten den Ascii-Code des letzten
|
||||
Tastendrucks. Ist noch keine Taste gedr}ckt, dann wartet getkey.
|
||||
Tastendrucks. Ist noch keine Taste gedrückt, dann wartet getkey.
|
||||
Siehe auch KEY? und KEY.
|
||||
|
||||
home ( -- ) "home"
|
||||
|
@ -237,22 +238,22 @@ sec! ( sec -- ) "sec-store"
|
|||
sec ist der beim n{chsten Diskettenzugriff zu verwendende Sektor.
|
||||
.PA
|
||||
Term: ( offset -- offset' ) "term-colon"
|
||||
Ein definierendes Wort f}r Terminalfunktionen. Wird benutzt um die
|
||||
Ein definierendes Wort für Terminalfunktionen. Wird benutzt um die
|
||||
einzelnen Komponenten eines Terminal-Vektors zu definieren.
|
||||
Vordefinierte Terminalfunktionen sind CURON, CUROFF, CURLEFT,
|
||||
CURRITE, RVSON, RVSOFF, DARK und LOCATE. Siehe auch TERMINAL:
|
||||
|
||||
Terminal: ( -- ) "terminal-colon"
|
||||
Ein definierendes Wort f}r Terminals. Benutzt in der Form:
|
||||
Ein definierendes Wort für Terminals. Benutzt in der Form:
|
||||
Terminal: <name>
|
||||
newCURON newCUROFF newCURLEFT newCURRITE
|
||||
newRVSON newRVSOFF newDARK newLOACTE ;
|
||||
TERMINAL: erzeugt einen Kopf f}r <name> im Dictionary und kompiliert
|
||||
einen Vektor von Zeigern auf Worte die f}r die Ausf}hrung von Ter
|
||||
minalfunktionen zust{ndig sind. Wird <name> ausgef}hrt, so werden
|
||||
TERMINAL: erzeugt einen Kopf für <name> im Dictionary und kompiliert
|
||||
einen Vektor von Zeigern auf Worte die für die Ausführung von Ter
|
||||
minalfunktionen zust{ndig sind. Wird <name> ausgeführt, so werden
|
||||
die Terminalfunktionen von <name> zu den aktuellen Terminal
|
||||
funktionen gemacht, das Terminal <name> ist damit aktiv. Terminal
|
||||
funktionen werden von AT, PAGE, DEL ausgef}hrt, wenn die Ausgabe auf
|
||||
funktionen werden von AT, PAGE, DEL ausgeführt, wenn die Ausgabe auf
|
||||
DISPLAY geschaltet ist. Siehe OUTPUT:, DISPLAY, DUMB.
|
||||
|
||||
trk! ( trk -- ) "track-store"
|
Loading…
Reference in New Issue
Block a user