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<74>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
|