Reimplement HELLO in Forth
[rrq/jonasforth.git] / sys.f
diff --git a/sys.f b/sys.f
index 09963525c9e3a9f343efdafd87bbf476ca05a252..604d87aa75e71f116f1177d048e18c4028a5b4b6 100644 (file)
--- a/sys.f
+++ b/sys.f
@@ -55,6 +55,29 @@ EXIT [
   DROP SWAP DROP SWAP DROP
 ;
 
+: C,
+  HERE @ C!
+  HERE @ 1 +
+  HERE ! ;
+
+: OVER
+  SWAP DUP ROT ;
+
+: STORE-STRING
+  BEGIN
+    OVER C@ C,
+    SWAP 1 + SWAP
+  1 - DUP 0 = UNTIL
+  DROP DROP ;
+
+S" HELLO-ADDR" CREATE
+S" Hello!" DUP ROT
+STORE-STRING
+: HELLO
+  ' HELLO-ADDR LIT [ , ] TELL NEWLINE ;
+
+HELLO
+
 S" 10 FIB = " TELL
 10 FIB .U
 S"  (Expected: 59)" TELL NEWLINE