code: 9ferno

Download patch

ref: a76f57f1304d746cf4d3bbd03df4467811929b86
parent: 775a6ece50420e69913bf45cf0a72811a6f68a40
author: 9ferno <gophone2015@gmail.com>
date: Mon Feb 14 15:41:21 EST 2022

working interpreter after reading from args

--- a/os/pc64/words-nasm.s
+++ b/os/pc64/words-nasm.s
@@ -1196,15 +1196,6 @@
 
 dd M_xswap	; ( pad 'fcs )
 dd C_concat	; Now, pad has a proper counted string
-
-dd M_dup
-dd C_count
-dd C_type
-dd C_cr
-dd C_depth
-dd C_dot
-dd C_cr
-
 dd M_exitcolon
 
 ; max of a counted string is 256 bytes. Hence, cannot use it.
@@ -1339,24 +1330,11 @@
 
 CENTRY "word" C_word 4 ; ( -- 'Wordb ) read from #n/Infd/word into Tib and then parse to a counted string in Wordb
 dd MC_WORDNUM
+
 dd C_query
 
-dd M_literal
-dd 8
-dd C_debug
-dd M_dup
-dd C_dot
-dd C_cr
-
 dd C_parse
 
-dd M_literal
-dd 9
-dd C_debug
-dd M_dup
-dd C_dot
-dd C_cr
-
 dd M_exitcolon
 
 CENTRY "line" C_line 4 ; ( -- count ) read from #n/Infd/line into Tib
@@ -1505,16 +1483,14 @@
 
 CENTRY "interpret" C_interpret 9 ; ( 'Wordb -- ) there is a counted string in the Wordb
 
-dd M_literal
-dd 7
-dd C_debug
-
 dd C_find	; ( 'Wordb -- a1 f )
 dd M_cjump
 dd L_C_interpret_not_found
 
 dd M_execute	; found in dictionary, execute
+
 dd C_qstack		; check stack status
+
 dd M_exitcolon
 
 L_C_interpret_not_found:	; ( 'Wordb ) not found in the dictionary, check for number?
@@ -2143,17 +2119,9 @@
 dd M_reset ; initialize return stack
 dd M_clear	; SP = sstack_end initialize data stack
 
-dd M_literal
-dd 5
-dd C_debug
-
 L_C_quit:
 dd C_word
 
-dd M_literal
-dd 6
-dd C_debug
-
 ; dd MV_toLimit	; show the line read, for debugging
 ; dd M_fetch
 ; dd MV_Tib
@@ -2310,15 +2278,7 @@
 
 dd C_initialize	; sets up the buffer filenames and buffer fd's
 
-dd M_literal
-dd 1
-dd C_debug
-
 dd C_args	; process args
-
-dd M_literal
-dd 2
-dd C_debug
 
 dd C_quit	; interpreter loop when there are no args or fall through after processing args
 dd M_exitcolon