Ich möchte die Forth-Wörter VALUE
und TO
auf einem RPC/8 implementieren (ein emulierter Computer in einem Minecraftmod). Meine besten Versuche bringen mir eine Reihe von Wörtern, die gut funktionieren, solange ich sie beim Kompilieren nicht verwende. Weitere VALUE
funktioniert, aber TO
nicht.So definieren Sie VALUE und TO
: VALUE CREATE , DOES> @ ;
: TO ' 3 + ! ;
Ich habe alles versucht, ich denken kann, um es zu arbeiten und mein Bestes versuchen wird mir dies:
['] NameOfAValue + 3 !
Beachten Sie, dass der Prozessor kein reines 6502 ist aber ein 65EL02, eine benutzerdefinierte Variante der 65816.
EDIT # 1: Irgendwie habe ich den Aufruf an CREATE in Wert vergessen. Es sollte die ganze Zeit dort gewesen sein. EDIT # 2: Ich habe auch 3
und +
in TO umgeschaltet ... oops. Es hätte die ganze Zeit anders sein müssen.
Blimey. Eine Frage zu FORTH läuft auf einer emulierten Computerarchitektur auf einer emulierten Variante einer Variante eines 6502 in einem Spiel. Ich kann es nicht beantworten, aber +1 nur für die Meta-Meta-it! –
@Jonners Minecraft (für den PC) ist in Java geschrieben, also läuft das alles auch in einer virtuellen Maschine. – sheepez
@Milo; Der Code hier für TO ist immer noch falsch Milo. ! ist (a n -) nicht (na -). TO versucht, einen Stack-Unterlauf zu Adresse 3 zu speichern. Es muss sein: TO (n) '3 +! ' –