1 Files in MHF-002/FORTH/ :
Nápad:
- CREATE .. DOES> má problém, že potřebuje dva ukazatele na data - kde je nové slovo (TEN) kvůli číslu/číslům a kde je vytvářející slovo (CONSTANT) kvůli programu
- řeší to tím, že zakompiluje CALL dodoes do vytvářejícího slova a použije to jako cíl CW vytvářeného slova (a pak zneužije systémový zásobník)
- problém je kód (executable) v zapisovaných datech (writable)
- řešení by mohlo taky být použití 24bit pointerů s nastaveným bitem, který by NEXT (a nikdo jiný) vyhodnotil jako
- načti kam směřuju, to. co tam je použij jako cíl nepřímého skoku a Parsx uložý adresu, co je za tím
- ve vytvářejícím slově by byla jen adresa dodoes (1 CELL jako v CW, ale kódu) a do vytvářeného slova by se do CW dal ukazatel na toto pole ale s příznakem
- cena je instrukce navíc v NEXT
MHF-002/FORTH