VolksForth/sources/AtariST/ALLOCATE.FB.src

35 lines
2.2 KiB
Plaintext
Raw Normal View History

2020-06-20 16:59:55 +00:00
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