mirror of
https://github.com/forth-ev/VolksForth.git
synced 2024-12-01 19:49:57 +00:00
35 lines
2.2 KiB
Plaintext
35 lines
2.2 KiB
Plaintext
Screen 0 not modified
|
||
0 \\ *** Allocate *** 12oct86we
|
||
1
|
||
2 Dieses File enth„lt die Betriebssystemroutinen, mit denen man
|
||
3 RAM-Speicher beim Betriebssystem an- und abmelden kann.
|
||
4
|
||
5 MALLOC erwartet die - doppelt genaue - Anzahl der zu reservie-
|
||
6 renden Bytes und gibt die Langadresse des allokierten Speicher-
|
||
7 bereichs zur<75>ck. Wenn nicht genug Speicherplatz zur Verf<72>gung
|
||
8 steht, wird der Befehl abgebrochen.
|
||
9
|
||
10 MFREE gibt den Speicher ab laddr wieder frei. Bei Fehlern wird
|
||
11 der Befehl abgebrochen.
|
||
12
|
||
13
|
||
14
|
||
15
|
||
Screen 1 not modified
|
||
0 \ malloc mfree 16oct86we
|
||
1
|
||
2 Code malloc ( d -- laddr )
|
||
3 .l SP ) A7 -) move .w $48 # A7 -) move 1 trap
|
||
4 6 A7 addq .l D0 SP ) move
|
||
5 ;c: 2dup or 0= abort" No more RAM" ;
|
||
6
|
||
7 Code mfree ( laddr -- )
|
||
8 .l SP )+ A7 -) move .w $49 # A7 -) move 1 trap
|
||
9 6 A7 addq .w D0 SP -) move ;c: abort" mfree Error!" ;
|
||
10
|
||
11
|
||
12
|
||
13
|
||
14
|
||
15
|