From 6345a1a92698a72f5865e8e04dbc4bd14858e747 Mon Sep 17 00:00:00 2001 From: Jonas Hvid Date: Tue, 3 Dec 2019 19:28:17 +0100 Subject: [PATCH] Refactor: Create INTERPRET word (We will probably want to write this in assembly when we add more functionality.) --- main.asm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/main.asm b/main.asm index 21a911c..8d9c51b 100644 --- a/main.asm +++ b/main.asm @@ -242,6 +242,15 @@ forth HELLO, 'HELLO' dq NEWLINE dq EXIT +;; The INTERPRET word reads and interprets user input. It's behavior depends on +;; the current STATE. It provides special handling for integers. (TODO) +forth INTERPRET, 'INTERPRET' + dq READ_WORD + dq FIND + dq TCFA + dq EXEC + dq EXIT + ;; .U prints the value on the stack as an unsigned integer in hexadecimal. forth_asm DOTU, '.U' mov [.length], 0 @@ -305,8 +314,8 @@ forth_asm DOTU, '.U' forth MAIN, 'MAIN' dq HELLO - dq READ_WORD, FIND, TCFA, EXEC - dq BRANCH, -8 * 5 + dq INTERPRET + dq BRANCH, -8 * 2 dq TERMINATE segment readable writable -- 2.39.2