mcForth - Speicheraufteilung

Die Aufteilung des Speichers erfolgt in Programmbereich (Flash) und RAM. Weil bei vielen 16-Bit-Controller der Flash größer als 64K ist, wird für den Programmspeicher ein doppeltgenauer Zeiger verwendet. Beim RAM wurden die einfachgenauen Adressen beibehalten um den Standard einzuhalten. Aktuell sind mir auch keine Controller bekannt, die erweitere Adressen zum Zugriff ihres RAMs brauchen.


RAM-Bereich:
BereichGröße
 #r0
Returnstack#rsize cells
 #s0
Datenstack#ssize cells
evtl. Flash-Schreibpuffer#pbsize
 #pb
Diskpuffer#c/fb
 #fb
Eingabepuffer #tbsize chars
 #varx
evtl. Heap 
 hereh
frei 
 here
Variablen 
 #var0


Programmbereich (Flash oder RAM):
BereichGröße
 #prgx
frei 
 herep
Programm 
 #p0