From 77664f88335be474b0f4784e4d521e563b459fdc Mon Sep 17 00:00:00 2001 From: Tim Vaughan Date: Sat, 23 Apr 2016 14:02:37 +1200 Subject: [PATCH] Added CHAR and EXECUTE --- src/forth.jl | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/forth.jl b/src/forth.jl index 69f703e..d6a10e6 100644 --- a/src/forth.jl +++ b/src/forth.jl @@ -824,6 +824,22 @@ QUIT = defWord("QUIT", INTERPRET, BRANCH,-2]) +# Odds and Ends + +CHAR = defPrim("CHAR", () -> begin + callPrim(mem[WORD]) + wordLen = popPS() + wordAddr = popPS() + word = getString(wordAddr, wordLen) + pushPS(Int64(word[1])) + + return mem[NEXT] +end) + +EXECUTE = defPrim("EXECUTE", () -> begin + return mem[popPS()] +end) + #### VM loop #### function runVM() jmp = mem[NEXT] -- 2.20.1