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