Comp24
My computer for year 2024
MHF-002/FORTH
1970.01.01 00:00:01 end dir system

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