Support calling EFI functions directly from Forth
[rrq/jonasforth.git] / bootstrap.asm
index 4dd77de2152879f910f50efb7638369afe2c4382..1b8b65862947102c2c9117ae73eaf2890219d322 100644 (file)
@@ -111,20 +111,13 @@ forth INTERPRET_STRING, 'INTERPRET-STRING'
   ;; Check if the buffer is-non-empty
   ;; [TODO] This probably won't work for strings with whitespace at the end.
   dq INPUT_LENGTH, GET
-  dq ZBRANCH, 8 * 19 ; to EXIT
+  dq ZBRANCH, 8 * 5 ; to EXIT
 
-  dq INPUT_BUFFER, GET
-  dq INPUT_LENGTH, GET
-  dq POP_WORD
-
-  ;; Stack is (buffer buffer-length word word-length)
-
-  dq ROT, ROT
-  dq INPUT_LENGTH, PUT
-  dq ROT, ROT
-  dq INPUT_BUFFER, PUT
+  dq READ_WORD
 
   dq INTERPRET_WORD
-  dq BRANCH, -8 * 19 ; to INPUT-LENGTH @
+  dq BRANCH, -8 * 7 ; to INPUT-LENGTH @
+
+  dq LIT, 0, INPUT_BUFFER, PUT
 
   dq EXIT