code: 9ferno

Download patch

ref: d2e7afbf12a8b8d25cf69c73c04023feae75e629
parent: d9761c518aa85d439cac436fca7361dc1f096669
author: 9ferno <gophone2015@gmail.com>
date: Tue Feb 1 13:49:02 EST 2022

working args processing

--- a/os/pc64/forth.h
+++ b/os/pc64/forth.h
@@ -112,7 +112,7 @@
 	M_stackptr = 2224,
 	M_Wordb = 2248,
 	M_Tib = 2272,
-	M_Args = 2296,
+	M_Fthargs = 2296,
 	C_false = 2320,
 	C_true = 2368,
 	C_bl = 2416,
@@ -230,139 +230,139 @@
 	C_current_input = 9312,
 	C_save_input = 9392,
 	C_default_input = 9528,
-	C_restore_input = 9664,
-	L133 = 9760,
-	L134 = 9848,
-	C_qrestore_input = 9880,
-	L136 = 10008,
-	C_next_input = 10040,
-	L139 = 10136,
-	L140 = 10160,
-	C_parse = 10184,
-	L142 = 10224,
-	L143 = 10352,
-	C_word = 10496,
-	L145 = 10512,
-	L146 = 10608,
-	C_accept = 10648,
-	L300 = 10712,
-	C_accept_line = 10784,
-	L303 = 10992,
-	L301 = 11008,
-	L302 = 11064,
-	C_accept_key = 11112,
-	L148 = 11152,
-	L150 = 11312,
-	L149 = 11376,
-	C_query = 11424,
-	L152 = 11568,
-	L153 = 11600,
-	C_refill = 11624,
-	L155 = 11680,
-	C_findname = 11728,
-	L158 = 11768,
-	L160 = 11880,
-	L162 = 12008,
-	L161 = 12016,
-	L159 = 12032,
-	C_find = 12080,
-	L165 = 12272,
-	L166 = 12288,
-	L164 = 12312,
-	L167 = 12320,
-	C_single_quote = 12344,
-	L169 = 12480,
-	C_qstack = 12504,
-	L172 = 12608,
-	C_interpret = 12680,
-	L175 = 12688,
-	L177 = 12800,
-	L179 = 12912,
-	L178 = 12912,
-	L176 = 12928,
-	C_create = 12960,
-	C_variable = 13208,
-	C_constant = 13304,
-	C_immediate = 13432,
-	C_tocfa = 13544,
-	C_compile = 13624,
-	L189 = 13752,
-	L190 = 13768,
-	L188 = 13784,
-	L192 = 13912,
-	L194 = 13944,
-	L191 = 13944,
-	C_close_bracket = 13968,
-	L196 = 13992,
-	L197 = 14080,
-	L198 = 14104,
-	L199 = 14136,
-	CI_open_bracket = 14160,
-	C_smudge = 14208,
-	C_reveal = 14320,
-	C_colon = 14440,
-	CI_semicolon = 14568,
-	CI_recurse = 14648,
-	C_char = 14720,
-	C_literal = 14784,
-	C_sliteral = 14856,
-	C_string = 15024,
-	CI_char_brackets = 15136,
-	CI_quote_brackets = 15208,
-	CI_openparen = 15256,
-	CI_backslash = 15320,
-	L214 = 15400,
-	C_qabort_parens = 15464,
-	L217 = 15544,
-	L218 = 15552,
-	CI_abort_double_quote = 15576,
-	C_double_quote = 15640,
-	C_cdouble_quote = 15768,
-	CI_sdouble_quote = 15904,
-	CI_dotstr = 15944,
-	CI_if = 16008,
-	CI_else = 16096,
-	CI_then = 16224,
-	CI_begin = 16280,
-	CI_again = 16320,
-	CI_until = 16384,
-	CI_while = 16448,
-	CI_repeat = 16536,
-	CI_do = 16632,
-	CI_loop = 16712,
-	L234 = 16800,
-	CI_ploop = 16824,
-	L236 = 16912,
-	C_wo = 16936,
-	C_ro = 17032,
-	C_rw = 17080,
-	C_open_file = 17136,
-	C_close_file = 17400,
-	C_read_file = 17456,
-	C_write_file = 17552,
-	C_reposition_file = 17640,
-	C_qfcheck = 17720,
-	L246 = 17816,
-	C_create_file = 17848,
-	C_bye = 18120,
-	C_include = 18176,
-	C_crash = 18328,
-	C_quit = 18416,
-	L253 = 18440,
-	C_parenabort = 18496,
-	C_oldboot = 18664,
-	C_do_args = 19112,
-	C_boot = 19264,
-	L137 = 19576,
-	L170 = 19600,
-	L173 = 19604,
-	L180 = 19621,
-	L193 = 19625,
-	L247 = 19629,
-	L251 = 19639,
-	L255 = 19670,
-	L304 = 19674,
-	L305 = 19711,
+	C_restore_input = 9680,
+	L132 = 9904,
+	C_qrestore_input = 9952,
+	L136 = 10080,
+	C_next_input = 10112,
+	L139 = 10208,
+	L140 = 10232,
+	C_parse = 10256,
+	L142 = 10296,
+	L143 = 10424,
+	C_word = 10568,
+	L145 = 10584,
+	L146 = 10680,
+	C_accept = 10720,
+	L300 = 10784,
+	C_accept_line = 10856,
+	L303 = 11064,
+	L301 = 11080,
+	L302 = 11136,
+	C_accept_key = 11184,
+	L148 = 11224,
+	L150 = 11384,
+	L149 = 11448,
+	C_query = 11496,
+	L152 = 11640,
+	L153 = 11672,
+	C_refill = 11696,
+	L155 = 11752,
+	C_findname = 11800,
+	L158 = 11840,
+	L160 = 11952,
+	L162 = 12080,
+	L161 = 12088,
+	L159 = 12104,
+	C_find = 12152,
+	L165 = 12344,
+	L166 = 12360,
+	L164 = 12384,
+	L167 = 12392,
+	C_single_quote = 12416,
+	L169 = 12552,
+	C_qstack = 12576,
+	L172 = 12680,
+	C_interpret = 12752,
+	L175 = 12760,
+	L177 = 12872,
+	L179 = 12984,
+	L178 = 12984,
+	L176 = 13000,
+	C_create = 13032,
+	C_variable = 13280,
+	C_constant = 13376,
+	C_immediate = 13504,
+	C_tocfa = 13616,
+	C_compile = 13696,
+	L189 = 13824,
+	L190 = 13840,
+	L188 = 13856,
+	L192 = 13984,
+	L194 = 14016,
+	L191 = 14016,
+	C_close_bracket = 14040,
+	L196 = 14064,
+	L197 = 14152,
+	L198 = 14176,
+	L199 = 14208,
+	CI_open_bracket = 14232,
+	C_smudge = 14280,
+	C_reveal = 14392,
+	C_colon = 14512,
+	CI_semicolon = 14640,
+	CI_recurse = 14720,
+	C_char = 14792,
+	C_literal = 14856,
+	C_sliteral = 14928,
+	C_string = 15096,
+	CI_char_brackets = 15208,
+	CI_quote_brackets = 15280,
+	CI_openparen = 15328,
+	CI_backslash = 15392,
+	L214 = 15472,
+	C_qabort_parens = 15536,
+	L217 = 15616,
+	L218 = 15624,
+	CI_abort_double_quote = 15648,
+	C_double_quote = 15712,
+	C_cdouble_quote = 15840,
+	CI_sdouble_quote = 15976,
+	CI_dotstr = 16016,
+	CI_if = 16080,
+	CI_else = 16168,
+	CI_then = 16296,
+	CI_begin = 16352,
+	CI_again = 16392,
+	CI_until = 16456,
+	CI_while = 16520,
+	CI_repeat = 16608,
+	CI_do = 16704,
+	CI_loop = 16784,
+	L234 = 16872,
+	CI_ploop = 16896,
+	L236 = 16984,
+	C_wo = 17008,
+	C_ro = 17104,
+	C_rw = 17152,
+	C_open_file = 17208,
+	C_close_file = 17472,
+	C_read_file = 17528,
+	C_write_file = 17624,
+	C_reposition_file = 17712,
+	C_qfcheck = 17792,
+	L246 = 17888,
+	C_create_file = 17920,
+	C_bye = 18192,
+	C_include = 18248,
+	C_crash = 18400,
+	C_quit = 18488,
+	L253 = 18512,
+	C_parenabort = 18568,
+	C_oldboot = 18704,
+	C_do_args = 19152,
+	C_boot = 19304,
+	L260 = 19552,
+	L137 = 19568,
+	L170 = 19592,
+	L173 = 19596,
+	L180 = 19613,
+	L193 = 19617,
+	L247 = 19621,
+	L251 = 19631,
+	L255 = 19662,
+	L304 = 19666,
+	L305 = 19703,
 };
 extern void *sliteral(void);
 extern void *cjump(void);
@@ -385,6 +385,7 @@
 extern void *Dtop(void);
 extern void *doinit(void);
 extern void *multiply(void);
+extern void *Fthargs(void);
 extern void *colon(void);
 extern void *less(void);
 extern void *Dp(void);
@@ -397,7 +398,6 @@
 extern void *fthdump(void);
 extern void *rshift(void);
 extern void *cstore(void);
-extern void *Args(void);
 extern void *Tib(void);
 extern void *store(void);
 extern void *Vp(void);
@@ -534,7 +534,7 @@
 	{.type Header, {.hdr { 2, "s@", /* M_stackptr = 2224 */ stackptr }}}, /* MENTRY "s@" stackptr 2	; puts PSP on stack. Not a variable hence lower case. h 2232 */
 	{.type Header, {.hdr { 5, "Wordb", /* M_Wordb = 2248 */ Wordb }}}, /* MENTRY "Wordb" Wordb 5 h 2256 */
 	{.type Header, {.hdr { 3, "Tib", /* M_Tib = 2272 */ Tib }}}, /* MENTRY "Tib" Tib 3 h 2280 */
-	{.type Header, {.hdr { 4, "Args", /* M_Args = 2296 */ Args }}}, /* MENTRY "Args" Args 4 h 2304 */
+	{.type Header, {.hdr { 7, "Fthargs", /* M_Fthargs = 2296 */ Fthargs }}}, /* MENTRY "Fthargs" Fthargs 7 h 2304 */
 	{.type Header, {.hdr { 5, "false", /* C_false = 2320 */ colon }}}, /* CENTRY "false" false 5 h 2328 */
 	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 2336 */
 	{.type Absolute, {.p 0}},		/* dd 0 2344 */
@@ -1292,1100 +1292,1099 @@
 	{.type FromH0, {.p M_Tib}, .src = "dd M_Tib"},		/* dd M_Tib 9600 */
 	{.type FromH0, {.p MV_Sourcebuf}, .src = "dd MV_Sourcebuf"},		/* dd MV_Sourcebuf 9608 */
 	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 9616 */
-	{.type FromH0, {.p MV_Acceptvec}, .src = "dd MV_Acceptvec"},		/* dd MV_Acceptvec 9624 */
-	{.type FromH0, {.p C_off}, .src = "dd C_off"},		/* dd C_off 9632 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 9640 */
-	{.type Header, {.hdr { 13, "restore-input", /* C_restore_input = 9664 */ colon }}}, /* CENTRY "restore-input" restore_input 13 ; ( <input>|empty -- f ) ; restore input stream from the stack or set the default-input as the input stream h 9672 */
-	{.type FromH0, {.p MV_Eof}, .src = "dd MV_Eof"},		/* dd MV_Eof 9680 */
-	{.type FromH0, {.p C_off}, .src = "dd C_off			; reset Eof back to 0"},		/* dd C_off			; reset Eof back to 0 9688 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 9696 */
-	{.type Absolute, {.p 5}},		/* dd 5				; input stream is on the stack 9704 */
-	{.type FromH0, {.p C_neq}, .src = "dd C_neq"},		/* dd C_neq 9712 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 9720 */
-	{.type FromH0, {.p L133}, .src = "dd L133				; there is an input stream on the stack"},		/* dd L133				; there is an input stream on the stack 9728 */
-	{.type FromH0, {.p C_default_input}, .src = "dd C_default_input	; no input stream on the stack, using default input"},		/* dd C_default_input	; no input stream on the stack, using default input 9736 */
-	{.type FromH0, {.p C_false}, .src = "dd C_false"},		/* dd C_false 9744 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump			; ( false )"},		/* dd M_jump			; ( false ) 9752 */
-	{.type FromH0, {.p L134}, .src = "dd L134"},		/* dd L134 9760 */
-	{.type FromH0, {.p MV_Acceptvec}, .src = "dd MV_Acceptvec"},		/* dd MV_Acceptvec 9768 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 9776 */
-	{.type FromH0, {.p MV_Sourcebuf}, .src = "dd MV_Sourcebuf"},		/* dd MV_Sourcebuf 9784 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 9792 */
-	{.type FromH0, {.p MV_toLimit}, .src = "dd MV_toLimit"},		/* dd MV_toLimit 9800 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 9808 */
-	{.type FromH0, {.p MV_toIn}, .src = "dd MV_toIn"},		/* dd MV_toIn 9816 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 9624 */
+	{.type FromH0, {.p C_accept_line}, .src = "dd C_accept_line	; could use C_accept_key too"},		/* dd C_accept_line	; could use C_accept_key too 9632 */
+	{.type FromH0, {.p MV_Acceptvec}, .src = "dd MV_Acceptvec"},		/* dd MV_Acceptvec 9640 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 9648 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 9656 */
+	{.type Header, {.hdr { 13, "restore-input", /* C_restore_input = 9680 */ colon }}}, /* CENTRY "restore-input" restore_input 13 ; ( <input>|empty -- f ) ; restore input stream from the stack or set the default-input as the input stream h 9688 */
+	{.type FromH0, {.p MV_Eof}, .src = "dd MV_Eof"},		/* dd MV_Eof 9696 */
+	{.type FromH0, {.p C_off}, .src = "dd C_off		; reset Eof back to 0"},		/* dd C_off		; reset Eof back to 0 9704 */
+	{.type FromH0, {.p C_depth}, .src = "dd C_depth"},		/* dd C_depth 9712 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 9720 */
+	{.type Absolute, {.p 6}},		/* dd 6			; is the input stream on the stack, depth == 6? 9728 */
+	{.type FromH0, {.p M_equal}, .src = "dd M_equal"},		/* dd M_equal 9736 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 9744 */
+	{.type FromH0, {.p L132}, .src = "dd L132			; depth <> 6, there is no input stream on the stack, get out"},		/* dd L132			; depth <> 6, there is no input stream on the stack, get out 9752 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup		; depth == 6, now check if there is a 5 on the top of stack"},		/* dd M_dup		; depth == 6, now check if there is a 5 on the top of stack 9760 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 9768 */
+	{.type Absolute, {.p 5}},		/* dd 5			; is 5 on the top of stack? 9776 */
+	{.type FromH0, {.p M_equal}, .src = "dd M_equal"},		/* dd M_equal 9784 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 9792 */
+	{.type FromH0, {.p L132}, .src = "dd L132			; top of stack <> 5, there is no input stream on the stack, get out"},		/* dd L132			; top of stack <> 5, there is no input stream on the stack, get out 9800 */
+/* ; ( infd >in >limit sourcebuf 'accept 5 ) */	{.type FromH0, {.p M_drop}, .src = "dd M_drop		; ( infd >in >limit sourcebuf 'accept )"},		/* dd M_drop		; ( infd >in >limit sourcebuf 'accept ) 9808 */
+	{.type FromH0, {.p MV_Acceptvec}, .src = "dd MV_Acceptvec"},		/* dd MV_Acceptvec 9816 */
 	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 9824 */
-	{.type FromH0, {.p MV_Infd}, .src = "dd MV_Infd"},		/* dd MV_Infd 9832 */
+	{.type FromH0, {.p MV_Sourcebuf}, .src = "dd MV_Sourcebuf"},		/* dd MV_Sourcebuf 9832 */
 	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 9840 */
-	{.type FromH0, {.p C_true}, .src = "dd C_true			; ( true )"},		/* dd C_true			; ( true ) 9848 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 9856 */
-	{.type Header, {.hdr { 14, "?restore-input", /* C_qrestore_input = 9880 */ colon }}}, /* CENTRY "?restore-input" qrestore_input 14 ; ( <input> -- f ) ; use the input stream on the stack or abort h 9888 */
-	{.type FromH0, {.p C_restore_input}, .src = "dd C_restore_input"},		/* dd C_restore_input 9896 */
-	{.type FromH0, {.p C_0eq}, .src = "dd C_0eq"},		/* dd C_0eq 9904 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 9912 */
-	{.type FromH0, {.p L136}, .src = "dd L136"},		/* dd L136 9920 */
-	{.type FromH0, {.p C_space}, .src = "dd C_space"},		/* dd C_space 9928 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 9936 */
-	{.type FromH0, {.p L137}, .src = "dd L137"},		/* dd L137 9944 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 9952 */
-	{.type Absolute, {.p 23}},		/* dd 23 9960 */
-	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 9968 */
-	{.type FromH0, {.p C_space}, .src = "dd C_space"},		/* dd C_space 9976 */
-	{.type FromH0, {.p C_depth}, .src = "dd C_depth"},		/* dd C_depth 9984 */
-	{.type FromH0, {.p C_dot}, .src = "dd C_dot"},		/* dd C_dot 9992 */
-	{.type FromH0, {.p C_cr}, .src = "dd C_cr"},		/* dd C_cr 10000 */
-	{.type FromH0, {.p C_abort}, .src = "dd C_abort"},		/* dd C_abort 10008 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 10016 */
-/* ; next-input-char */	{.type Header, {.hdr { 10, "next-input", /* C_next_input = 10040 */ colon }}}, /* CENTRY "next-input" next_input 10 ; when >In < >Limit ( -- true c ). ( -- 0 false ) otherwise h 10048 */
-	{.type FromH0, {.p MV_toIn}, .src = "dd MV_toIn"},		/* dd MV_toIn 10056 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 10064 */
-	{.type FromH0, {.p MV_toLimit}, .src = "dd MV_toLimit"},		/* dd MV_toLimit 10072 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 10080 */
-	{.type FromH0, {.p M_less}, .src = "dd M_less"},		/* dd M_less 10088 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 10096 */
-	{.type FromH0, {.p L139}, .src = "dd L139	; >In >= >Limit"},		/* dd L139	; >In >= >Limit 10104 */
-	{.type FromH0, {.p C_true}, .src = "dd C_true	; >In < >Limit"},		/* dd C_true	; >In < >Limit 10112 */
-	{.type FromH0, {.p C_current_input}, .src = "dd C_current_input	; ( -- c )"},		/* dd C_current_input	; ( -- c ) 10120 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 10128 */
-	{.type FromH0, {.p L140}, .src = "dd L140"},		/* dd L140 10136 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 10144 */
-	{.type Absolute, {.p 0}},		/* dd 0 10152 */
-	{.type FromH0, {.p C_false}, .src = "dd C_false"},		/* dd C_false 10160 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 10168 */
-/* ; replace current-input and next-input with an asm function that does cmove until it meets a certain character or limit? */	{.type Header, {.hdr { 5, "parse", /* C_parse = 10184 */ colon }}}, /* CENTRY "parse" parse 5 ; ( c -- a ) Place the counted string in Wordbuf and return that address. c = word delimiter. h 10192 */
-	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush		; ( c -- ) (R -- c )"},		/* dd M_rpush		; ( c -- ) (R -- c ) 10200 */
-	{.type FromH0, {.p MV_Wordbuf}, .src = "dd MV_Wordbuf"},		/* dd MV_Wordbuf 10208 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch		; ( -- Wordb )"},		/* dd M_fetch		; ( -- Wordb ) 10216 */
-	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus		; ( Wordb -- Wordb+1 )"},		/* dd C_1plus		; ( Wordb -- Wordb+1 ) 10224 */
-	{.type FromH0, {.p C_next_input}, .src = "dd C_next_input ; ( Wordb+1 -- Wordb+1 f c )"},		/* dd C_next_input ; ( Wordb+1 -- Wordb+1 f c ) 10232 */
-	{.type FromH0, {.p M_rfetch}, .src = "dd M_rfetch 	; ( Wordb+1 f c -- Wordb+1 f  cinitial ) (R c -- c )"},		/* dd M_rfetch 	; ( Wordb+1 f c -- Wordb+1 f  cinitial ) (R c -- c ) 10240 */
-	{.type FromH0, {.p C_neq}, .src = "dd C_neq 		; ( Wordb+1 f c cinitial -- Wordb+1 f f(c!=cinitial) )"},		/* dd C_neq 		; ( Wordb+1 f c cinitial -- Wordb+1 f f(c!=cinitial) ) 10248 */
-	{.type FromH0, {.p M_binand}, .src = "dd M_binand		; ( Wordb+1 f&(c!=cinitial) )"},		/* dd M_binand		; ( Wordb+1 f&(c!=cinitial) ) 10256 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 10264 */
-	{.type FromH0, {.p L143}, .src = "dd L143		; ( Wordb+1 ) >In >= >Limit || cinitial == cnew"},		/* dd L143		; ( Wordb+1 ) >In >= >Limit || cinitial == cnew 10272 */
-	{.type FromH0, {.p C_current_input}, .src = "dd C_current_input	; ( Wordb+1 -- Wordb+1 c )"},		/* dd C_current_input	; ( Wordb+1 -- Wordb+1 c ) 10280 */
-	{.type FromH0, {.p M_over}, .src = "dd M_over"},		/* dd M_over 10288 */
-	{.type FromH0, {.p M_cstore}, .src = "dd M_cstore	; ( Wordb+1 c Wordb+1 -- Wordb+1 ) store c at Wordb+1"},		/* dd M_cstore	; ( Wordb+1 c Wordb+1 -- Wordb+1 ) store c at Wordb+1 10296 */
-	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus		; ( Wordb+1 -- Wordb+2 )"},		/* dd C_1plus		; ( Wordb+1 -- Wordb+2 ) 10304 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 10312 */
-	{.type Absolute, {.p 1}},		/* dd 1 10320 */
-	{.type FromH0, {.p MV_toIn}, .src = "dd MV_toIn"},		/* dd MV_toIn 10328 */
-	{.type FromH0, {.p C_plusstore}, .src = "dd C_plusstore	; >In++"},		/* dd C_plusstore	; >In++ 10336 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 10344 */
-	{.type FromH0, {.p L142}, .src = "dd L142		; ( Wordb+2 ) repeat"},		/* dd L142		; ( Wordb+2 ) repeat 10352 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 10360 */
-	{.type Absolute, {.p 1}},		/* dd 1 10368 */
-	{.type FromH0, {.p MV_toIn}, .src = "dd MV_toIn"},		/* dd MV_toIn 10376 */
-	{.type FromH0, {.p C_plusstore}, .src = "dd C_plusstore	; >In++"},		/* dd C_plusstore	; >In++ 10384 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop		; (Wordb+1 -- Wordb+1 c) (R c -- )"},		/* dd M_rpop		; (Wordb+1 -- Wordb+1 c) (R c -- ) 10392 */
-	{.type FromH0, {.p M_drop}, .src = "dd M_drop		; (Wordb+1 c -- Wordb+1)"},		/* dd M_drop		; (Wordb+1 c -- Wordb+1) 10400 */
-	{.type FromH0, {.p MV_Wordbuf}, .src = "dd MV_Wordbuf"},		/* dd MV_Wordbuf 10408 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch		; (Wordb+1 -- Wordb+1 Wordb)"},		/* dd M_fetch		; (Wordb+1 -- Wordb+1 Wordb) 10416 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup		; (Wordb+1 Wordb -- Wordb+1 Wordb Wordb)"},		/* dd M_dup		; (Wordb+1 Wordb -- Wordb+1 Wordb Wordb) 10424 */
-	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush		; (Wordb+1 Wordb Wordb -- Wordb+1 Wordb) (R -- Wordb)"},		/* dd M_rpush		; (Wordb+1 Wordb Wordb -- Wordb+1 Wordb) (R -- Wordb) 10432 */
-	{.type FromH0, {.p M_minus}, .src = "dd M_minus		; (Wordb+1 Wordb -- Wordb+1-Wordb) (R -- Wordb)"},		/* dd M_minus		; (Wordb+1 Wordb -- Wordb+1-Wordb) (R -- Wordb) 10440 */
-	{.type FromH0, {.p C_1minus}, .src = "dd C_1minus	; (Wordb+1-Wordb -- Wordb+1-Wordb-1) (R -- Wordb)"},		/* dd C_1minus	; (Wordb+1-Wordb -- Wordb+1-Wordb-1) (R -- Wordb) 10448 */
-	{.type FromH0, {.p M_rfetch}, .src = "dd M_rfetch	; (Wordb+1-Wordb-1 Wordb -- Wordb+1-Wordb-1 Wordb) (R -- Wordb)"},		/* dd M_rfetch	; (Wordb+1-Wordb-1 Wordb -- Wordb+1-Wordb-1 Wordb) (R -- Wordb) 10456 */
-	{.type FromH0, {.p M_cstore}, .src = "dd M_cstore	; store the length of the string found at Wordb[0]. Counted string at Wordb now."},		/* dd M_cstore	; store the length of the string found at Wordb[0]. Counted string at Wordb now. 10464 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop		; ( -- Wordb) (R Wordb -- )"},		/* dd M_rpop		; ( -- Wordb) (R Wordb -- ) 10472 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 10480 */
-	{.type Header, {.hdr { 4, "word", /* C_word = 10496 */ colon }}}, /* CENTRY "word" word 4 ; ( c -- a ) skip the c"s. Placed the counted string in a (as in Wordbuf) h 10504 */
-	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( -- ) (R -- c )"},		/* dd M_rpush	; ( -- ) (R -- c ) 10512 */
-	{.type FromH0, {.p C_next_input}, .src = "dd C_next_input ; ( -- f c2 ) (R c1 -- )"},		/* dd C_next_input ; ( -- f c2 ) (R c1 -- ) 10520 */
-	{.type FromH0, {.p M_rfetch}, .src = "dd M_rfetch	; ( f cnew -- f cnew cinitial ) (R cinitial -- cinitial )"},		/* dd M_rfetch	; ( f cnew -- f cnew cinitial ) (R cinitial -- cinitial ) 10528 */
-	{.type FromH0, {.p M_equal}, .src = "dd M_equal		; ( f cnew cinitial -- f f(cnew==cinitial) ) (R cinitial -- cinitial )"},		/* dd M_equal		; ( f cnew cinitial -- f f(cnew==cinitial) ) (R cinitial -- cinitial ) 10536 */
-	{.type FromH0, {.p M_binand}, .src = "dd M_binand	; ( f f2 -- f&&f2 ) (R cinitial -- cinitial )"},		/* dd M_binand	; ( f f2 -- f&&f2 ) (R cinitial -- cinitial ) 10544 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 10552 */
-	{.type FromH0, {.p L146}, .src = "dd L146		; >In >= >Limit || cinitial != cnew"},		/* dd L146		; >In >= >Limit || cinitial != cnew 10560 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal	; >In < >Limit && cinitial == cnew"},		/* dd M_literal	; >In < >Limit && cinitial == cnew 10568 */
-	{.type Absolute, {.p 1}},		/* dd 1 10576 */
-	{.type FromH0, {.p MV_toIn}, .src = "dd MV_toIn"},		/* dd MV_toIn 10584 */
-	{.type FromH0, {.p C_plusstore}, .src = "dd C_plusstore	; >In++"},		/* dd C_plusstore	; >In++ 10592 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump		; repeat"},		/* dd M_jump		; repeat 10600 */
-	{.type FromH0, {.p L145}, .src = "dd L145"},		/* dd L145 10608 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop		; ( cinitial ) Sourcebuf+>In = location of first non-matching character"},		/* dd M_rpop		; ( cinitial ) Sourcebuf+>In = location of first non-matching character 10616 */
-	{.type FromH0, {.p C_parse}, .src = "dd C_parse"},		/* dd C_parse 10624 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 10632 */
-/* ; accept is the Brdline of bio *//* ; if Acceptvec == 0, set Eof on and get out *//* ;	else execute it */	{.type Header, {.hdr { 6, "accept", /* C_accept = 10648 */ colon }}}, /* CENTRY "accept" accept 6 ; ( a n -- n ) get line or n chars or EOF from input and store at a h 10656 */
-	{.type FromH0, {.p MV_Acceptvec}, .src = "dd MV_Acceptvec"},		/* dd MV_Acceptvec 10664 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 10672 */
-	{.type FromH0, {.p C_qdup}, .src = "dd C_qdup"},		/* dd C_qdup 10680 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 10688 */
-	{.type FromH0, {.p L300}, .src = "dd L300	; Acceptvec == 0, set Eof on and get out"},		/* dd L300	; Acceptvec == 0, set Eof on and get out 10696 */
-	{.type FromH0, {.p M_execute}, .src = "dd M_execute"},		/* dd M_execute 10704 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 10712 */
-	{.type FromH0, {.p C_2drop}, .src = "dd C_2drop	; ( )"},		/* dd C_2drop	; ( ) 10720 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 10728 */
-	{.type Absolute, {.p 0}},		/* dd 0		; ( 0 ) 10736 */
-	{.type FromH0, {.p MV_Eof}, .src = "dd MV_Eof"},		/* dd MV_Eof 10744 */
-	{.type FromH0, {.p C_on}, .src = "dd C_on"},		/* dd C_on 10752 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 10760 */
-	{.type Header, {.hdr { 11, "accept-line", /* C_accept_line = 10784 */ colon }}}, /* CENTRY "accept-line" accept_line 11 ; ( a n -- n1 ) get line or n chars or EOF from input and store at a using key h 10792 */
-	{.type FromH0, {.p MV_Infd}, .src = "dd MV_Infd"},		/* dd MV_Infd 10800 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch		; ( a n infd )"},		/* dd M_fetch		; ( a n infd ) 10808 */
-	{.type FromH0, {.p C_read_file}, .src = "dd C_read_file	; ( n ioresult )"},		/* dd C_read_file	; ( n ioresult ) 10816 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 10824 */
-	{.type FromH0, {.p L301}, .src = "dd L301			; ioresult == false as n = -1"},		/* dd L301			; ioresult == false as n = -1 10832 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup		; ( n n )"},		/* dd M_dup		; ( n n ) 10840 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 10848 */
-	{.type FromH0, {.p L302}, .src = "dd L302			; ( 0 )"},		/* dd L302			; ( 0 ) 10856 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup		; n > 0. if n == 4096, error out. ( n n )"},		/* dd M_dup		; n > 0. if n == 4096, error out. ( n n ) 10864 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 10872 */
-	{.type Absolute, {.p 4096}},		/* dd 4096			; ( n n 4096 ) 10880 */
-	{.type FromH0, {.p M_equal}, .src = "dd M_equal		; ( n n==4096 )"},		/* dd M_equal		; ( n n==4096 ) 10888 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump		; ( n )"},		/* dd M_cjump		; ( n ) 10896 */
-	{.type FromH0, {.p L303}, .src = "dd L303			; n < 4096 ( n )"},		/* dd L303			; n < 4096 ( n ) 10904 */
-	{.type FromH0, {.p MV_Sourcebuf}, .src = "dd MV_Sourcebuf	; n == 4096 ( n )"},		/* dd MV_Sourcebuf	; n == 4096 ( n ) 10912 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch		; ( n tib )"},		/* dd M_fetch		; ( n tib ) 10920 */
-	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap		; ( tib n )"},		/* dd M_xswap		; ( tib n ) 10928 */
-	{.type FromH0, {.p C_type}, .src = "dd C_type		; show the long line and an error message"},		/* dd C_type		; show the long line and an error message 10936 */
+	{.type FromH0, {.p MV_toLimit}, .src = "dd MV_toLimit"},		/* dd MV_toLimit 9848 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 9856 */
+	{.type FromH0, {.p MV_toIn}, .src = "dd MV_toIn"},		/* dd MV_toIn 9864 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 9872 */
+	{.type FromH0, {.p MV_Infd}, .src = "dd MV_Infd"},		/* dd MV_Infd 9880 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 9888 */
+	{.type FromH0, {.p C_true}, .src = "dd C_true			; ( true )"},		/* dd C_true			; ( true ) 9896 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 9904 */
+	{.type FromH0, {.p C_default_input}, .src = "dd C_default_input	; no input stream on the stack, use default input from now"},		/* dd C_default_input	; no input stream on the stack, use default input from now 9912 */
+	{.type FromH0, {.p C_false}, .src = "dd C_false			; ( 0 )"},		/* dd C_false			; ( 0 ) 9920 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 9928 */
+	{.type Header, {.hdr { 14, "?restore-input", /* C_qrestore_input = 9952 */ colon }}}, /* CENTRY "?restore-input" qrestore_input 14 ; ( <input> -- ) ; use the input stream on the stack or abort h 9960 */
+	{.type FromH0, {.p C_restore_input}, .src = "dd C_restore_input"},		/* dd C_restore_input 9968 */
+	{.type FromH0, {.p C_0eq}, .src = "dd C_0eq"},		/* dd C_0eq 9976 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 9984 */
+	{.type FromH0, {.p L136}, .src = "dd L136		; input stream restored"},		/* dd L136		; input stream restored 9992 */
+/* ; no input stream on the stack to restore, show error and abort */	{.type FromH0, {.p C_space}, .src = "dd C_space"},		/* dd C_space 10000 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 10008 */
+	{.type FromH0, {.p L137}, .src = "dd L137"},		/* dd L137 10016 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 10024 */
+	{.type Absolute, {.p 23}},		/* dd 23 10032 */
+	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 10040 */
+	{.type FromH0, {.p C_space}, .src = "dd C_space"},		/* dd C_space 10048 */
+	{.type FromH0, {.p C_depth}, .src = "dd C_depth"},		/* dd C_depth 10056 */
+	{.type FromH0, {.p C_dot}, .src = "dd C_dot"},		/* dd C_dot 10064 */
+	{.type FromH0, {.p C_cr}, .src = "dd C_cr"},		/* dd C_cr 10072 */
+	{.type FromH0, {.p C_abort}, .src = "dd C_abort"},		/* dd C_abort 10080 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 10088 */
+/* ; next-input-char */	{.type Header, {.hdr { 10, "next-input", /* C_next_input = 10112 */ colon }}}, /* CENTRY "next-input" next_input 10 ; when >In < >Limit ( -- true c ). ( -- 0 false ) otherwise h 10120 */
+	{.type FromH0, {.p MV_toIn}, .src = "dd MV_toIn"},		/* dd MV_toIn 10128 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 10136 */
+	{.type FromH0, {.p MV_toLimit}, .src = "dd MV_toLimit"},		/* dd MV_toLimit 10144 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 10152 */
+	{.type FromH0, {.p M_less}, .src = "dd M_less"},		/* dd M_less 10160 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 10168 */
+	{.type FromH0, {.p L139}, .src = "dd L139	; >In >= >Limit"},		/* dd L139	; >In >= >Limit 10176 */
+	{.type FromH0, {.p C_true}, .src = "dd C_true	; >In < >Limit"},		/* dd C_true	; >In < >Limit 10184 */
+	{.type FromH0, {.p C_current_input}, .src = "dd C_current_input	; ( -- c )"},		/* dd C_current_input	; ( -- c ) 10192 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 10200 */
+	{.type FromH0, {.p L140}, .src = "dd L140"},		/* dd L140 10208 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 10216 */
+	{.type Absolute, {.p 0}},		/* dd 0 10224 */
+	{.type FromH0, {.p C_false}, .src = "dd C_false"},		/* dd C_false 10232 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 10240 */
+/* ; replace current-input and next-input with an asm function that does cmove until it meets a certain character or limit? */	{.type Header, {.hdr { 5, "parse", /* C_parse = 10256 */ colon }}}, /* CENTRY "parse" parse 5 ; ( c -- a ) Place the counted string in Wordbuf and return that address. c = word delimiter. h 10264 */
+	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush		; ( c -- ) (R -- c )"},		/* dd M_rpush		; ( c -- ) (R -- c ) 10272 */
+	{.type FromH0, {.p MV_Wordbuf}, .src = "dd MV_Wordbuf"},		/* dd MV_Wordbuf 10280 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch		; ( -- Wordb )"},		/* dd M_fetch		; ( -- Wordb ) 10288 */
+	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus		; ( Wordb -- Wordb+1 )"},		/* dd C_1plus		; ( Wordb -- Wordb+1 ) 10296 */
+	{.type FromH0, {.p C_next_input}, .src = "dd C_next_input ; ( Wordb+1 -- Wordb+1 f c )"},		/* dd C_next_input ; ( Wordb+1 -- Wordb+1 f c ) 10304 */
+	{.type FromH0, {.p M_rfetch}, .src = "dd M_rfetch 	; ( Wordb+1 f c -- Wordb+1 f  cinitial ) (R c -- c )"},		/* dd M_rfetch 	; ( Wordb+1 f c -- Wordb+1 f  cinitial ) (R c -- c ) 10312 */
+	{.type FromH0, {.p C_neq}, .src = "dd C_neq 		; ( Wordb+1 f c cinitial -- Wordb+1 f f(c!=cinitial) )"},		/* dd C_neq 		; ( Wordb+1 f c cinitial -- Wordb+1 f f(c!=cinitial) ) 10320 */
+	{.type FromH0, {.p M_binand}, .src = "dd M_binand		; ( Wordb+1 f&(c!=cinitial) )"},		/* dd M_binand		; ( Wordb+1 f&(c!=cinitial) ) 10328 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 10336 */
+	{.type FromH0, {.p L143}, .src = "dd L143		; ( Wordb+1 ) >In >= >Limit || cinitial == cnew"},		/* dd L143		; ( Wordb+1 ) >In >= >Limit || cinitial == cnew 10344 */
+	{.type FromH0, {.p C_current_input}, .src = "dd C_current_input	; ( Wordb+1 -- Wordb+1 c )"},		/* dd C_current_input	; ( Wordb+1 -- Wordb+1 c ) 10352 */
+	{.type FromH0, {.p M_over}, .src = "dd M_over"},		/* dd M_over 10360 */
+	{.type FromH0, {.p M_cstore}, .src = "dd M_cstore	; ( Wordb+1 c Wordb+1 -- Wordb+1 ) store c at Wordb+1"},		/* dd M_cstore	; ( Wordb+1 c Wordb+1 -- Wordb+1 ) store c at Wordb+1 10368 */
+	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus		; ( Wordb+1 -- Wordb+2 )"},		/* dd C_1plus		; ( Wordb+1 -- Wordb+2 ) 10376 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 10384 */
+	{.type Absolute, {.p 1}},		/* dd 1 10392 */
+	{.type FromH0, {.p MV_toIn}, .src = "dd MV_toIn"},		/* dd MV_toIn 10400 */
+	{.type FromH0, {.p C_plusstore}, .src = "dd C_plusstore	; >In++"},		/* dd C_plusstore	; >In++ 10408 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 10416 */
+	{.type FromH0, {.p L142}, .src = "dd L142		; ( Wordb+2 ) repeat"},		/* dd L142		; ( Wordb+2 ) repeat 10424 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 10432 */
+	{.type Absolute, {.p 1}},		/* dd 1 10440 */
+	{.type FromH0, {.p MV_toIn}, .src = "dd MV_toIn"},		/* dd MV_toIn 10448 */
+	{.type FromH0, {.p C_plusstore}, .src = "dd C_plusstore	; >In++"},		/* dd C_plusstore	; >In++ 10456 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop		; (Wordb+1 -- Wordb+1 c) (R c -- )"},		/* dd M_rpop		; (Wordb+1 -- Wordb+1 c) (R c -- ) 10464 */
+	{.type FromH0, {.p M_drop}, .src = "dd M_drop		; (Wordb+1 c -- Wordb+1)"},		/* dd M_drop		; (Wordb+1 c -- Wordb+1) 10472 */
+	{.type FromH0, {.p MV_Wordbuf}, .src = "dd MV_Wordbuf"},		/* dd MV_Wordbuf 10480 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch		; (Wordb+1 -- Wordb+1 Wordb)"},		/* dd M_fetch		; (Wordb+1 -- Wordb+1 Wordb) 10488 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup		; (Wordb+1 Wordb -- Wordb+1 Wordb Wordb)"},		/* dd M_dup		; (Wordb+1 Wordb -- Wordb+1 Wordb Wordb) 10496 */
+	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush		; (Wordb+1 Wordb Wordb -- Wordb+1 Wordb) (R -- Wordb)"},		/* dd M_rpush		; (Wordb+1 Wordb Wordb -- Wordb+1 Wordb) (R -- Wordb) 10504 */
+	{.type FromH0, {.p M_minus}, .src = "dd M_minus		; (Wordb+1 Wordb -- Wordb+1-Wordb) (R -- Wordb)"},		/* dd M_minus		; (Wordb+1 Wordb -- Wordb+1-Wordb) (R -- Wordb) 10512 */
+	{.type FromH0, {.p C_1minus}, .src = "dd C_1minus	; (Wordb+1-Wordb -- Wordb+1-Wordb-1) (R -- Wordb)"},		/* dd C_1minus	; (Wordb+1-Wordb -- Wordb+1-Wordb-1) (R -- Wordb) 10520 */
+	{.type FromH0, {.p M_rfetch}, .src = "dd M_rfetch	; (Wordb+1-Wordb-1 Wordb -- Wordb+1-Wordb-1 Wordb) (R -- Wordb)"},		/* dd M_rfetch	; (Wordb+1-Wordb-1 Wordb -- Wordb+1-Wordb-1 Wordb) (R -- Wordb) 10528 */
+	{.type FromH0, {.p M_cstore}, .src = "dd M_cstore	; store the length of the string found at Wordb[0]. Counted string at Wordb now."},		/* dd M_cstore	; store the length of the string found at Wordb[0]. Counted string at Wordb now. 10536 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop		; ( -- Wordb) (R Wordb -- )"},		/* dd M_rpop		; ( -- Wordb) (R Wordb -- ) 10544 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 10552 */
+	{.type Header, {.hdr { 4, "word", /* C_word = 10568 */ colon }}}, /* CENTRY "word" word 4 ; ( c -- a ) skip the c"s. Placed the counted string in a (as in Wordbuf) h 10576 */
+	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( -- ) (R -- c )"},		/* dd M_rpush	; ( -- ) (R -- c ) 10584 */
+	{.type FromH0, {.p C_next_input}, .src = "dd C_next_input ; ( -- f c2 ) (R c1 -- )"},		/* dd C_next_input ; ( -- f c2 ) (R c1 -- ) 10592 */
+	{.type FromH0, {.p M_rfetch}, .src = "dd M_rfetch	; ( f cnew -- f cnew cinitial ) (R cinitial -- cinitial )"},		/* dd M_rfetch	; ( f cnew -- f cnew cinitial ) (R cinitial -- cinitial ) 10600 */
+	{.type FromH0, {.p M_equal}, .src = "dd M_equal		; ( f cnew cinitial -- f f(cnew==cinitial) ) (R cinitial -- cinitial )"},		/* dd M_equal		; ( f cnew cinitial -- f f(cnew==cinitial) ) (R cinitial -- cinitial ) 10608 */
+	{.type FromH0, {.p M_binand}, .src = "dd M_binand	; ( f f2 -- f&&f2 ) (R cinitial -- cinitial )"},		/* dd M_binand	; ( f f2 -- f&&f2 ) (R cinitial -- cinitial ) 10616 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 10624 */
+	{.type FromH0, {.p L146}, .src = "dd L146		; >In >= >Limit || cinitial != cnew"},		/* dd L146		; >In >= >Limit || cinitial != cnew 10632 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal	; >In < >Limit && cinitial == cnew"},		/* dd M_literal	; >In < >Limit && cinitial == cnew 10640 */
+	{.type Absolute, {.p 1}},		/* dd 1 10648 */
+	{.type FromH0, {.p MV_toIn}, .src = "dd MV_toIn"},		/* dd MV_toIn 10656 */
+	{.type FromH0, {.p C_plusstore}, .src = "dd C_plusstore	; >In++"},		/* dd C_plusstore	; >In++ 10664 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump		; repeat"},		/* dd M_jump		; repeat 10672 */
+	{.type FromH0, {.p L145}, .src = "dd L145"},		/* dd L145 10680 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop		; ( cinitial ) Sourcebuf+>In = location of first non-matching character"},		/* dd M_rpop		; ( cinitial ) Sourcebuf+>In = location of first non-matching character 10688 */
+	{.type FromH0, {.p C_parse}, .src = "dd C_parse"},		/* dd C_parse 10696 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 10704 */
+/* ; accept is the Brdline of bio *//* ; if Acceptvec == 0, set Eof on and get out *//* ;	else execute it */	{.type Header, {.hdr { 6, "accept", /* C_accept = 10720 */ colon }}}, /* CENTRY "accept" accept 6 ; ( a n -- n ) get line or n chars or EOF from input and store at a h 10728 */
+	{.type FromH0, {.p MV_Acceptvec}, .src = "dd MV_Acceptvec"},		/* dd MV_Acceptvec 10736 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 10744 */
+	{.type FromH0, {.p C_qdup}, .src = "dd C_qdup"},		/* dd C_qdup 10752 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 10760 */
+	{.type FromH0, {.p L300}, .src = "dd L300	; Acceptvec == 0, set Eof on and get out"},		/* dd L300	; Acceptvec == 0, set Eof on and get out 10768 */
+	{.type FromH0, {.p M_execute}, .src = "dd M_execute"},		/* dd M_execute 10776 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 10784 */
+	{.type FromH0, {.p C_2drop}, .src = "dd C_2drop	; ( )"},		/* dd C_2drop	; ( ) 10792 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 10800 */
+	{.type Absolute, {.p 0}},		/* dd 0		; ( 0 ) 10808 */
+	{.type FromH0, {.p MV_Eof}, .src = "dd MV_Eof"},		/* dd MV_Eof 10816 */
+	{.type FromH0, {.p C_on}, .src = "dd C_on"},		/* dd C_on 10824 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 10832 */
+	{.type Header, {.hdr { 11, "accept-line", /* C_accept_line = 10856 */ colon }}}, /* CENTRY "accept-line" accept_line 11 ; ( a n -- n1 ) get line or n chars or EOF from input and store at a using key h 10864 */
+	{.type FromH0, {.p MV_Infd}, .src = "dd MV_Infd"},		/* dd MV_Infd 10872 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch		; ( a n infd )"},		/* dd M_fetch		; ( a n infd ) 10880 */
+	{.type FromH0, {.p C_read_file}, .src = "dd C_read_file	; ( n ioresult )"},		/* dd C_read_file	; ( n ioresult ) 10888 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 10896 */
+	{.type FromH0, {.p L301}, .src = "dd L301			; ioresult == false as n = -1"},		/* dd L301			; ioresult == false as n = -1 10904 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup		; ( n n )"},		/* dd M_dup		; ( n n ) 10912 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 10920 */
+	{.type FromH0, {.p L302}, .src = "dd L302			; ( 0 )"},		/* dd L302			; ( 0 ) 10928 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup		; n > 0. if n == 4096, error out. ( n n )"},		/* dd M_dup		; n > 0. if n == 4096, error out. ( n n ) 10936 */
 	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 10944 */
-	{.type FromH0, {.p L304}, .src = "dd L304"},		/* dd L304 10952 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 10960 */
-	{.type Absolute, {.p 37}},		/* dd 37 10968 */
-	{.type FromH0, {.p C_type}, .src = "dd C_type		; show the error message"},		/* dd C_type		; show the error message 10976 */
-	{.type FromH0, {.p C_cr}, .src = "dd C_cr"},		/* dd C_cr 10984 */
-	{.type FromH0, {.p C_abort}, .src = "dd C_abort"},		/* dd C_abort 10992 */
-	{.type FromH0, {.p C_1minus}, .src = "dd C_1minus		; n-- to avoid parsing the newline character"},		/* dd C_1minus		; n-- to avoid parsing the newline character 11000 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon	; ( n ) n = number of bytes read"},		/* dd M_exitcolon	; ( n ) n = number of bytes read 11008 */
+	{.type Absolute, {.p 4096}},		/* dd 4096			; ( n n 4096 ) 10952 */
+	{.type FromH0, {.p M_equal}, .src = "dd M_equal		; ( n n==4096 )"},		/* dd M_equal		; ( n n==4096 ) 10960 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump		; ( n )"},		/* dd M_cjump		; ( n ) 10968 */
+	{.type FromH0, {.p L303}, .src = "dd L303			; n < 4096 ( n )"},		/* dd L303			; n < 4096 ( n ) 10976 */
+	{.type FromH0, {.p MV_Sourcebuf}, .src = "dd MV_Sourcebuf	; n == 4096 ( n )"},		/* dd MV_Sourcebuf	; n == 4096 ( n ) 10984 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch		; ( n tib )"},		/* dd M_fetch		; ( n tib ) 10992 */
+	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap		; ( tib n )"},		/* dd M_xswap		; ( tib n ) 11000 */
+	{.type FromH0, {.p C_type}, .src = "dd C_type		; show the long line and an error message"},		/* dd C_type		; show the long line and an error message 11008 */
 	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 11016 */
-	{.type FromH0, {.p L305}, .src = "dd L305"},		/* dd L305 11024 */
+	{.type FromH0, {.p L304}, .src = "dd L304"},		/* dd L304 11024 */
 	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 11032 */
-	{.type Absolute, {.p 12}},		/* dd 12 11040 */
+	{.type Absolute, {.p 37}},		/* dd 37 11040 */
 	{.type FromH0, {.p C_type}, .src = "dd C_type		; show the error message"},		/* dd C_type		; show the error message 11048 */
 	{.type FromH0, {.p C_cr}, .src = "dd C_cr"},		/* dd C_cr 11056 */
 	{.type FromH0, {.p C_abort}, .src = "dd C_abort"},		/* dd C_abort 11064 */
-	{.type FromH0, {.p MV_Eof}, .src = "dd MV_Eof	; n == 0, set Eof"},		/* dd MV_Eof	; n == 0, set Eof 11072 */
-	{.type FromH0, {.p C_on}, .src = "dd C_on		; EOF"},		/* dd C_on		; EOF 11080 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon	; ( 0 )"},		/* dd M_exitcolon	; ( 0 ) 11088 */
-/* ; loops through 1 character at a time until a newline unlike accept-line which gets the line in one call. */	{.type Header, {.hdr { 10, "accept-key", /* C_accept_key = 11112 */ colon }}}, /* CENTRY "accept-key" accept_key 10 ; ( a n -- n ) get line or n chars or EOF from input and store at a using key h 11120 */
-	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap	; ( n a -- )"},		/* dd M_xswap	; ( n a -- ) 11128 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( n a a -- )"},		/* dd M_dup	; ( n a a -- ) 11136 */
-	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush"},		/* dd M_rpush 11144 */
-	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( n -- ) (R a a -- )"},		/* dd M_rpush	; ( n -- ) (R a a -- ) 11152 */
-	{.type FromH0, {.p C_qdup}, .src = "dd C_qdup	; ( n n -- ) (R a a -- )"},		/* dd C_qdup	; ( n n -- ) (R a a -- ) 11160 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump	; (if)"},		/* dd M_cjump	; (if) 11168 */
-	{.type FromH0, {.p L149}, .src = "dd L149		; n == 0"},		/* dd L149		; n == 0 11176 */
-	{.type FromH0, {.p C_key}, .src = "dd C_key	; n > 0 ( n -- n c )"},		/* dd C_key	; n > 0 ( n -- n c ) 11184 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( -- n c c )"},		/* dd M_dup	; ( -- n c c ) 11192 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 11200 */
-	{.type Absolute, {.p 10}},		/* dd 10		; ( -- n c c 10 ) 11208 */
-	{.type FromH0, {.p M_equal}, .src = "dd M_equal	; ( n c c 10 -- n c f ) checking for newline"},		/* dd M_equal	; ( n c c 10 -- n c f ) checking for newline 11216 */
-	{.type FromH0, {.p M_over}, .src = "dd M_over	; ( -- n c f c )"},		/* dd M_over	; ( -- n c f c ) 11224 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 11232 */
-	{.type Absolute, {.p -1}},		/* dd -1		; ( -- n c f c -1 ) 11240 */
-	{.type FromH0, {.p M_equal}, .src = "dd M_equal	; ( -- n c f1 f2 )"},		/* dd M_equal	; ( -- n c f1 f2 ) 11248 */
-	{.type FromH0, {.p M_binor}, .src = "dd M_binor	; ( -- n c f )"},		/* dd M_binor	; ( -- n c f ) 11256 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 11264 */
-	{.type FromH0, {.p L150}, .src = "dd L150"},		/* dd L150 11272 */
-	{.type FromH0, {.p C_2drop}, .src = "dd C_2drop	; n == -1 || n == 10 (	-- )"},		/* dd C_2drop	; n == -1 || n == 10 (	-- ) 11280 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop"},		/* dd M_rpop 11288 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop"},		/* dd M_rpop 11296 */
-	{.type FromH0, {.p M_minus}, .src = "dd M_minus	; ( -- a2-a1 )"},		/* dd M_minus	; ( -- a2-a1 ) 11304 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon	; ( -- n ) (R -- )"},		/* dd M_exitcolon	; ( -- n ) (R -- ) 11312 */
-	{.type FromH0, {.p M_rfetch}, .src = "dd M_rfetch	; ( n c a -- ) (R a a -- )"},		/* dd M_rfetch	; ( n c a -- ) (R a a -- ) 11320 */
-	{.type FromH0, {.p M_cstore}, .src = "dd M_cstore	; store the character at a"},		/* dd M_cstore	; store the character at a 11328 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( n a -- ) (R a -- )"},		/* dd M_rpop	; ( n a -- ) (R a -- ) 11336 */
-	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus"},		/* dd C_1plus 11344 */
-	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( n -- ) (R a1 -- a1 a2 ) a1 = begin address a2 = current address"},		/* dd M_rpush	; ( n -- ) (R a1 -- a1 a2 ) a1 = begin address a2 = current address 11352 */
-	{.type FromH0, {.p C_1minus}, .src = "dd C_1minus	; ( n -- n-1 )"},		/* dd C_1minus	; ( n -- n-1 ) 11360 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 11368 */
-	{.type FromH0, {.p L148}, .src = "dd L148	; loop again for the next character"},		/* dd L148	; loop again for the next character 11376 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( -- a2 ) (R a1 a2 -- a1 )"},		/* dd M_rpop	; ( -- a2 ) (R a1 a2 -- a1 ) 11384 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( a2 a1 -- ) (R a1 -- )"},		/* dd M_rpop	; ( a2 a1 -- ) (R a1 -- ) 11392 */
-	{.type FromH0, {.p M_minus}, .src = "dd M_minus	; ( a2 a1 -- a2-a1 )"},		/* dd M_minus	; ( a2 a1 -- a2-a1 ) 11400 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 11408 */
-	{.type Header, {.hdr { 5, "query", /* C_query = 11424 */ colon }}}, /* CENTRY "query" query 5 ; read from input stream into the Text Input Buffer h 11432 */
-	{.type FromH0, {.p MV_Eof}, .src = "dd MV_Eof"},		/* dd MV_Eof 11440 */
-	{.type FromH0, {.p C_off}, .src = "dd C_off	; clear EOF flag"},		/* dd C_off	; clear EOF flag 11448 */
-	{.type FromH0, {.p M_Tib}, .src = "dd M_Tib	; constant puts address of tibuffer on the top"},		/* dd M_Tib	; constant puts address of tibuffer on the top 11456 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 11464 */
-	{.type Absolute, {.p 4096}},		/* dd 4096	; ( tibuffer -- tibuffer 4096 ) 11472 */
-	{.type FromH0, {.p C_accept}, .src = "dd C_accept ; ( tibuffer 4096 -- n )"},		/* dd C_accept ; ( tibuffer 4096 -- n ) 11480 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( n -- n n )"},		/* dd M_dup	; ( n -- n n ) 11488 */
-	{.type FromH0, {.p C_0eq}, .src = "dd C_0eq	; ( n n -- n f )"},		/* dd C_0eq	; ( n n -- n f ) 11496 */
-	{.type FromH0, {.p MV_Eof}, .src = "dd MV_Eof"},		/* dd MV_Eof 11504 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 11512 */
-	{.type FromH0, {.p M_binand}, .src = "dd M_binand	; n == 0 && EOF"},		/* dd M_binand	; n == 0 && EOF 11520 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 11528 */
-	{.type FromH0, {.p L152}, .src = "dd L152		; false condition"},		/* dd L152		; false condition 11536 */
-	{.type FromH0, {.p M_drop}, .src = "dd M_drop	; n == 0 && EOF ( n -- )"},		/* dd M_drop	; n == 0 && EOF ( n -- ) 11544 */
-	{.type FromH0, {.p C_qrestore_input}, .src = "dd C_qrestore_input"},		/* dd C_qrestore_input 11552 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 11560 */
-	{.type FromH0, {.p L153}, .src = "dd L153"},		/* dd L153 11568 */
-	{.type FromH0, {.p MV_toLimit}, .src = "dd MV_toLimit"},		/* dd MV_toLimit 11576 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store		; number of characters to read >Limit = n"},		/* dd M_store		; number of characters to read >Limit = n 11584 */
-	{.type FromH0, {.p MV_toIn}, .src = "dd MV_toIn"},		/* dd MV_toIn 11592 */
-	{.type FromH0, {.p C_off}, .src = "dd C_off		; start from 0 >In = 0"},		/* dd C_off		; start from 0 >In = 0 11600 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 11608 */
-	{.type Header, {.hdr { 6, "refill", /* C_refill = 11624 */ colon }}}, /* CENTRY "refill" refill 6 ; no more refills when there is no 'Acceptvec h 11632 */
-	{.type FromH0, {.p MV_Acceptvec}, .src = "dd MV_Acceptvec"},		/* dd MV_Acceptvec 11640 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 11648 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 11656 */
-	{.type FromH0, {.p L155}, .src = "dd L155"},		/* dd L155 11664 */
-	{.type FromH0, {.p C_false}, .src = "dd C_false"},		/* dd C_false 11672 */
+	{.type FromH0, {.p C_1minus}, .src = "dd C_1minus		; n-- to avoid parsing the newline character"},		/* dd C_1minus		; n-- to avoid parsing the newline character 11072 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon	; ( n ) n = number of bytes read"},		/* dd M_exitcolon	; ( n ) n = number of bytes read 11080 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 11088 */
+	{.type FromH0, {.p L305}, .src = "dd L305"},		/* dd L305 11096 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 11104 */
+	{.type Absolute, {.p 12}},		/* dd 12 11112 */
+	{.type FromH0, {.p C_type}, .src = "dd C_type		; show the error message"},		/* dd C_type		; show the error message 11120 */
+	{.type FromH0, {.p C_cr}, .src = "dd C_cr"},		/* dd C_cr 11128 */
+	{.type FromH0, {.p C_abort}, .src = "dd C_abort"},		/* dd C_abort 11136 */
+	{.type FromH0, {.p MV_Eof}, .src = "dd MV_Eof	; n == 0, set Eof"},		/* dd MV_Eof	; n == 0, set Eof 11144 */
+	{.type FromH0, {.p C_on}, .src = "dd C_on		; EOF"},		/* dd C_on		; EOF 11152 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon	; ( 0 )"},		/* dd M_exitcolon	; ( 0 ) 11160 */
+/* ; loops through 1 character at a time until a newline unlike accept-line which gets the line in one call. */	{.type Header, {.hdr { 10, "accept-key", /* C_accept_key = 11184 */ colon }}}, /* CENTRY "accept-key" accept_key 10 ; ( a n -- n ) get line or n chars or EOF from input and store at a using key h 11192 */
+	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap	; ( n a -- )"},		/* dd M_xswap	; ( n a -- ) 11200 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( n a a -- )"},		/* dd M_dup	; ( n a a -- ) 11208 */
+	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush"},		/* dd M_rpush 11216 */
+	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( n -- ) (R a a -- )"},		/* dd M_rpush	; ( n -- ) (R a a -- ) 11224 */
+	{.type FromH0, {.p C_qdup}, .src = "dd C_qdup	; ( n n -- ) (R a a -- )"},		/* dd C_qdup	; ( n n -- ) (R a a -- ) 11232 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump	; (if)"},		/* dd M_cjump	; (if) 11240 */
+	{.type FromH0, {.p L149}, .src = "dd L149		; n == 0"},		/* dd L149		; n == 0 11248 */
+	{.type FromH0, {.p C_key}, .src = "dd C_key	; n > 0 ( n -- n c )"},		/* dd C_key	; n > 0 ( n -- n c ) 11256 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( -- n c c )"},		/* dd M_dup	; ( -- n c c ) 11264 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 11272 */
+	{.type Absolute, {.p 10}},		/* dd 10		; ( -- n c c 10 ) 11280 */
+	{.type FromH0, {.p M_equal}, .src = "dd M_equal	; ( n c c 10 -- n c f ) checking for newline"},		/* dd M_equal	; ( n c c 10 -- n c f ) checking for newline 11288 */
+	{.type FromH0, {.p M_over}, .src = "dd M_over	; ( -- n c f c )"},		/* dd M_over	; ( -- n c f c ) 11296 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 11304 */
+	{.type Absolute, {.p -1}},		/* dd -1		; ( -- n c f c -1 ) 11312 */
+	{.type FromH0, {.p M_equal}, .src = "dd M_equal	; ( -- n c f1 f2 )"},		/* dd M_equal	; ( -- n c f1 f2 ) 11320 */
+	{.type FromH0, {.p M_binor}, .src = "dd M_binor	; ( -- n c f )"},		/* dd M_binor	; ( -- n c f ) 11328 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 11336 */
+	{.type FromH0, {.p L150}, .src = "dd L150"},		/* dd L150 11344 */
+	{.type FromH0, {.p C_2drop}, .src = "dd C_2drop	; n == -1 || n == 10 (	-- )"},		/* dd C_2drop	; n == -1 || n == 10 (	-- ) 11352 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop"},		/* dd M_rpop 11360 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop"},		/* dd M_rpop 11368 */
+	{.type FromH0, {.p M_minus}, .src = "dd M_minus	; ( -- a2-a1 )"},		/* dd M_minus	; ( -- a2-a1 ) 11376 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon	; ( -- n ) (R -- )"},		/* dd M_exitcolon	; ( -- n ) (R -- ) 11384 */
+	{.type FromH0, {.p M_rfetch}, .src = "dd M_rfetch	; ( n c a -- ) (R a a -- )"},		/* dd M_rfetch	; ( n c a -- ) (R a a -- ) 11392 */
+	{.type FromH0, {.p M_cstore}, .src = "dd M_cstore	; store the character at a"},		/* dd M_cstore	; store the character at a 11400 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( n a -- ) (R a -- )"},		/* dd M_rpop	; ( n a -- ) (R a -- ) 11408 */
+	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus"},		/* dd C_1plus 11416 */
+	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( n -- ) (R a1 -- a1 a2 ) a1 = begin address a2 = current address"},		/* dd M_rpush	; ( n -- ) (R a1 -- a1 a2 ) a1 = begin address a2 = current address 11424 */
+	{.type FromH0, {.p C_1minus}, .src = "dd C_1minus	; ( n -- n-1 )"},		/* dd C_1minus	; ( n -- n-1 ) 11432 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 11440 */
+	{.type FromH0, {.p L148}, .src = "dd L148	; loop again for the next character"},		/* dd L148	; loop again for the next character 11448 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( -- a2 ) (R a1 a2 -- a1 )"},		/* dd M_rpop	; ( -- a2 ) (R a1 a2 -- a1 ) 11456 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( a2 a1 -- ) (R a1 -- )"},		/* dd M_rpop	; ( a2 a1 -- ) (R a1 -- ) 11464 */
+	{.type FromH0, {.p M_minus}, .src = "dd M_minus	; ( a2 a1 -- a2-a1 )"},		/* dd M_minus	; ( a2 a1 -- a2-a1 ) 11472 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 11480 */
+	{.type Header, {.hdr { 5, "query", /* C_query = 11496 */ colon }}}, /* CENTRY "query" query 5 ; read from input stream into the Text Input Buffer h 11504 */
+	{.type FromH0, {.p MV_Eof}, .src = "dd MV_Eof"},		/* dd MV_Eof 11512 */
+	{.type FromH0, {.p C_off}, .src = "dd C_off	; clear EOF flag"},		/* dd C_off	; clear EOF flag 11520 */
+	{.type FromH0, {.p M_Tib}, .src = "dd M_Tib	; constant puts address of tibuffer on the top"},		/* dd M_Tib	; constant puts address of tibuffer on the top 11528 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 11536 */
+	{.type Absolute, {.p 4096}},		/* dd 4096	; ( tibuffer -- tibuffer 4096 ) 11544 */
+	{.type FromH0, {.p C_accept}, .src = "dd C_accept ; ( tibuffer 4096 -- n )"},		/* dd C_accept ; ( tibuffer 4096 -- n ) 11552 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( n -- n n )"},		/* dd M_dup	; ( n -- n n ) 11560 */
+	{.type FromH0, {.p C_0eq}, .src = "dd C_0eq	; ( n n -- n f )"},		/* dd C_0eq	; ( n n -- n f ) 11568 */
+	{.type FromH0, {.p MV_Eof}, .src = "dd MV_Eof"},		/* dd MV_Eof 11576 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 11584 */
+	{.type FromH0, {.p M_binand}, .src = "dd M_binand	; n == 0 && EOF"},		/* dd M_binand	; n == 0 && EOF 11592 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 11600 */
+	{.type FromH0, {.p L152}, .src = "dd L152		; false condition"},		/* dd L152		; false condition 11608 */
+	{.type FromH0, {.p M_drop}, .src = "dd M_drop	; n == 0 && EOF ( n -- )"},		/* dd M_drop	; n == 0 && EOF ( n -- ) 11616 */
+	{.type FromH0, {.p C_qrestore_input}, .src = "dd C_qrestore_input"},		/* dd C_qrestore_input 11624 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 11632 */
+	{.type FromH0, {.p L153}, .src = "dd L153"},		/* dd L153 11640 */
+	{.type FromH0, {.p MV_toLimit}, .src = "dd MV_toLimit"},		/* dd MV_toLimit 11648 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store		; number of characters to read >Limit = n"},		/* dd M_store		; number of characters to read >Limit = n 11656 */
+	{.type FromH0, {.p MV_toIn}, .src = "dd MV_toIn"},		/* dd MV_toIn 11664 */
+	{.type FromH0, {.p C_off}, .src = "dd C_off		; start from 0 >In = 0"},		/* dd C_off		; start from 0 >In = 0 11672 */
 	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 11680 */
-	{.type FromH0, {.p C_query}, .src = "dd C_query"},		/* dd C_query 11688 */
-	{.type FromH0, {.p C_true}, .src = "dd C_true"},		/* dd C_true 11696 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 11704 */
-	{.type Header, {.hdr { 8, "findname", /* C_findname = 11728 */ colon }}}, /* CENTRY "findname" findname 8 ; ( a1 -- a2 f ) ; loop through the dictionary names h 11736 */
-	{.type FromH0, {.p MV_Findadr}, .src = "dd MV_Findadr"},		/* dd MV_Findadr 11744 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 11752 */
-	{.type FromH0, {.p M_Dtop}, .src = "dd M_Dtop"},		/* dd M_Dtop 11760 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch	; get latest dictionary link"},		/* dd M_fetch	; get latest dictionary link 11768 */
-	{.type FromH0, {.p C_qdup}, .src = "dd C_qdup"},		/* dd C_qdup 11776 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 11784 */
-	{.type FromH0, {.p L159}, .src = "dd L159	; seached until the first dictionary entry get out"},		/* dd L159	; seached until the first dictionary entry get out 11792 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( a -- a a )"},		/* dd M_dup	; ( a -- a a ) 11800 */
-	{.type FromH0, {.p C_cellplus}, .src = "dd C_cellplus	; ( a a -- a a+8) lenth + initial name address"},		/* dd C_cellplus	; ( a a -- a a+8) lenth + initial name address 11808 */
-	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch	; ( a a+8 -- a immediate|hidden|len) length + initial name"},		/* dd M_cfetch	; ( a a+8 -- a immediate|hidden|len) length + initial name 11816 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 11824 */
-	{.type Absolute, {.p 64}},		/* dd 64		; check the reveal'ed flag 1=hidden, 0=reveal 11832 */
-	{.type FromH0, {.p M_binand}, .src = "dd M_binand	; if hidden, goto L161 else L160"},		/* dd M_binand	; if hidden, goto L161 else L160 11840 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 11848 */
-	{.type FromH0, {.p L160}, .src = "dd L160"},		/* dd L160 11856 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch	; smudge'd dictionary entry, get the previous entry"},		/* dd M_fetch	; smudge'd dictionary entry, get the previous entry 11864 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 11872 */
-	{.type FromH0, {.p L161}, .src = "dd L161"},		/* dd L161 11880 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( a1 -- a1 a1)"},		/* dd M_dup	; ( a1 -- a1 a1) 11888 */
-	{.type FromH0, {.p C_cellplus}, .src = "dd C_cellplus	; ( a1 a1 -- a1 a1+8)"},		/* dd C_cellplus	; ( a1 a1 -- a1 a1+8) 11896 */
-	{.type FromH0, {.p C_count}, .src = "dd C_count	; ( a1 a1+8 -- a1 a1+8+1 n )"},		/* dd C_count	; ( a1 a1+8 -- a1 a1+8+1 n ) 11904 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 11912 */
-	{.type Absolute, {.p 63}},		/* dd 63 11920 */
-	{.type FromH0, {.p M_binand}, .src = "dd M_binand	; ( a1 a1+8+1 n 63 -- a1 a1+8+1 n&63=len )"},		/* dd M_binand	; ( a1 a1+8+1 n 63 -- a1 a1+8+1 n&63=len ) 11928 */
-	{.type FromH0, {.p MV_Findadr}, .src = "dd MV_Findadr"},		/* dd MV_Findadr 11936 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 11944 */
-	{.type FromH0, {.p C_count}, .src = "dd C_count	; ( a1 a1+8+1 len=n&63 a2 -- a1 a1+8+1 n&63 a2+1 n2 )"},		/* dd C_count	; ( a1 a1+8+1 len=n&63 a2 -- a1 a1+8+1 n&63 a2+1 n2 ) 11952 */
-	{.type FromH0, {.p C_compare}, .src = "dd C_compare	; ( a1 a1+8+1 len=n&63 a2+1 n2 -- a1 f ) compare dictionary entry with name"},		/* dd C_compare	; ( a1 a1+8+1 len=n&63 a2+1 n2 -- a1 f ) compare dictionary entry with name 11960 */
-	{.type FromH0, {.p C_0eq}, .src = "dd C_0eq	; found a match?"},		/* dd C_0eq	; found a match? 11968 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 11976 */
-	{.type FromH0, {.p L162}, .src = "dd L162		; no match"},		/* dd L162		; no match 11984 */
-	{.type FromH0, {.p C_cellplus}, .src = "dd C_cellplus	; match found"},		/* dd C_cellplus	; match found 11992 */
-	{.type FromH0, {.p C_true}, .src = "dd C_true"},		/* dd C_true 12000 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 12008 */
+	{.type Header, {.hdr { 6, "refill", /* C_refill = 11696 */ colon }}}, /* CENTRY "refill" refill 6 ; no more refills when there is no 'Acceptvec h 11704 */
+	{.type FromH0, {.p MV_Acceptvec}, .src = "dd MV_Acceptvec"},		/* dd MV_Acceptvec 11712 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 11720 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 11728 */
+	{.type FromH0, {.p L155}, .src = "dd L155"},		/* dd L155 11736 */
+	{.type FromH0, {.p C_false}, .src = "dd C_false"},		/* dd C_false 11744 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 11752 */
+	{.type FromH0, {.p C_query}, .src = "dd C_query"},		/* dd C_query 11760 */
+	{.type FromH0, {.p C_true}, .src = "dd C_true"},		/* dd C_true 11768 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 11776 */
+	{.type Header, {.hdr { 8, "findname", /* C_findname = 11800 */ colon }}}, /* CENTRY "findname" findname 8 ; ( a1 -- a2 f ) ; loop through the dictionary names h 11808 */
+	{.type FromH0, {.p MV_Findadr}, .src = "dd MV_Findadr"},		/* dd MV_Findadr 11816 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 11824 */
+	{.type FromH0, {.p M_Dtop}, .src = "dd M_Dtop"},		/* dd M_Dtop 11832 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch	; get latest dictionary link"},		/* dd M_fetch	; get latest dictionary link 11840 */
+	{.type FromH0, {.p C_qdup}, .src = "dd C_qdup"},		/* dd C_qdup 11848 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 11856 */
+	{.type FromH0, {.p L159}, .src = "dd L159	; seached until the first dictionary entry get out"},		/* dd L159	; seached until the first dictionary entry get out 11864 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( a -- a a )"},		/* dd M_dup	; ( a -- a a ) 11872 */
+	{.type FromH0, {.p C_cellplus}, .src = "dd C_cellplus	; ( a a -- a a+8) lenth + initial name address"},		/* dd C_cellplus	; ( a a -- a a+8) lenth + initial name address 11880 */
+	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch	; ( a a+8 -- a immediate|hidden|len) length + initial name"},		/* dd M_cfetch	; ( a a+8 -- a immediate|hidden|len) length + initial name 11888 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 11896 */
+	{.type Absolute, {.p 64}},		/* dd 64		; check the reveal'ed flag 1=hidden, 0=reveal 11904 */
+	{.type FromH0, {.p M_binand}, .src = "dd M_binand	; if hidden, goto L161 else L160"},		/* dd M_binand	; if hidden, goto L161 else L160 11912 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 11920 */
+	{.type FromH0, {.p L160}, .src = "dd L160"},		/* dd L160 11928 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch	; smudge'd dictionary entry, get the previous entry"},		/* dd M_fetch	; smudge'd dictionary entry, get the previous entry 11936 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 11944 */
+	{.type FromH0, {.p L161}, .src = "dd L161"},		/* dd L161 11952 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( a1 -- a1 a1)"},		/* dd M_dup	; ( a1 -- a1 a1) 11960 */
+	{.type FromH0, {.p C_cellplus}, .src = "dd C_cellplus	; ( a1 a1 -- a1 a1+8)"},		/* dd C_cellplus	; ( a1 a1 -- a1 a1+8) 11968 */
+	{.type FromH0, {.p C_count}, .src = "dd C_count	; ( a1 a1+8 -- a1 a1+8+1 n )"},		/* dd C_count	; ( a1 a1+8 -- a1 a1+8+1 n ) 11976 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 11984 */
+	{.type Absolute, {.p 63}},		/* dd 63 11992 */
+	{.type FromH0, {.p M_binand}, .src = "dd M_binand	; ( a1 a1+8+1 n 63 -- a1 a1+8+1 n&63=len )"},		/* dd M_binand	; ( a1 a1+8+1 n 63 -- a1 a1+8+1 n&63=len ) 12000 */
+	{.type FromH0, {.p MV_Findadr}, .src = "dd MV_Findadr"},		/* dd MV_Findadr 12008 */
 	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 12016 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 12024 */
-	{.type FromH0, {.p L158}, .src = "dd L158"},		/* dd L158 12032 */
-	{.type FromH0, {.p MV_Findadr}, .src = "dd MV_Findadr"},		/* dd MV_Findadr 12040 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 12048 */
-	{.type FromH0, {.p C_false}, .src = "dd C_false"},		/* dd C_false 12056 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 12064 */
-	{.type Header, {.hdr { 4, "find", /* C_find = 12080 */ colon }}}, /* CENTRY "find" find 4 ; ( a1 -- a2 f )? h 12088 */
-	{.type FromH0, {.p C_findname}, .src = "dd C_findname"},		/* dd C_findname 12096 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 12104 */
-	{.type FromH0, {.p L164}, .src = "dd L164"},		/* dd L164 12112 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 12120 */
-	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 12128 */
-	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 12136 */
-	{.type FromH0, {.p M_over}, .src = "dd M_over"},		/* dd M_over 12144 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12152 */
-	{.type Absolute, {.p 63}},		/* dd 63 12160 */
-	{.type FromH0, {.p M_binand}, .src = "dd M_binand"},		/* dd M_binand 12168 */
-	{.type FromH0, {.p M_plus}, .src = "dd M_plus"},		/* dd M_plus 12176 */
-	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus"},		/* dd C_1plus 12184 */
-	{.type FromH0, {.p C_aligned}, .src = "dd C_aligned"},		/* dd C_aligned 12192 */
-	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 12200 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12208 */
-	{.type Absolute, {.p 128}},		/* dd 128 12216 */
-	{.type FromH0, {.p M_binand}, .src = "dd M_binand"},		/* dd M_binand 12224 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 12232 */
-	{.type FromH0, {.p L165}, .src = "dd L165"},		/* dd L165 12240 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12248 */
-	{.type Absolute, {.p 1}},		/* dd 1 12256 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 12264 */
-	{.type FromH0, {.p L166}, .src = "dd L166"},		/* dd L166 12272 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12280 */
-	{.type Absolute, {.p -1}},		/* dd -1 12288 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 12296 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 12304 */
-	{.type FromH0, {.p L167}, .src = "dd L167"},		/* dd L167 12312 */
-	{.type FromH0, {.p C_false}, .src = "dd C_false"},		/* dd C_false 12320 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 12328 */
-	{.type Header, {.hdr { 1, "'", /* C_single_quote = 12344 */ colon }}}, /* CENTRY "'" single_quote 1 h 12352 */
-	{.type FromH0, {.p C_bl}, .src = "dd C_bl"},		/* dd C_bl 12360 */
-	{.type FromH0, {.p C_word}, .src = "dd C_word"},		/* dd C_word 12368 */
-	{.type FromH0, {.p C_find}, .src = "dd C_find"},		/* dd C_find 12376 */
-	{.type FromH0, {.p C_0eq}, .src = "dd C_0eq"},		/* dd C_0eq 12384 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 12392 */
-	{.type FromH0, {.p L169}, .src = "dd L169"},		/* dd L169 12400 */
-	{.type FromH0, {.p C_space}, .src = "dd C_space"},		/* dd C_space 12408 */
-	{.type FromH0, {.p C_count}, .src = "dd C_count"},		/* dd C_count 12416 */
-	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 12424 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12432 */
-	{.type FromH0, {.p L170}, .src = "dd L170"},		/* dd L170 12440 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12448 */
-	{.type Absolute, {.p 3}},		/* dd 3 12456 */
-	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 12464 */
-	{.type FromH0, {.p C_cr}, .src = "dd C_cr"},		/* dd C_cr 12472 */
-	{.type FromH0, {.p C_abort}, .src = "dd C_abort"},		/* dd C_abort 12480 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 12488 */
-	{.type Header, {.hdr { 6, "?stack", /* C_qstack = 12504 */ colon }}}, /* CENTRY "?stack" qstack 6 h 12512 */
-	{.type FromH0, {.p M_stackptr}, .src = "dd M_stackptr"},		/* dd M_stackptr 12520 */
-	{.type FromH0, {.p M_S0}, .src = "dd M_S0"},		/* dd M_S0 12528 */
-	{.type FromH0, {.p M_greater}, .src = "dd M_greater"},		/* dd M_greater 12536 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 12544 */
-	{.type FromH0, {.p L172}, .src = "dd L172"},		/* dd L172 12552 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12560 */
-	{.type FromH0, {.p L173}, .src = "dd L173"},		/* dd L173 12568 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12576 */
-	{.type Absolute, {.p 16}},		/* dd 16 12584 */
-	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 12592 */
-	{.type FromH0, {.p C_cr}, .src = "dd C_cr"},		/* dd C_cr 12600 */
-	{.type FromH0, {.p C_abort}, .src = "dd C_abort"},		/* dd C_abort 12608 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 12616 */
-	{.type FromH0, {.p MC_STDOUT}, .src = "dd MC_STDOUT	; ( str -- str 1) ; debug code to show the word found"},		/* dd MC_STDOUT	; ( str -- str 1) ; debug code to show the word found 12624 */
-	{.type FromH0, {.p M_over}, .src = "dd M_over		; ( str 1 str )"},		/* dd M_over		; ( str 1 str ) 12632 */
-	{.type FromH0, {.p C_count}, .src = "dd C_count 		; ( str 1 a n)"},		/* dd C_count 		; ( str 1 a n) 12640 */
-	{.type FromH0, {.p M_syswrite}, .src = "dd M_syswrite"},		/* dd M_syswrite 12648 */
-	{.type FromH0, {.p M_drop}, .src = "dd M_drop		; drop the return value of write"},		/* dd M_drop		; drop the return value of write 12656 */
-	{.type Header, {.hdr { 9, "interpret", /* C_interpret = 12680 */ colon }}}, /* CENTRY "interpret" interpret 9 ; there is stuff in TIB to be interpreted >In and >Limit are set h 12688 */
-	{.type FromH0, {.p C_bl}, .src = "dd C_bl"},		/* dd C_bl 12696 */
-	{.type FromH0, {.p C_word}, .src = "dd C_word	; ( bl -- a ) a = address of counted string"},		/* dd C_word	; ( bl -- a ) a = address of counted string 12704 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 12712 */
-	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 12720 */
-	{.type FromH0, {.p C_0neq}, .src = "dd C_0neq"},		/* dd C_0neq 12728 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 12736 */
-	{.type FromH0, {.p L176}, .src = "dd L176	; count at a = 0, drop a and exit"},		/* dd L176	; count at a = 0, drop a and exit 12744 */
-	{.type FromH0, {.p C_find}, .src = "dd C_find	; ( a -- a1 f ) a = address of counted string"},		/* dd C_find	; ( a -- a1 f ) a = address of counted string 12752 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 12760 */
-	{.type FromH0, {.p L177}, .src = "dd L177"},		/* dd L177 12768 */
-	{.type FromH0, {.p M_execute}, .src = "dd M_execute	; found in dictionary, execute"},		/* dd M_execute	; found in dictionary, execute 12776 */
-	{.type FromH0, {.p C_qstack}, .src = "dd C_qstack"},		/* dd C_qstack 12784 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 12792 */
-	{.type FromH0, {.p L178}, .src = "dd L178"},		/* dd L178 12800 */
-	{.type FromH0, {.p C_count}, .src = "dd C_count"},		/* dd C_count 12808 */
-	{.type FromH0, {.p C_number}, .src = "dd C_number"},		/* dd C_number 12816 */
-	{.type FromH0, {.p C_0eq}, .src = "dd C_0eq"},		/* dd C_0eq 12824 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 12832 */
-	{.type FromH0, {.p L179}, .src = "dd L179"},		/* dd L179 12840 */
-	{.type FromH0, {.p C_space}, .src = "dd C_space	; the word is neither in the dictionary nor a number"},		/* dd C_space	; the word is neither in the dictionary nor a number 12848 */
-	{.type FromH0, {.p C_type}, .src = "dd C_type	; show the word"},		/* dd C_type	; show the word 12856 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12864 */
-	{.type FromH0, {.p L180}, .src = "dd L180	; error I?"},		/* dd L180	; error I? 12872 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12880 */
-	{.type Absolute, {.p 3}},		/* dd 3 12888 */
-	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 12896 */
-	{.type FromH0, {.p C_cr}, .src = "dd C_cr"},		/* dd C_cr 12904 */
-	{.type FromH0, {.p C_abort}, .src = "dd C_abort"},		/* dd C_abort 12912 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 12920 */
-	{.type FromH0, {.p L175}, .src = "dd L175"},		/* dd L175 12928 */
-	{.type FromH0, {.p M_drop}, .src = "dd M_drop	; count at a = 0 ( a -- )"},		/* dd M_drop	; count at a = 0 ( a -- ) 12936 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 12944 */
-	{.type Header, {.hdr { 6, "create", /* C_create = 12960 */ colon }}}, /* CENTRY "create" create 6 ; compiles dictionary header until the pfa (link, len, name, cfa) h 12968 */
-	{.type FromH0, {.p C_align}, .src = "dd C_align	; sets Dp = aligned here"},		/* dd C_align	; sets Dp = aligned here 12976 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here	; ( -- here )"},		/* dd C_here	; ( -- here ) 12984 */
-	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( -- ) (R -- linkaddr )"},		/* dd M_rpush	; ( -- ) (R -- linkaddr ) 12992 */
-	{.type FromH0, {.p M_Dtop}, .src = "dd M_Dtop	; ( -- Dtop ) (R -- linkaddr )"},		/* dd M_Dtop	; ( -- Dtop ) (R -- linkaddr ) 13000 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch	; ( Dtop -- dtop ) (R -- linkaddr )"},		/* dd M_fetch	; ( Dtop -- dtop ) (R -- linkaddr ) 13008 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma	; ( dtop -- ) (R -- linkaddr )"},		/* dd C_comma	; ( dtop -- ) (R -- linkaddr ) 13016 */
-	{.type FromH0, {.p C_bl}, .src = "dd C_bl"},		/* dd C_bl 13024 */
-	{.type FromH0, {.p C_word}, .src = "dd C_word	; get the word from the input stream ( c -- a ) skip any c. Placed the counted string in a (as in Wordbuf)"},		/* dd C_word	; get the word from the input stream ( c -- a ) skip any c. Placed the counted string in a (as in Wordbuf) 13032 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( a -- a a ) (R -- linkaddr )"},		/* dd M_dup	; ( a -- a a ) (R -- linkaddr ) 13040 */
-	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch	; ( a a -- a len ) (R -- linkaddr )"},		/* dd M_cfetch	; ( a a -- a len ) (R -- linkaddr ) 13048 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here	; ( a len -- a len here ) (R -- linkaddr )"},		/* dd C_here	; ( a len -- a len here ) (R -- linkaddr ) 13056 */
-	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap	; ( a len here -- a here len ) (R -- linkaddr )"},		/* dd M_xswap	; ( a len here -- a here len ) (R -- linkaddr ) 13064 */
-	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus	; ( a here len -- a here len+1 ) (R -- linkaddr ) using len+1 to copy even the length byte"},		/* dd C_1plus	; ( a here len -- a here len+1 ) (R -- linkaddr ) using len+1 to copy even the length byte 13072 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( a here len+1 -- a here len+1 len+1 ) (R -- linkaddr )"},		/* dd M_dup	; ( a here len+1 -- a here len+1 len+1 ) (R -- linkaddr ) 13080 */
-	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( a here len+1 len+1 -- a here len+1 ) (R -- linkaddr len+1 )"},		/* dd M_rpush	; ( a here len+1 len+1 -- a here len+1 ) (R -- linkaddr len+1 ) 13088 */
-	{.type FromH0, {.p M_cmove}, .src = "dd M_cmove	; ( a here len+1 -- ) (R -- linkaddr len+1 )"},		/* dd M_cmove	; ( a here len+1 -- ) (R -- linkaddr len+1 ) 13096 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( -- len+1 ) (R -- linkaddr )"},		/* dd M_rpop	; ( -- len+1 ) (R -- linkaddr ) 13104 */
-	{.type FromH0, {.p C_allot}, .src = "dd C_allot	; ( -- ) (R -- linkaddr ) here = here+len+1"},		/* dd C_allot	; ( -- ) (R -- linkaddr ) here = here+len+1 13112 */
-	{.type FromH0, {.p C_align}, .src = "dd C_align	; sets Dp = aligned here"},		/* dd C_align	; sets Dp = aligned here 13120 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13128 */
-	{.type FromH0, {.p M_variable}, .src = "dd M_variable"},		/* dd M_variable 13136 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch	; ( -- variablecfa) (R -- linkaddr )"},		/* dd M_fetch	; ( -- variablecfa) (R -- linkaddr ) 13144 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma	; ( -- ) put the variablecfa into the cfa"},		/* dd C_comma	; ( -- ) put the variablecfa into the cfa 13152 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( -- linkaddr) (R -- )"},		/* dd M_rpop	; ( -- linkaddr) (R -- ) 13160 */
-	{.type FromH0, {.p M_Dtop}, .src = "dd M_Dtop"},		/* dd M_Dtop 13168 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store	; Dtop = just created link address"},		/* dd M_store	; Dtop = just created link address 13176 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 13184 */
-	{.type Header, {.hdr { 8, "variable", /* C_variable = 13208 */ colon }}}, /* CENTRY "variable" variable 8 ; compile to put the vhere then on the stack h 13216 */
-	{.type FromH0, {.p C_create}, .src = "dd C_create"},		/* dd C_create 13224 */
-	{.type FromH0, {.p C_vhere}, .src = "dd C_vhere"},		/* dd C_vhere 13232 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma	; put the next available variable location in pfa"},		/* dd C_comma	; put the next available variable location in pfa 13240 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13248 */
-	{.type Absolute, {.p 1}},		/* dd 1 13256 */
-	{.type FromH0, {.p C_cells}, .src = "dd C_cells"},		/* dd C_cells 13264 */
-	{.type FromH0, {.p C_vallot}, .src = "dd C_vallot	; vhere = vhere+8, stored at Vp"},		/* dd C_vallot	; vhere = vhere+8, stored at Vp 13272 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 13280 */
-	{.type Header, {.hdr { 8, "constant", /* C_constant = 13304 */ colon }}}, /* CENTRY "constant" constant 8 ; ( n -- ) do the same as variable but change the cfa to (constant) h 13312 */
-	{.type FromH0, {.p C_create}, .src = "dd C_create	; create dictionary header upto the cfa"},		/* dd C_create	; create dictionary header upto the cfa 13320 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13328 */
-	{.type FromH0, {.p M_constant}, .src = "dd M_constant"},		/* dd M_constant 13336 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch	; ( Contstantcfa -- (constant) )"},		/* dd M_fetch	; ( Contstantcfa -- (constant) ) 13344 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here	; ( (constant) -- (constant) here )"},		/* dd C_here	; ( (constant) -- (constant) here ) 13352 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13360 */
-	{.type Absolute, {.p 1}},		/* dd 1 13368 */
-	{.type FromH0, {.p C_cells}, .src = "dd C_cells	; ( (constant) here -- (constant) here 8 )"},		/* dd C_cells	; ( (constant) here -- (constant) here 8 ) 13376 */
-	{.type FromH0, {.p M_minus}, .src = "dd M_minus	; ( (constant) here 8 -- (constant) here-8 )"},		/* dd M_minus	; ( (constant) here 8 -- (constant) here-8 ) 13384 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store	; ( (constant) here-8 -- ) changed cfa from (variable) to (constant) "},		/* dd M_store	; ( (constant) here-8 -- ) changed cfa from (variable) to (constant)  13392 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma	; store n into the dictionary"},		/* dd C_comma	; store n into the dictionary 13400 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 13408 */
-	{.type Header, {.hdr { 9, "immediate", /* C_immediate = 13432 */ colon }}}, /* CENTRY "immediate" immediate 9 h 13440 */
-	{.type FromH0, {.p M_Dp}, .src = "dd M_Dp"},		/* dd M_Dp 13448 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 13456 */
-	{.type FromH0, {.p C_cellplus}, .src = "dd C_cellplus"},		/* dd C_cellplus 13464 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 13472 */
-	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 13480 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13488 */
-	{.type Absolute, {.p 128}},		/* dd 128 13496 */
-	{.type FromH0, {.p M_binor}, .src = "dd M_binor"},		/* dd M_binor 13504 */
-	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 13512 */
-	{.type FromH0, {.p M_cstore}, .src = "dd M_cstore"},		/* dd M_cstore 13520 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 13528 */
-	{.type Header, {.hdr { 4, ">cfa", /* C_tocfa = 13544 */ colon }}}, /* CENTRY ">cfa" tocfa 4 h 13552 */
-	{.type FromH0, {.p C_count}, .src = "dd C_count"},		/* dd C_count 13560 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13568 */
-	{.type Absolute, {.p 63}},		/* dd 63 13576 */
-	{.type FromH0, {.p M_binand}, .src = "dd M_binand"},		/* dd M_binand 13584 */
-	{.type FromH0, {.p M_plus}, .src = "dd M_plus"},		/* dd M_plus 13592 */
-	{.type FromH0, {.p C_aligned}, .src = "dd C_aligned"},		/* dd C_aligned 13600 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 13608 */
-	{.type Header, {.hdr { 7, "compile", /* C_compile = 13624 */ colon }}}, /* CENTRY "compile" compile 7 h 13632 */
-	{.type FromH0, {.p C_findname}, .src = "dd C_findname"},		/* dd C_findname 13640 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 13648 */
-	{.type FromH0, {.p L188}, .src = "dd L188"},		/* dd L188 13656 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 13664 */
-	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 13672 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13680 */
-	{.type Absolute, {.p 128}},		/* dd 128 13688 */
-	{.type FromH0, {.p M_binand}, .src = "dd M_binand"},		/* dd M_binand 13696 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 13704 */
-	{.type FromH0, {.p L189}, .src = "dd L189"},		/* dd L189 13712 */
-	{.type FromH0, {.p C_tocfa}, .src = "dd C_tocfa	; immediate"},		/* dd C_tocfa	; immediate 13720 */
-	{.type FromH0, {.p M_execute}, .src = "dd M_execute"},		/* dd M_execute 13728 */
-	{.type FromH0, {.p C_qstack}, .src = "dd C_qstack"},		/* dd C_qstack 13736 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 13744 */
-	{.type FromH0, {.p L190}, .src = "dd L190"},		/* dd L190 13752 */
-	{.type FromH0, {.p C_tocfa}, .src = "dd C_tocfa"},		/* dd C_tocfa 13760 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 13768 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 13776 */
-	{.type FromH0, {.p L191}, .src = "dd L191"},		/* dd L191 13784 */
-	{.type FromH0, {.p C_count}, .src = "dd C_count"},		/* dd C_count 13792 */
-	{.type FromH0, {.p C_number}, .src = "dd C_number"},		/* dd C_number 13800 */
-	{.type FromH0, {.p C_0eq}, .src = "dd C_0eq"},		/* dd C_0eq 13808 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 13816 */
-	{.type FromH0, {.p L192}, .src = "dd L192"},		/* dd L192 13824 */
-	{.type FromH0, {.p C_space}, .src = "dd C_space"},		/* dd C_space 13832 */
-	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 13840 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13848 */
-	{.type FromH0, {.p L193}, .src = "dd L193"},		/* dd L193 13856 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13864 */
-	{.type Absolute, {.p 3}},		/* dd 3 13872 */
-	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 13880 */
-	{.type FromH0, {.p C_cr}, .src = "dd C_cr"},		/* dd C_cr 13888 */
-	{.type FromH0, {.p C_abort}, .src = "dd C_abort"},		/* dd C_abort 13896 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 13904 */
-	{.type FromH0, {.p L194}, .src = "dd L194"},		/* dd L194 13912 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13920 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13928 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 13936 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 13944 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 13952 */
-	{.type Header, {.hdr { 1, "]", /* C_close_bracket = 13968 */ colon }}}, /* CENTRY "]" close_bracket 1 h 13976 */
-	{.type FromH0, {.p MV_State}, .src = "dd MV_State"},		/* dd MV_State 13984 */
-	{.type FromH0, {.p C_on}, .src = "dd C_on"},		/* dd C_on 13992 */
-	{.type FromH0, {.p C_bl}, .src = "dd C_bl"},		/* dd C_bl 14000 */
-	{.type FromH0, {.p C_word}, .src = "dd C_word"},		/* dd C_word 14008 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 14016 */
-	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 14024 */
-	{.type FromH0, {.p C_0eq}, .src = "dd C_0eq"},		/* dd C_0eq 14032 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 14040 */
-	{.type FromH0, {.p L197}, .src = "dd L197"},		/* dd L197 14048 */
-	{.type FromH0, {.p M_drop}, .src = "dd M_drop"},		/* dd M_drop 14056 */
-	{.type FromH0, {.p C_refill}, .src = "dd C_refill	; no more refills when there is no Acceptvec. Is it a problem? did not dig through to figure out"},		/* dd C_refill	; no more refills when there is no Acceptvec. Is it a problem? did not dig through to figure out 14064 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 14072 */
-	{.type FromH0, {.p L198}, .src = "dd L198"},		/* dd L198 14080 */
-	{.type FromH0, {.p C_compile}, .src = "dd C_compile"},		/* dd C_compile 14088 */
-	{.type FromH0, {.p MV_State}, .src = "dd MV_State"},		/* dd MV_State 14096 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 14104 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 14112 */
-	{.type FromH0, {.p L199}, .src = "dd L199"},		/* dd L199 14120 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 14128 */
-	{.type FromH0, {.p L196}, .src = "dd L196"},		/* dd L196 14136 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14144 */
-	{.type IHeader, {.hdr { 1, "[", /* CI_open_bracket = 14160 */ colon }}}, /* CIENTRY "[" open_bracket 1 h 14168 */
-	{.type FromH0, {.p MV_State}, .src = "dd MV_State"},		/* dd MV_State 14176 */
-	{.type FromH0, {.p C_off}, .src = "dd C_off"},		/* dd C_off 14184 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14192 */
-	{.type Header, {.hdr { 6, "smudge", /* C_smudge = 14208 */ colon }}}, /* CENTRY "smudge" smudge 6 h 14216 */
-	{.type FromH0, {.p M_Dp}, .src = "dd M_Dp"},		/* dd M_Dp 14224 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 14232 */
-	{.type FromH0, {.p C_cellplus}, .src = "dd C_cellplus"},		/* dd C_cellplus 14240 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 14248 */
-	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 14256 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 14264 */
-	{.type Absolute, {.p 64}},		/* dd 64 14272 */
-	{.type FromH0, {.p M_binor}, .src = "dd M_binor"},		/* dd M_binor 14280 */
-	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 14288 */
-	{.type FromH0, {.p M_cstore}, .src = "dd M_cstore"},		/* dd M_cstore 14296 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14304 */
-	{.type Header, {.hdr { 6, "reveal", /* C_reveal = 14320 */ colon }}}, /* CENTRY "reveal" reveal 6 h 14328 */
-	{.type FromH0, {.p M_Dp}, .src = "dd M_Dp"},		/* dd M_Dp 14336 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 14344 */
-	{.type FromH0, {.p C_cellplus}, .src = "dd C_cellplus"},		/* dd C_cellplus 14352 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 14360 */
-	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 14368 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 14376 */
-	{.type Absolute, {.p 64}},		/* dd 64 14384 */
-	{.type FromH0, {.p C_invert}, .src = "dd C_invert"},		/* dd C_invert 14392 */
-	{.type FromH0, {.p M_binand}, .src = "dd M_binand"},		/* dd M_binand 14400 */
-	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 14408 */
-	{.type FromH0, {.p M_cstore}, .src = "dd M_cstore"},		/* dd M_cstore 14416 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14424 */
-	{.type Header, {.hdr { 1, ":", /* C_colon = 14440 */ colon }}}, /* CENTRY ":" colon 1 h 14448 */
-	{.type FromH0, {.p C_create}, .src = "dd C_create	; create a dictionary header with (variable) at cfa"},		/* dd C_create	; create a dictionary header with (variable) at cfa 14456 */
-	{.type FromH0, {.p C_smudge}, .src = "dd C_smudge"},		/* dd C_smudge 14464 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 14472 */
-	{.type FromH0, {.p M_colon}, .src = "dd M_colon"},		/* dd M_colon 14480 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch	; ( Coloncfa -- (colon) ) fetches the cfa of M_colon"},		/* dd M_fetch	; ( Coloncfa -- (colon) ) fetches the cfa of M_colon 14488 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here	; ( (colon) -- (colon) here )"},		/* dd C_here	; ( (colon) -- (colon) here ) 14496 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 14504 */
-	{.type Absolute, {.p 1}},		/* dd 1 14512 */
-	{.type FromH0, {.p C_cells}, .src = "dd C_cells"},		/* dd C_cells 14520 */
-	{.type FromH0, {.p M_minus}, .src = "dd M_minus	; ( (colon) here -- (colon) here-8 )"},		/* dd M_minus	; ( (colon) here -- (colon) here-8 ) 14528 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store	; ( (colon) here-8 -- ) change the cfa from (variable) to colon"},		/* dd M_store	; ( (colon) here-8 -- ) change the cfa from (variable) to colon 14536 */
-	{.type FromH0, {.p C_close_bracket}, .src = "dd C_close_bracket"},		/* dd C_close_bracket 14544 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14552 */
-	{.type IHeader, {.hdr { 1, ";", /* CI_semicolon = 14568 */ colon }}}, /* CIENTRY ";" semicolon 1 h 14576 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 14584 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14592 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 14600 */
-	{.type FromH0, {.p MV_State}, .src = "dd MV_State"},		/* dd MV_State 14608 */
-	{.type FromH0, {.p C_off}, .src = "dd C_off"},		/* dd C_off 14616 */
-	{.type FromH0, {.p C_reveal}, .src = "dd C_reveal"},		/* dd C_reveal 14624 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14632 */
-	{.type IHeader, {.hdr { 7, "recurse", /* CI_recurse = 14648 */ colon }}}, /* CIENTRY "recurse" recurse 7 h 14656 */
-	{.type FromH0, {.p M_Dp}, .src = "dd M_Dp"},		/* dd M_Dp 14664 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 14672 */
-	{.type FromH0, {.p C_cellplus}, .src = "dd C_cellplus"},		/* dd C_cellplus 14680 */
-	{.type FromH0, {.p C_tocfa}, .src = "dd C_tocfa"},		/* dd C_tocfa 14688 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 14696 */
+	{.type FromH0, {.p C_count}, .src = "dd C_count	; ( a1 a1+8+1 len=n&63 a2 -- a1 a1+8+1 n&63 a2+1 n2 )"},		/* dd C_count	; ( a1 a1+8+1 len=n&63 a2 -- a1 a1+8+1 n&63 a2+1 n2 ) 12024 */
+	{.type FromH0, {.p C_compare}, .src = "dd C_compare	; ( a1 a1+8+1 len=n&63 a2+1 n2 -- a1 f ) compare dictionary entry with name"},		/* dd C_compare	; ( a1 a1+8+1 len=n&63 a2+1 n2 -- a1 f ) compare dictionary entry with name 12032 */
+	{.type FromH0, {.p C_0eq}, .src = "dd C_0eq	; found a match?"},		/* dd C_0eq	; found a match? 12040 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 12048 */
+	{.type FromH0, {.p L162}, .src = "dd L162		; no match"},		/* dd L162		; no match 12056 */
+	{.type FromH0, {.p C_cellplus}, .src = "dd C_cellplus	; match found"},		/* dd C_cellplus	; match found 12064 */
+	{.type FromH0, {.p C_true}, .src = "dd C_true"},		/* dd C_true 12072 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 12080 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 12088 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 12096 */
+	{.type FromH0, {.p L158}, .src = "dd L158"},		/* dd L158 12104 */
+	{.type FromH0, {.p MV_Findadr}, .src = "dd MV_Findadr"},		/* dd MV_Findadr 12112 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 12120 */
+	{.type FromH0, {.p C_false}, .src = "dd C_false"},		/* dd C_false 12128 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 12136 */
+	{.type Header, {.hdr { 4, "find", /* C_find = 12152 */ colon }}}, /* CENTRY "find" find 4 ; ( a1 -- a2 f )? h 12160 */
+	{.type FromH0, {.p C_findname}, .src = "dd C_findname"},		/* dd C_findname 12168 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 12176 */
+	{.type FromH0, {.p L164}, .src = "dd L164"},		/* dd L164 12184 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 12192 */
+	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 12200 */
+	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 12208 */
+	{.type FromH0, {.p M_over}, .src = "dd M_over"},		/* dd M_over 12216 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12224 */
+	{.type Absolute, {.p 63}},		/* dd 63 12232 */
+	{.type FromH0, {.p M_binand}, .src = "dd M_binand"},		/* dd M_binand 12240 */
+	{.type FromH0, {.p M_plus}, .src = "dd M_plus"},		/* dd M_plus 12248 */
+	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus"},		/* dd C_1plus 12256 */
+	{.type FromH0, {.p C_aligned}, .src = "dd C_aligned"},		/* dd C_aligned 12264 */
+	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 12272 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12280 */
+	{.type Absolute, {.p 128}},		/* dd 128 12288 */
+	{.type FromH0, {.p M_binand}, .src = "dd M_binand"},		/* dd M_binand 12296 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 12304 */
+	{.type FromH0, {.p L165}, .src = "dd L165"},		/* dd L165 12312 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12320 */
+	{.type Absolute, {.p 1}},		/* dd 1 12328 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 12336 */
+	{.type FromH0, {.p L166}, .src = "dd L166"},		/* dd L166 12344 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12352 */
+	{.type Absolute, {.p -1}},		/* dd -1 12360 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 12368 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 12376 */
+	{.type FromH0, {.p L167}, .src = "dd L167"},		/* dd L167 12384 */
+	{.type FromH0, {.p C_false}, .src = "dd C_false"},		/* dd C_false 12392 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 12400 */
+	{.type Header, {.hdr { 1, "'", /* C_single_quote = 12416 */ colon }}}, /* CENTRY "'" single_quote 1 h 12424 */
+	{.type FromH0, {.p C_bl}, .src = "dd C_bl"},		/* dd C_bl 12432 */
+	{.type FromH0, {.p C_word}, .src = "dd C_word"},		/* dd C_word 12440 */
+	{.type FromH0, {.p C_find}, .src = "dd C_find"},		/* dd C_find 12448 */
+	{.type FromH0, {.p C_0eq}, .src = "dd C_0eq"},		/* dd C_0eq 12456 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 12464 */
+	{.type FromH0, {.p L169}, .src = "dd L169"},		/* dd L169 12472 */
+	{.type FromH0, {.p C_space}, .src = "dd C_space"},		/* dd C_space 12480 */
+	{.type FromH0, {.p C_count}, .src = "dd C_count"},		/* dd C_count 12488 */
+	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 12496 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12504 */
+	{.type FromH0, {.p L170}, .src = "dd L170"},		/* dd L170 12512 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12520 */
+	{.type Absolute, {.p 3}},		/* dd 3 12528 */
+	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 12536 */
+	{.type FromH0, {.p C_cr}, .src = "dd C_cr"},		/* dd C_cr 12544 */
+	{.type FromH0, {.p C_abort}, .src = "dd C_abort"},		/* dd C_abort 12552 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 12560 */
+	{.type Header, {.hdr { 6, "?stack", /* C_qstack = 12576 */ colon }}}, /* CENTRY "?stack" qstack 6 h 12584 */
+	{.type FromH0, {.p M_stackptr}, .src = "dd M_stackptr"},		/* dd M_stackptr 12592 */
+	{.type FromH0, {.p M_S0}, .src = "dd M_S0"},		/* dd M_S0 12600 */
+	{.type FromH0, {.p M_greater}, .src = "dd M_greater"},		/* dd M_greater 12608 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 12616 */
+	{.type FromH0, {.p L172}, .src = "dd L172"},		/* dd L172 12624 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12632 */
+	{.type FromH0, {.p L173}, .src = "dd L173"},		/* dd L173 12640 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12648 */
+	{.type Absolute, {.p 16}},		/* dd 16 12656 */
+	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 12664 */
+	{.type FromH0, {.p C_cr}, .src = "dd C_cr"},		/* dd C_cr 12672 */
+	{.type FromH0, {.p C_abort}, .src = "dd C_abort"},		/* dd C_abort 12680 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 12688 */
+	{.type FromH0, {.p MC_STDOUT}, .src = "dd MC_STDOUT	; ( str -- str 1) ; debug code to show the word found"},		/* dd MC_STDOUT	; ( str -- str 1) ; debug code to show the word found 12696 */
+	{.type FromH0, {.p M_over}, .src = "dd M_over		; ( str 1 str )"},		/* dd M_over		; ( str 1 str ) 12704 */
+	{.type FromH0, {.p C_count}, .src = "dd C_count 		; ( str 1 a n)"},		/* dd C_count 		; ( str 1 a n) 12712 */
+	{.type FromH0, {.p M_syswrite}, .src = "dd M_syswrite"},		/* dd M_syswrite 12720 */
+	{.type FromH0, {.p M_drop}, .src = "dd M_drop		; drop the return value of write"},		/* dd M_drop		; drop the return value of write 12728 */
+	{.type Header, {.hdr { 9, "interpret", /* C_interpret = 12752 */ colon }}}, /* CENTRY "interpret" interpret 9 ; there is stuff in TIB to be interpreted >In and >Limit are set h 12760 */
+	{.type FromH0, {.p C_bl}, .src = "dd C_bl"},		/* dd C_bl 12768 */
+	{.type FromH0, {.p C_word}, .src = "dd C_word	; ( bl -- a ) a = address of counted string"},		/* dd C_word	; ( bl -- a ) a = address of counted string 12776 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 12784 */
+	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 12792 */
+	{.type FromH0, {.p C_0neq}, .src = "dd C_0neq"},		/* dd C_0neq 12800 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 12808 */
+	{.type FromH0, {.p L176}, .src = "dd L176	; count at a = 0, drop a and exit"},		/* dd L176	; count at a = 0, drop a and exit 12816 */
+	{.type FromH0, {.p C_find}, .src = "dd C_find	; ( a -- a1 f ) a = address of counted string"},		/* dd C_find	; ( a -- a1 f ) a = address of counted string 12824 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 12832 */
+	{.type FromH0, {.p L177}, .src = "dd L177"},		/* dd L177 12840 */
+	{.type FromH0, {.p M_execute}, .src = "dd M_execute	; found in dictionary, execute"},		/* dd M_execute	; found in dictionary, execute 12848 */
+	{.type FromH0, {.p C_qstack}, .src = "dd C_qstack"},		/* dd C_qstack 12856 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 12864 */
+	{.type FromH0, {.p L178}, .src = "dd L178"},		/* dd L178 12872 */
+	{.type FromH0, {.p C_count}, .src = "dd C_count"},		/* dd C_count 12880 */
+	{.type FromH0, {.p C_number}, .src = "dd C_number"},		/* dd C_number 12888 */
+	{.type FromH0, {.p C_0eq}, .src = "dd C_0eq"},		/* dd C_0eq 12896 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 12904 */
+	{.type FromH0, {.p L179}, .src = "dd L179"},		/* dd L179 12912 */
+	{.type FromH0, {.p C_space}, .src = "dd C_space	; the word is neither in the dictionary nor a number"},		/* dd C_space	; the word is neither in the dictionary nor a number 12920 */
+	{.type FromH0, {.p C_type}, .src = "dd C_type	; show the word"},		/* dd C_type	; show the word 12928 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12936 */
+	{.type FromH0, {.p L180}, .src = "dd L180	; error I?"},		/* dd L180	; error I? 12944 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 12952 */
+	{.type Absolute, {.p 3}},		/* dd 3 12960 */
+	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 12968 */
+	{.type FromH0, {.p C_cr}, .src = "dd C_cr"},		/* dd C_cr 12976 */
+	{.type FromH0, {.p C_abort}, .src = "dd C_abort"},		/* dd C_abort 12984 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 12992 */
+	{.type FromH0, {.p L175}, .src = "dd L175"},		/* dd L175 13000 */
+	{.type FromH0, {.p M_drop}, .src = "dd M_drop	; count at a = 0 ( a -- )"},		/* dd M_drop	; count at a = 0 ( a -- ) 13008 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 13016 */
+	{.type Header, {.hdr { 6, "create", /* C_create = 13032 */ colon }}}, /* CENTRY "create" create 6 ; compiles dictionary header until the pfa (link, len, name, cfa) h 13040 */
+	{.type FromH0, {.p C_align}, .src = "dd C_align	; sets Dp = aligned here"},		/* dd C_align	; sets Dp = aligned here 13048 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here	; ( -- here )"},		/* dd C_here	; ( -- here ) 13056 */
+	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( -- ) (R -- linkaddr )"},		/* dd M_rpush	; ( -- ) (R -- linkaddr ) 13064 */
+	{.type FromH0, {.p M_Dtop}, .src = "dd M_Dtop	; ( -- Dtop ) (R -- linkaddr )"},		/* dd M_Dtop	; ( -- Dtop ) (R -- linkaddr ) 13072 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch	; ( Dtop -- dtop ) (R -- linkaddr )"},		/* dd M_fetch	; ( Dtop -- dtop ) (R -- linkaddr ) 13080 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma	; ( dtop -- ) (R -- linkaddr )"},		/* dd C_comma	; ( dtop -- ) (R -- linkaddr ) 13088 */
+	{.type FromH0, {.p C_bl}, .src = "dd C_bl"},		/* dd C_bl 13096 */
+	{.type FromH0, {.p C_word}, .src = "dd C_word	; get the word from the input stream ( c -- a ) skip any c. Placed the counted string in a (as in Wordbuf)"},		/* dd C_word	; get the word from the input stream ( c -- a ) skip any c. Placed the counted string in a (as in Wordbuf) 13104 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( a -- a a ) (R -- linkaddr )"},		/* dd M_dup	; ( a -- a a ) (R -- linkaddr ) 13112 */
+	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch	; ( a a -- a len ) (R -- linkaddr )"},		/* dd M_cfetch	; ( a a -- a len ) (R -- linkaddr ) 13120 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here	; ( a len -- a len here ) (R -- linkaddr )"},		/* dd C_here	; ( a len -- a len here ) (R -- linkaddr ) 13128 */
+	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap	; ( a len here -- a here len ) (R -- linkaddr )"},		/* dd M_xswap	; ( a len here -- a here len ) (R -- linkaddr ) 13136 */
+	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus	; ( a here len -- a here len+1 ) (R -- linkaddr ) using len+1 to copy even the length byte"},		/* dd C_1plus	; ( a here len -- a here len+1 ) (R -- linkaddr ) using len+1 to copy even the length byte 13144 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( a here len+1 -- a here len+1 len+1 ) (R -- linkaddr )"},		/* dd M_dup	; ( a here len+1 -- a here len+1 len+1 ) (R -- linkaddr ) 13152 */
+	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( a here len+1 len+1 -- a here len+1 ) (R -- linkaddr len+1 )"},		/* dd M_rpush	; ( a here len+1 len+1 -- a here len+1 ) (R -- linkaddr len+1 ) 13160 */
+	{.type FromH0, {.p M_cmove}, .src = "dd M_cmove	; ( a here len+1 -- ) (R -- linkaddr len+1 )"},		/* dd M_cmove	; ( a here len+1 -- ) (R -- linkaddr len+1 ) 13168 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( -- len+1 ) (R -- linkaddr )"},		/* dd M_rpop	; ( -- len+1 ) (R -- linkaddr ) 13176 */
+	{.type FromH0, {.p C_allot}, .src = "dd C_allot	; ( -- ) (R -- linkaddr ) here = here+len+1"},		/* dd C_allot	; ( -- ) (R -- linkaddr ) here = here+len+1 13184 */
+	{.type FromH0, {.p C_align}, .src = "dd C_align	; sets Dp = aligned here"},		/* dd C_align	; sets Dp = aligned here 13192 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13200 */
+	{.type FromH0, {.p M_variable}, .src = "dd M_variable"},		/* dd M_variable 13208 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch	; ( -- variablecfa) (R -- linkaddr )"},		/* dd M_fetch	; ( -- variablecfa) (R -- linkaddr ) 13216 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma	; ( -- ) put the variablecfa into the cfa"},		/* dd C_comma	; ( -- ) put the variablecfa into the cfa 13224 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( -- linkaddr) (R -- )"},		/* dd M_rpop	; ( -- linkaddr) (R -- ) 13232 */
+	{.type FromH0, {.p M_Dtop}, .src = "dd M_Dtop"},		/* dd M_Dtop 13240 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store	; Dtop = just created link address"},		/* dd M_store	; Dtop = just created link address 13248 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 13256 */
+	{.type Header, {.hdr { 8, "variable", /* C_variable = 13280 */ colon }}}, /* CENTRY "variable" variable 8 ; compile to put the vhere then on the stack h 13288 */
+	{.type FromH0, {.p C_create}, .src = "dd C_create"},		/* dd C_create 13296 */
+	{.type FromH0, {.p C_vhere}, .src = "dd C_vhere"},		/* dd C_vhere 13304 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma	; put the next available variable location in pfa"},		/* dd C_comma	; put the next available variable location in pfa 13312 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13320 */
+	{.type Absolute, {.p 1}},		/* dd 1 13328 */
+	{.type FromH0, {.p C_cells}, .src = "dd C_cells"},		/* dd C_cells 13336 */
+	{.type FromH0, {.p C_vallot}, .src = "dd C_vallot	; vhere = vhere+8, stored at Vp"},		/* dd C_vallot	; vhere = vhere+8, stored at Vp 13344 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 13352 */
+	{.type Header, {.hdr { 8, "constant", /* C_constant = 13376 */ colon }}}, /* CENTRY "constant" constant 8 ; ( n -- ) do the same as variable but change the cfa to (constant) h 13384 */
+	{.type FromH0, {.p C_create}, .src = "dd C_create	; create dictionary header upto the cfa"},		/* dd C_create	; create dictionary header upto the cfa 13392 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13400 */
+	{.type FromH0, {.p M_constant}, .src = "dd M_constant"},		/* dd M_constant 13408 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch	; ( Contstantcfa -- (constant) )"},		/* dd M_fetch	; ( Contstantcfa -- (constant) ) 13416 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here	; ( (constant) -- (constant) here )"},		/* dd C_here	; ( (constant) -- (constant) here ) 13424 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13432 */
+	{.type Absolute, {.p 1}},		/* dd 1 13440 */
+	{.type FromH0, {.p C_cells}, .src = "dd C_cells	; ( (constant) here -- (constant) here 8 )"},		/* dd C_cells	; ( (constant) here -- (constant) here 8 ) 13448 */
+	{.type FromH0, {.p M_minus}, .src = "dd M_minus	; ( (constant) here 8 -- (constant) here-8 )"},		/* dd M_minus	; ( (constant) here 8 -- (constant) here-8 ) 13456 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store	; ( (constant) here-8 -- ) changed cfa from (variable) to (constant) "},		/* dd M_store	; ( (constant) here-8 -- ) changed cfa from (variable) to (constant)  13464 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma	; store n into the dictionary"},		/* dd C_comma	; store n into the dictionary 13472 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 13480 */
+	{.type Header, {.hdr { 9, "immediate", /* C_immediate = 13504 */ colon }}}, /* CENTRY "immediate" immediate 9 h 13512 */
+	{.type FromH0, {.p M_Dp}, .src = "dd M_Dp"},		/* dd M_Dp 13520 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 13528 */
+	{.type FromH0, {.p C_cellplus}, .src = "dd C_cellplus"},		/* dd C_cellplus 13536 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 13544 */
+	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 13552 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13560 */
+	{.type Absolute, {.p 128}},		/* dd 128 13568 */
+	{.type FromH0, {.p M_binor}, .src = "dd M_binor"},		/* dd M_binor 13576 */
+	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 13584 */
+	{.type FromH0, {.p M_cstore}, .src = "dd M_cstore"},		/* dd M_cstore 13592 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 13600 */
+	{.type Header, {.hdr { 4, ">cfa", /* C_tocfa = 13616 */ colon }}}, /* CENTRY ">cfa" tocfa 4 h 13624 */
+	{.type FromH0, {.p C_count}, .src = "dd C_count"},		/* dd C_count 13632 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13640 */
+	{.type Absolute, {.p 63}},		/* dd 63 13648 */
+	{.type FromH0, {.p M_binand}, .src = "dd M_binand"},		/* dd M_binand 13656 */
+	{.type FromH0, {.p M_plus}, .src = "dd M_plus"},		/* dd M_plus 13664 */
+	{.type FromH0, {.p C_aligned}, .src = "dd C_aligned"},		/* dd C_aligned 13672 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 13680 */
+	{.type Header, {.hdr { 7, "compile", /* C_compile = 13696 */ colon }}}, /* CENTRY "compile" compile 7 h 13704 */
+	{.type FromH0, {.p C_findname}, .src = "dd C_findname"},		/* dd C_findname 13712 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 13720 */
+	{.type FromH0, {.p L188}, .src = "dd L188"},		/* dd L188 13728 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 13736 */
+	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 13744 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13752 */
+	{.type Absolute, {.p 128}},		/* dd 128 13760 */
+	{.type FromH0, {.p M_binand}, .src = "dd M_binand"},		/* dd M_binand 13768 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 13776 */
+	{.type FromH0, {.p L189}, .src = "dd L189"},		/* dd L189 13784 */
+	{.type FromH0, {.p C_tocfa}, .src = "dd C_tocfa	; immediate"},		/* dd C_tocfa	; immediate 13792 */
+	{.type FromH0, {.p M_execute}, .src = "dd M_execute"},		/* dd M_execute 13800 */
+	{.type FromH0, {.p C_qstack}, .src = "dd C_qstack"},		/* dd C_qstack 13808 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 13816 */
+	{.type FromH0, {.p L190}, .src = "dd L190"},		/* dd L190 13824 */
+	{.type FromH0, {.p C_tocfa}, .src = "dd C_tocfa"},		/* dd C_tocfa 13832 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 13840 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 13848 */
+	{.type FromH0, {.p L191}, .src = "dd L191"},		/* dd L191 13856 */
+	{.type FromH0, {.p C_count}, .src = "dd C_count"},		/* dd C_count 13864 */
+	{.type FromH0, {.p C_number}, .src = "dd C_number"},		/* dd C_number 13872 */
+	{.type FromH0, {.p C_0eq}, .src = "dd C_0eq"},		/* dd C_0eq 13880 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 13888 */
+	{.type FromH0, {.p L192}, .src = "dd L192"},		/* dd L192 13896 */
+	{.type FromH0, {.p C_space}, .src = "dd C_space"},		/* dd C_space 13904 */
+	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 13912 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13920 */
+	{.type FromH0, {.p L193}, .src = "dd L193"},		/* dd L193 13928 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13936 */
+	{.type Absolute, {.p 3}},		/* dd 3 13944 */
+	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 13952 */
+	{.type FromH0, {.p C_cr}, .src = "dd C_cr"},		/* dd C_cr 13960 */
+	{.type FromH0, {.p C_abort}, .src = "dd C_abort"},		/* dd C_abort 13968 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 13976 */
+	{.type FromH0, {.p L194}, .src = "dd L194"},		/* dd L194 13984 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 13992 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 14000 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 14008 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 14016 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14024 */
+	{.type Header, {.hdr { 1, "]", /* C_close_bracket = 14040 */ colon }}}, /* CENTRY "]" close_bracket 1 h 14048 */
+	{.type FromH0, {.p MV_State}, .src = "dd MV_State"},		/* dd MV_State 14056 */
+	{.type FromH0, {.p C_on}, .src = "dd C_on"},		/* dd C_on 14064 */
+	{.type FromH0, {.p C_bl}, .src = "dd C_bl"},		/* dd C_bl 14072 */
+	{.type FromH0, {.p C_word}, .src = "dd C_word"},		/* dd C_word 14080 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 14088 */
+	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 14096 */
+	{.type FromH0, {.p C_0eq}, .src = "dd C_0eq"},		/* dd C_0eq 14104 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 14112 */
+	{.type FromH0, {.p L197}, .src = "dd L197"},		/* dd L197 14120 */
+	{.type FromH0, {.p M_drop}, .src = "dd M_drop"},		/* dd M_drop 14128 */
+	{.type FromH0, {.p C_refill}, .src = "dd C_refill	; no more refills when there is no Acceptvec. Is it a problem? did not dig through to figure out"},		/* dd C_refill	; no more refills when there is no Acceptvec. Is it a problem? did not dig through to figure out 14136 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 14144 */
+	{.type FromH0, {.p L198}, .src = "dd L198"},		/* dd L198 14152 */
+	{.type FromH0, {.p C_compile}, .src = "dd C_compile"},		/* dd C_compile 14160 */
+	{.type FromH0, {.p MV_State}, .src = "dd MV_State"},		/* dd MV_State 14168 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 14176 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 14184 */
+	{.type FromH0, {.p L199}, .src = "dd L199"},		/* dd L199 14192 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 14200 */
+	{.type FromH0, {.p L196}, .src = "dd L196"},		/* dd L196 14208 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14216 */
+	{.type IHeader, {.hdr { 1, "[", /* CI_open_bracket = 14232 */ colon }}}, /* CIENTRY "[" open_bracket 1 h 14240 */
+	{.type FromH0, {.p MV_State}, .src = "dd MV_State"},		/* dd MV_State 14248 */
+	{.type FromH0, {.p C_off}, .src = "dd C_off"},		/* dd C_off 14256 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14264 */
+	{.type Header, {.hdr { 6, "smudge", /* C_smudge = 14280 */ colon }}}, /* CENTRY "smudge" smudge 6 h 14288 */
+	{.type FromH0, {.p M_Dp}, .src = "dd M_Dp"},		/* dd M_Dp 14296 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 14304 */
+	{.type FromH0, {.p C_cellplus}, .src = "dd C_cellplus"},		/* dd C_cellplus 14312 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 14320 */
+	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 14328 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 14336 */
+	{.type Absolute, {.p 64}},		/* dd 64 14344 */
+	{.type FromH0, {.p M_binor}, .src = "dd M_binor"},		/* dd M_binor 14352 */
+	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 14360 */
+	{.type FromH0, {.p M_cstore}, .src = "dd M_cstore"},		/* dd M_cstore 14368 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14376 */
+	{.type Header, {.hdr { 6, "reveal", /* C_reveal = 14392 */ colon }}}, /* CENTRY "reveal" reveal 6 h 14400 */
+	{.type FromH0, {.p M_Dp}, .src = "dd M_Dp"},		/* dd M_Dp 14408 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 14416 */
+	{.type FromH0, {.p C_cellplus}, .src = "dd C_cellplus"},		/* dd C_cellplus 14424 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 14432 */
+	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 14440 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 14448 */
+	{.type Absolute, {.p 64}},		/* dd 64 14456 */
+	{.type FromH0, {.p C_invert}, .src = "dd C_invert"},		/* dd C_invert 14464 */
+	{.type FromH0, {.p M_binand}, .src = "dd M_binand"},		/* dd M_binand 14472 */
+	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 14480 */
+	{.type FromH0, {.p M_cstore}, .src = "dd M_cstore"},		/* dd M_cstore 14488 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14496 */
+	{.type Header, {.hdr { 1, ":", /* C_colon = 14512 */ colon }}}, /* CENTRY ":" colon 1 h 14520 */
+	{.type FromH0, {.p C_create}, .src = "dd C_create	; create a dictionary header with (variable) at cfa"},		/* dd C_create	; create a dictionary header with (variable) at cfa 14528 */
+	{.type FromH0, {.p C_smudge}, .src = "dd C_smudge"},		/* dd C_smudge 14536 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 14544 */
+	{.type FromH0, {.p M_colon}, .src = "dd M_colon"},		/* dd M_colon 14552 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch	; ( Coloncfa -- (colon) ) fetches the cfa of M_colon"},		/* dd M_fetch	; ( Coloncfa -- (colon) ) fetches the cfa of M_colon 14560 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here	; ( (colon) -- (colon) here )"},		/* dd C_here	; ( (colon) -- (colon) here ) 14568 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 14576 */
+	{.type Absolute, {.p 1}},		/* dd 1 14584 */
+	{.type FromH0, {.p C_cells}, .src = "dd C_cells"},		/* dd C_cells 14592 */
+	{.type FromH0, {.p M_minus}, .src = "dd M_minus	; ( (colon) here -- (colon) here-8 )"},		/* dd M_minus	; ( (colon) here -- (colon) here-8 ) 14600 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store	; ( (colon) here-8 -- ) change the cfa from (variable) to colon"},		/* dd M_store	; ( (colon) here-8 -- ) change the cfa from (variable) to colon 14608 */
+	{.type FromH0, {.p C_close_bracket}, .src = "dd C_close_bracket"},		/* dd C_close_bracket 14616 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14624 */
+	{.type IHeader, {.hdr { 1, ";", /* CI_semicolon = 14640 */ colon }}}, /* CIENTRY ";" semicolon 1 h 14648 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 14656 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14664 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 14672 */
+	{.type FromH0, {.p MV_State}, .src = "dd MV_State"},		/* dd MV_State 14680 */
+	{.type FromH0, {.p C_off}, .src = "dd C_off"},		/* dd C_off 14688 */
+	{.type FromH0, {.p C_reveal}, .src = "dd C_reveal"},		/* dd C_reveal 14696 */
 	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14704 */
-	{.type Header, {.hdr { 4, "char", /* C_char = 14720 */ colon }}}, /* CENTRY "char" char 4 ; ( -- c ) fetch the first character of the next word from input h 14728 */
-	{.type FromH0, {.p C_bl}, .src = "dd C_bl"},		/* dd C_bl 14736 */
-	{.type FromH0, {.p C_word}, .src = "dd C_word	; ( c -- a ) puts the address of the counted string from the input on the stack"},		/* dd C_word	; ( c -- a ) puts the address of the counted string from the input on the stack 14744 */
-	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus	; skip the count"},		/* dd C_1plus	; skip the count 14752 */
-	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch	; fetch the first character"},		/* dd M_cfetch	; fetch the first character 14760 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14768 */
-	{.type Header, {.hdr { 7, "literal", /* C_literal = 14784 */ colon }}}, /* CENTRY "literal" literal 7 ; ( n -- ) adds (literal) n to the dictionary h 14792 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 14800 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 14808 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 14816 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 14824 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14832 */
-	{.type Header, {.hdr { 8, "sliteral", /* C_sliteral = 14856 */ colon }}}, /* CENTRY "sliteral" sliteral 8 ; ( -- ) adds (sliteral) a n to the dictionary h 14864 */
+	{.type IHeader, {.hdr { 7, "recurse", /* CI_recurse = 14720 */ colon }}}, /* CIENTRY "recurse" recurse 7 h 14728 */
+	{.type FromH0, {.p M_Dp}, .src = "dd M_Dp"},		/* dd M_Dp 14736 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 14744 */
+	{.type FromH0, {.p C_cellplus}, .src = "dd C_cellplus"},		/* dd C_cellplus 14752 */
+	{.type FromH0, {.p C_tocfa}, .src = "dd C_tocfa"},		/* dd C_tocfa 14760 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 14768 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14776 */
+	{.type Header, {.hdr { 4, "char", /* C_char = 14792 */ colon }}}, /* CENTRY "char" char 4 ; ( -- c ) fetch the first character of the next word from input h 14800 */
+	{.type FromH0, {.p C_bl}, .src = "dd C_bl"},		/* dd C_bl 14808 */
+	{.type FromH0, {.p C_word}, .src = "dd C_word	; ( c -- a ) puts the address of the counted string from the input on the stack"},		/* dd C_word	; ( c -- a ) puts the address of the counted string from the input on the stack 14816 */
+	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus	; skip the count"},		/* dd C_1plus	; skip the count 14824 */
+	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch	; fetch the first character"},		/* dd M_cfetch	; fetch the first character 14832 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14840 */
+	{.type Header, {.hdr { 7, "literal", /* C_literal = 14856 */ colon }}}, /* CENTRY "literal" literal 7 ; ( n -- ) adds (literal) n to the dictionary h 14864 */
 	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 14872 */
-	{.type FromH0, {.p M_sliteral}, .src = "dd M_sliteral"},		/* dd M_sliteral 14880 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma	; adds (sliteral) to the dictionary"},		/* dd C_comma	; adds (sliteral) to the dictionary 14888 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here	; ( -- here)"},		/* dd C_here	; ( -- here) 14896 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 14904 */
-	{.type Absolute, {.p 34}},		/* dd 34		; ascii value of " 14912 */
-	{.type FromH0, {.p C_parse}, .src = "dd C_parse	; ( here \" -- here a ) \" = word delimiter. a = address of counted string (in Wordbuf)."},		/* dd C_parse	; ( here \" -- here a ) \" = word delimiter. a = address of counted string (in Wordbuf). 14920 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( here a -- here a a )"},		/* dd M_dup	; ( here a -- here a a ) 14928 */
-	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch	; ( here a a -- here a n )"},		/* dd M_cfetch	; ( here a a -- here a n ) 14936 */
-	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus	; ( here a n -- here a n+1 ) n+1 as 1 for the count and n for the length of the string"},		/* dd C_1plus	; ( here a n -- here a n+1 ) n+1 as 1 for the count and n for the length of the string 14944 */
-	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( here a n+1 -- here a ) (R -- n+1)"},		/* dd M_rpush	; ( here a n+1 -- here a ) (R -- n+1) 14952 */
-	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap	; ( here a -- a here ) (R -- n+1)"},		/* dd M_xswap	; ( here a -- a here ) (R -- n+1) 14960 */
-	{.type FromH0, {.p M_rfetch}, .src = "dd M_rfetch	; ( a here -- a here n+1 ) (R -- n+1 )"},		/* dd M_rfetch	; ( a here -- a here n+1 ) (R -- n+1 ) 14968 */
-	{.type FromH0, {.p M_cmove}, .src = "dd M_cmove	; ( a here n+1 -- ) moves n+1 from a to here"},		/* dd M_cmove	; ( a here n+1 -- ) moves n+1 from a to here 14976 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( -- n+1 ) (R -- )"},		/* dd M_rpop	; ( -- n+1 ) (R -- ) 14984 */
-	{.type FromH0, {.p C_allot}, .src = "dd C_allot	; ( n+1 -- ) here = here+n+1"},		/* dd C_allot	; ( n+1 -- ) here = here+n+1 14992 */
-	{.type FromH0, {.p C_align}, .src = "dd C_align	; align here"},		/* dd C_align	; align here 15000 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15008 */
-	{.type Header, {.hdr { 6, "string", /* C_string = 15024 */ colon }}}, /* CENTRY "string" string 6 ; ( c -- ) h 15032 */
-	{.type FromH0, {.p C_word}, .src = "dd C_word"},		/* dd C_word 15040 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 15048 */
-	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 15056 */
-	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus"},		/* dd C_1plus 15064 */
-	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush"},		/* dd M_rpush 15072 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 15080 */
-	{.type FromH0, {.p M_rfetch}, .src = "dd M_rfetch"},		/* dd M_rfetch 15088 */
-	{.type FromH0, {.p M_cmove}, .src = "dd M_cmove"},		/* dd M_cmove 15096 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop"},		/* dd M_rpop 15104 */
-	{.type FromH0, {.p C_allot}, .src = "dd C_allot"},		/* dd C_allot 15112 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15120 */
-	{.type IHeader, {.hdr { 6, "[char]", /* CI_char_brackets = 15136 */ colon }}}, /* CIENTRY "[char]" char_brackets 6 ; take the next character from the input stream during compilation h 15144 */
-	{.type FromH0, {.p C_bl}, .src = "dd C_bl"},		/* dd C_bl 15152 */
-	{.type FromH0, {.p C_word}, .src = "dd C_word"},		/* dd C_word 15160 */
-	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus"},		/* dd C_1plus 15168 */
-	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 15176 */
-	{.type FromH0, {.p C_literal}, .src = "dd C_literal"},		/* dd C_literal 15184 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 14880 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 14888 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 14896 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 14904 */
+	{.type Header, {.hdr { 8, "sliteral", /* C_sliteral = 14928 */ colon }}}, /* CENTRY "sliteral" sliteral 8 ; ( -- ) adds (sliteral) a n to the dictionary h 14936 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 14944 */
+	{.type FromH0, {.p M_sliteral}, .src = "dd M_sliteral"},		/* dd M_sliteral 14952 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma	; adds (sliteral) to the dictionary"},		/* dd C_comma	; adds (sliteral) to the dictionary 14960 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here	; ( -- here)"},		/* dd C_here	; ( -- here) 14968 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 14976 */
+	{.type Absolute, {.p 34}},		/* dd 34		; ascii value of " 14984 */
+	{.type FromH0, {.p C_parse}, .src = "dd C_parse	; ( here \" -- here a ) \" = word delimiter. a = address of counted string (in Wordbuf)."},		/* dd C_parse	; ( here \" -- here a ) \" = word delimiter. a = address of counted string (in Wordbuf). 14992 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( here a -- here a a )"},		/* dd M_dup	; ( here a -- here a a ) 15000 */
+	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch	; ( here a a -- here a n )"},		/* dd M_cfetch	; ( here a a -- here a n ) 15008 */
+	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus	; ( here a n -- here a n+1 ) n+1 as 1 for the count and n for the length of the string"},		/* dd C_1plus	; ( here a n -- here a n+1 ) n+1 as 1 for the count and n for the length of the string 15016 */
+	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( here a n+1 -- here a ) (R -- n+1)"},		/* dd M_rpush	; ( here a n+1 -- here a ) (R -- n+1) 15024 */
+	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap	; ( here a -- a here ) (R -- n+1)"},		/* dd M_xswap	; ( here a -- a here ) (R -- n+1) 15032 */
+	{.type FromH0, {.p M_rfetch}, .src = "dd M_rfetch	; ( a here -- a here n+1 ) (R -- n+1 )"},		/* dd M_rfetch	; ( a here -- a here n+1 ) (R -- n+1 ) 15040 */
+	{.type FromH0, {.p M_cmove}, .src = "dd M_cmove	; ( a here n+1 -- ) moves n+1 from a to here"},		/* dd M_cmove	; ( a here n+1 -- ) moves n+1 from a to here 15048 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( -- n+1 ) (R -- )"},		/* dd M_rpop	; ( -- n+1 ) (R -- ) 15056 */
+	{.type FromH0, {.p C_allot}, .src = "dd C_allot	; ( n+1 -- ) here = here+n+1"},		/* dd C_allot	; ( n+1 -- ) here = here+n+1 15064 */
+	{.type FromH0, {.p C_align}, .src = "dd C_align	; align here"},		/* dd C_align	; align here 15072 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15080 */
+	{.type Header, {.hdr { 6, "string", /* C_string = 15096 */ colon }}}, /* CENTRY "string" string 6 ; ( c -- ) h 15104 */
+	{.type FromH0, {.p C_word}, .src = "dd C_word"},		/* dd C_word 15112 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 15120 */
+	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 15128 */
+	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus"},		/* dd C_1plus 15136 */
+	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush"},		/* dd M_rpush 15144 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 15152 */
+	{.type FromH0, {.p M_rfetch}, .src = "dd M_rfetch"},		/* dd M_rfetch 15160 */
+	{.type FromH0, {.p M_cmove}, .src = "dd M_cmove"},		/* dd M_cmove 15168 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop"},		/* dd M_rpop 15176 */
+	{.type FromH0, {.p C_allot}, .src = "dd C_allot"},		/* dd C_allot 15184 */
 	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15192 */
-	{.type IHeader, {.hdr { 3, "[']", /* CI_quote_brackets = 15208 */ colon }}}, /* CIENTRY "[']" quote_brackets 3 ; take the address of next token from the input stream during compilation h 15216 */
-	{.type FromH0, {.p C_single_quote}, .src = "dd C_single_quote"},		/* dd C_single_quote 15224 */
-	{.type FromH0, {.p C_literal}, .src = "dd C_literal"},		/* dd C_literal 15232 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15240 */
-	{.type IHeader, {.hdr { 1, "(", /* CI_openparen = 15256 */ colon }}}, /* CIENTRY "(" openparen 1 ; ignore until ) from the input stream during compilation h 15264 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 15272 */
-	{.type Absolute, {.p 41}},		/* dd 41 15280 */
-	{.type FromH0, {.p C_parse}, .src = "dd C_parse"},		/* dd C_parse 15288 */
-	{.type FromH0, {.p M_drop}, .src = "dd M_drop"},		/* dd M_drop 15296 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15304 */
-/* ; if the line is longer than Tib, then skipping this line is not good enough. hence, throwing an error when >Limit == Tib length */	{.type IHeader, {.hdr { 1, "\\", /* CI_backslash = 15320 */ colon }}}, /* CIENTRY "\\" backslash 1 ; when there is no Acceptvec, find a newline in the buffer and skip until that h 15328 */
-	{.type FromH0, {.p MV_Acceptvec}, .src = "dd MV_Acceptvec"},		/* dd MV_Acceptvec 15336 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 15344 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 15352 */
-	{.type FromH0, {.p L214}, .src = "dd L214		; there is no Acceptvec, we are processing a buffer"},		/* dd L214		; there is no Acceptvec, we are processing a buffer 15360 */
-	{.type FromH0, {.p MV_toLimit}, .src = "dd MV_toLimit	; there is an Acceptvec, skip the rest of this line"},		/* dd MV_toLimit	; there is an Acceptvec, skip the rest of this line 15368 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 15376 */
-	{.type FromH0, {.p MV_toIn}, .src = "dd MV_toIn"},		/* dd MV_toIn 15384 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 15392 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15400 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 15408 */
-	{.type Absolute, {.p 10}},		/* dd 10 15416 */
-	{.type FromH0, {.p C_parse}, .src = "dd C_parse	; find the next 10 = LF character"},		/* dd C_parse	; find the next 10 = LF character 15424 */
-	{.type FromH0, {.p M_drop}, .src = "dd M_drop	; skip all characters not equal to 10"},		/* dd M_drop	; skip all characters not equal to 10 15432 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15440 */
-	{.type Header, {.hdr { 8, "(?abort)", /* C_qabort_parens = 15464 */ colon }}}, /* CENTRY "(?abort)" qabort_parens 8 h 15472 */
-	{.type FromH0, {.p MV_State}, .src = "dd MV_State"},		/* dd MV_State 15480 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 15488 */
-	{.type FromH0, {.p L217}, .src = "dd L217"},		/* dd L217 15496 */
-	{.type FromH0, {.p C_space}, .src = "dd C_space"},		/* dd C_space 15504 */
-	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 15512 */
-	{.type FromH0, {.p C_cr}, .src = "dd C_cr"},		/* dd C_cr 15520 */
-	{.type FromH0, {.p C_abort}, .src = "dd C_abort"},		/* dd C_abort 15528 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 15536 */
-	{.type FromH0, {.p L218}, .src = "dd L218"},		/* dd L218 15544 */
-	{.type FromH0, {.p C_2drop}, .src = "dd C_2drop"},		/* dd C_2drop 15552 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15560 */
-	{.type IHeader, {.hdr { 6, "abort\"", /* CI_abort_double_quote = 15576 */ colon }}}, /* CIENTRY "abort\"" abort_double_quote 6 h 15584 */
-	{.type FromH0, {.p C_sliteral}, .src = "dd C_sliteral"},		/* dd C_sliteral 15592 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 15600 */
-	{.type FromH0, {.p C_qabort_parens}, .src = "dd C_qabort_parens"},		/* dd C_qabort_parens 15608 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 15616 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15624 */
-	{.type Header, {.hdr { 1, "\"", /* C_double_quote = 15640 */ colon }}}, /* CENTRY "\"" double_quote 1 ; stores counted string in the dictionary and also leaves the address count of the string on the stack - used to use strings at the interpreter prompt h 15648 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 15656 */
-	{.type Absolute, {.p 34}},		/* dd 34 15664 */
-	{.type FromH0, {.p C_word}, .src = "dd C_word"},		/* dd C_word 15672 */
-	{.type FromH0, {.p C_count}, .src = "dd C_count"},		/* dd C_count 15680 */
-	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush"},		/* dd M_rpush 15688 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 15696 */
-	{.type FromH0, {.p M_rfetch}, .src = "dd M_rfetch"},		/* dd M_rfetch 15704 */
-	{.type FromH0, {.p M_cmove}, .src = "dd M_cmove"},		/* dd M_cmove 15712 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 15720 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop"},		/* dd M_rpop 15728 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 15736 */
-	{.type FromH0, {.p C_allot}, .src = "dd C_allot"},		/* dd C_allot 15744 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15752 */
-	{.type Header, {.hdr { 2, "c\"", /* C_cdouble_quote = 15768 */ colon }}}, /* CENTRY "c\"" cdouble_quote 2 ; stores counted string in the dictionary and also leaves the address of the counted string on the stack h 15776 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 15784 */
-	{.type Absolute, {.p 34}},		/* dd 34		; ( -- \" ) 15792 */
-	{.type FromH0, {.p C_word}, .src = "dd C_word	; ( \" -- a ) a = counted string address. a will be in Wordbuf"},		/* dd C_word	; ( \" -- a ) a = counted string address. a will be in Wordbuf 15800 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( a -- a a)"},		/* dd M_dup	; ( a -- a a) 15808 */
-	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch	; ( a a -- a n )"},		/* dd M_cfetch	; ( a a -- a n ) 15816 */
-	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus	; ( a n -- a n+1 )"},		/* dd C_1plus	; ( a n -- a n+1 ) 15824 */
-	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( a n -- a ) (R -- n+1)"},		/* dd M_rpush	; ( a n -- a ) (R -- n+1) 15832 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here	; ( a -- a here ) (R -- n+1)"},		/* dd C_here	; ( a -- a here ) (R -- n+1) 15840 */
-	{.type FromH0, {.p M_rfetch}, .src = "dd M_rfetch	; ( a here -- a here n+1) (R -- n+1)"},		/* dd M_rfetch	; ( a here -- a here n+1) (R -- n+1) 15848 */
-	{.type FromH0, {.p M_cmove}, .src = "dd M_cmove	; move counted string from a to here"},		/* dd M_cmove	; move counted string from a to here 15856 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here	; ( -- here )"},		/* dd C_here	; ( -- here ) 15864 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( here -- here n+1 )(R -- )"},		/* dd M_rpop	; ( here -- here n+1 )(R -- ) 15872 */
-	{.type FromH0, {.p C_allot}, .src = "dd C_allot	; ( here n+1 -- here) here += n+1"},		/* dd C_allot	; ( here n+1 -- here) here += n+1 15880 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15888 */
-	{.type IHeader, {.hdr { 2, "s\"", /* CI_sdouble_quote = 15904 */ colon }}}, /* CIENTRY "s\"" sdouble_quote 2 ; add the string from the input stream to the dictionary as (sliteral) count string - at run-time puts the ( -- addr n) of the counted string on the stack. h 15912 */
-	{.type FromH0, {.p C_sliteral}, .src = "dd C_sliteral"},		/* dd C_sliteral 15920 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15928 */
-	{.type IHeader, {.hdr { 2, ".\"", /* CI_dotstr = 15944 */ colon }}}, /* CIENTRY ".\"" dotstr 2 ; do what s" does and then add a type word to the dictionary to print that string h 15952 */
-	{.type FromH0, {.p C_sliteral}, .src = "dd C_sliteral"},		/* dd C_sliteral 15960 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 15968 */
-	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 15976 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 15984 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15992 */
-	{.type IHeader, {.hdr { 2, "if", /* CI_if = 16008 */ colon }}}, /* CIENTRY "if" if 2 h 16016 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16024 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 16032 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16040 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 16048 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16056 */
-	{.type Absolute, {.p 0}},		/* dd 0 16064 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16072 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16080 */
-	{.type IHeader, {.hdr { 4, "else", /* CI_else = 16096 */ colon }}}, /* CIENTRY "else" else 4 h 16104 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16112 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 16120 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16128 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 16136 */
-	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush"},		/* dd M_rpush 16144 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16152 */
-	{.type Absolute, {.p 0}},		/* dd 0 16160 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16168 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 16176 */
-	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 16184 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 16192 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop"},		/* dd M_rpop 16200 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16208 */
-	{.type IHeader, {.hdr { 4, "then", /* CI_then = 16224 */ colon }}}, /* CIENTRY "then" then 4 h 16232 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 16240 */
-	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 16248 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 16256 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16264 */
-	{.type IHeader, {.hdr { 5, "begin", /* CI_begin = 16280 */ colon }}}, /* CIENTRY "begin" begin 5 h 16288 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 16296 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16304 */
-	{.type IHeader, {.hdr { 5, "again", /* CI_again = 16320 */ colon }}}, /* CIENTRY "again" again 5 h 16328 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16336 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 16344 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16352 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16360 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16368 */
-	{.type IHeader, {.hdr { 5, "until", /* CI_until = 16384 */ colon }}}, /* CIENTRY "until" until 5 h 16392 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16400 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 16408 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16416 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16424 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16432 */
-	{.type IHeader, {.hdr { 5, "while", /* CI_while = 16448 */ colon }}}, /* CIENTRY "while" while 5 h 16456 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16464 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 16472 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16480 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 16488 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16496 */
-	{.type Absolute, {.p 0}},		/* dd 0 16504 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16512 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16520 */
-	{.type IHeader, {.hdr { 6, "repeat", /* CI_repeat = 16536 */ colon }}}, /* CIENTRY "repeat" repeat 6 h 16544 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16552 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 16560 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16568 */
-	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 16576 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16584 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 16592 */
-	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 16600 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 16608 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16616 */
-	{.type IHeader, {.hdr { 2, "do", /* CI_do = 16632 */ colon }}}, /* CIENTRY "do" do 2 h 16640 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16648 */
-	{.type FromH0, {.p M_doinit}, .src = "dd M_doinit		; compile this into the definition. Puts limit and index on the run stack at run time"},		/* dd M_doinit		; compile this into the definition. Puts limit and index on the run stack at run time 16656 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma		; puts (do) into the dictionary"},		/* dd C_comma		; puts (do) into the dictionary 16664 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16672 */
-	{.type Absolute, {.p 0}},		/* dd 0			; ( -- 0 ) 16680 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here		; ( 0 -- 0 here1 )"},		/* dd C_here		; ( 0 -- 0 here1 ) 16688 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16696 */
-	{.type IHeader, {.hdr { 4, "loop", /* CI_loop = 16712 */ colon }}}, /* CIENTRY "loop" loop 4 ; ( 0 here1 -- ) h 16720 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16728 */
-	{.type FromH0, {.p M_doloop}, .src = "dd M_doloop		; ( 0 here1 -- 0 here1 (loop) )"},		/* dd M_doloop		; ( 0 here1 -- 0 here1 (loop) ) 16736 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma		; dictionary has (do) ... (loop) ( 0 here1 (loop) -- 0 here1 )"},		/* dd C_comma		; dictionary has (do) ... (loop) ( 0 here1 (loop) -- 0 here1 ) 16744 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma		; dictionary has (do) ... (loop) here1 ( 0 here1 -- 0 )"},		/* dd C_comma		; dictionary has (do) ... (loop) here1 ( 0 here1 -- 0 ) 16752 */
-	{.type FromH0, {.p C_qdup}, .src = "dd C_qdup"},		/* dd C_qdup 16760 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 16768 */
-	{.type FromH0, {.p L234}, .src = "dd L234"},		/* dd L234 16776 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 16784 */
-	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 16792 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 16800 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16808 */
-	{.type IHeader, {.hdr { 5, "+loop", /* CI_ploop = 16824 */ colon }}}, /* CIENTRY "+loop" ploop 5 h 16832 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16840 */
-	{.type FromH0, {.p M_doploop}, .src = "dd M_doploop"},		/* dd M_doploop 16848 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16856 */
-	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16864 */
-	{.type FromH0, {.p C_qdup}, .src = "dd C_qdup"},		/* dd C_qdup 16872 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 16880 */
-	{.type FromH0, {.p L236}, .src = "dd L236"},		/* dd L236 16888 */
-	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 16896 */
-	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 16904 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 16912 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16920 */
-	{.type Header, {.hdr { 3, "w/o", /* C_wo = 16936 */ colon }}}, /* CENTRY "w/o" wo 3 h 16944 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16952 */
-	{.type Absolute, {.p 1}},		/* dd 1 16960 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16968 */
-	{.type Absolute, {.p 512}},		/* dd 512 16976 */
-	{.type FromH0, {.p M_binor}, .src = "dd M_binor"},		/* dd M_binor 16984 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16992 */
-	{.type Absolute, {.p 64}},		/* dd 64 17000 */
-	{.type FromH0, {.p M_binor}, .src = "dd M_binor"},		/* dd M_binor 17008 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 17016 */
-	{.type Header, {.hdr { 3, "r/o", /* C_ro = 17032 */ colon }}}, /* CENTRY "r/o" ro 3 h 17040 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17048 */
-	{.type Absolute, {.p 0}},		/* dd 0 17056 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 17064 */
-	{.type Header, {.hdr { 3, "r/w", /* C_rw = 17080 */ colon }}}, /* CENTRY "r/w" rw 3 h 17088 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17096 */
-	{.type Absolute, {.p 2}},		/* dd 2 17104 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 17112 */
-	{.type Header, {.hdr { 9, "open-file", /* C_open_file = 17136 */ colon }}}, /* CENTRY "open-file" open_file 9 ; ( a n mode -- fd ioresult ) h 17144 */
-	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( a n mode -- a n ) (R -- mode)"},		/* dd M_rpush	; ( a n mode -- a n ) (R -- mode) 17152 */
-	{.type FromH0, {.p C_pad}, .src = "dd C_pad	; ( a n -- a n padaddr)"},		/* dd C_pad	; ( a n -- a n padaddr) 17160 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17168 */
-	{.type Absolute, {.p 1024}},		/* dd 1024		; ( a n padaddr --  a n padaddr 1024 ) 17176 */
-	{.type FromH0, {.p M_plus}, .src = "dd M_plus	; ( a n padaddr+1024 --  a n padaddr+1024 )"},		/* dd M_plus	; ( a n padaddr+1024 --  a n padaddr+1024 ) 17184 */
-	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap	; ( a n padaddr+1024 --  a padaddr+1024 n )"},		/* dd M_xswap	; ( a n padaddr+1024 --  a padaddr+1024 n ) 17192 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( a padaddr+1024 n --  a padaddr+1024 n n )"},		/* dd M_dup	; ( a padaddr+1024 n --  a padaddr+1024 n n ) 17200 */
-	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( a padaddr+1024 n n --  a padaddr+1024 n ) (R mode -- mode n )"},		/* dd M_rpush	; ( a padaddr+1024 n n --  a padaddr+1024 n ) (R mode -- mode n ) 17208 */
-	{.type FromH0, {.p M_cmove}, .src = "dd M_cmove	; moves the filename from a to paddaddr+1024"},		/* dd M_cmove	; moves the filename from a to paddaddr+1024 17216 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17224 */
-	{.type Absolute, {.p 0}},		/* dd 0		; ( -- 0 ) 17232 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( 0 -- 0 n ) (R mode n -- mode)"},		/* dd M_rpop	; ( 0 -- 0 n ) (R mode n -- mode) 17240 */
-	{.type FromH0, {.p C_pad}, .src = "dd C_pad	; ( 0 n -- 0 n padaddr)"},		/* dd C_pad	; ( 0 n -- 0 n padaddr) 17248 */
-	{.type FromH0, {.p M_plus}, .src = "dd M_plus	; ( 0 n padaddr -- 0 padaddr+n )"},		/* dd M_plus	; ( 0 n padaddr -- 0 padaddr+n ) 17256 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17264 */
-	{.type Absolute, {.p 1024}},		/* dd 1024		; ( 0 padaddr+n --  0 padaddr+n 1024 ) 17272 */
-	{.type FromH0, {.p M_plus}, .src = "dd M_plus	; ( 0 padaddr+n 1024 --  0 padaddr+n+1024 )"},		/* dd M_plus	; ( 0 padaddr+n 1024 --  0 padaddr+n+1024 ) 17280 */
-	{.type FromH0, {.p M_cstore}, .src = "dd M_cstore	; ( 0 padaddr+n 1024 --   ) makes the filename to a null terminated string"},		/* dd M_cstore	; ( 0 padaddr+n 1024 --   ) makes the filename to a null terminated string 17288 */
-	{.type FromH0, {.p C_pad}, .src = "dd C_pad"},		/* dd C_pad 17296 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17304 */
-	{.type Absolute, {.p 1024}},		/* dd 1024		; ( -- padaddr 1024 ) 17312 */
-	{.type FromH0, {.p M_plus}, .src = "dd M_plus	; ( padaddr 1024 -- padaddr+1024 )"},		/* dd M_plus	; ( padaddr 1024 -- padaddr+1024 ) 17320 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( padaddr+1024 -- padaddr+1024 mode) (R mode -- )"},		/* dd M_rpop	; ( padaddr+1024 -- padaddr+1024 mode) (R mode -- ) 17328 */
-	{.type FromH0, {.p M_sysopen}, .src = "dd M_sysopen"},		/* dd M_sysopen 17336 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 17344 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17352 */
-	{.type Absolute, {.p -1}},		/* dd -1 17360 */
-	{.type FromH0, {.p M_greater}, .src = "dd M_greater"},		/* dd M_greater 17368 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 17376 */
-	{.type Header, {.hdr { 10, "close-file", /* C_close_file = 17400 */ colon }}}, /* CENTRY "close-file" close_file 10 ; ( fd -- ioresult ) h 17408 */
-	{.type FromH0, {.p M_sysclose}, .src = "dd M_sysclose"},		/* dd M_sysclose 17416 */
-	{.type FromH0, {.p C_0eq}, .src = "dd C_0eq"},		/* dd C_0eq 17424 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 17432 */
-	{.type Header, {.hdr { 9, "read-file", /* C_read_file = 17456 */ colon }}}, /* CENTRY "read-file" read_file 9 ; ( a n fd -- n2 ioresult ) h 17464 */
-	{.type FromH0, {.p C_rot}, .src = "dd C_rot	; ( n fd a )"},		/* dd C_rot	; ( n fd a ) 17472 */
-	{.type FromH0, {.p C_rot}, .src = "dd C_rot	; ( fd a n )"},		/* dd C_rot	; ( fd a n ) 17480 */
-	{.type FromH0, {.p M_sysread}, .src = "dd M_sysread"},		/* dd M_sysread 17488 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 17496 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17504 */
-	{.type Absolute, {.p -1}},		/* dd -1 17512 */
-	{.type FromH0, {.p C_neq}, .src = "dd C_neq"},		/* dd C_neq 17520 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 17528 */
-	{.type Header, {.hdr { 10, "write-file", /* C_write_file = 17552 */ colon }}}, /* CENTRY "write-file" write_file 10 ; ( a n fd -- ioresult ) h 17560 */
-	{.type FromH0, {.p C_rot}, .src = "dd C_rot	; ( n fd a )"},		/* dd C_rot	; ( n fd a ) 17568 */
-	{.type FromH0, {.p C_rot}, .src = "dd C_rot	; ( fd a n )"},		/* dd C_rot	; ( fd a n ) 17576 */
-	{.type FromH0, {.p M_syswrite}, .src = "dd M_syswrite"},		/* dd M_syswrite 17584 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17592 */
-	{.type Absolute, {.p -1}},		/* dd -1 17600 */
-	{.type FromH0, {.p C_neq}, .src = "dd C_neq"},		/* dd C_neq 17608 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 17616 */
-	{.type Header, {.hdr { 15, "reposition-file", /* C_reposition_file = 17640 */ colon }}}, /* CENTRY "reposition-file" reposition_file 15 ; ( type n fd -- ioresult ) h 17648 */
-	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap		; ( type fd n )"},		/* dd M_xswap		; ( type fd n ) 17656 */
-	{.type FromH0, {.p C_rot}, .src = "dd C_rot		; ( fd n type )"},		/* dd C_rot		; ( fd n type ) 17664 */
-	{.type FromH0, {.p M_sysseek}, .src = "dd M_sysseek"},		/* dd M_sysseek 17672 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17680 */
-	{.type Absolute, {.p -1}},		/* dd -1 17688 */
-	{.type FromH0, {.p C_neq}, .src = "dd C_neq"},		/* dd C_neq 17696 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 17704 */
-	{.type Header, {.hdr { 7, "?fcheck", /* C_qfcheck = 17720 */ colon }}}, /* CENTRY "?fcheck" qfcheck 7 h 17728 */
-	{.type FromH0, {.p C_0eq}, .src = "dd C_0eq"},		/* dd C_0eq 17736 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 17744 */
-	{.type FromH0, {.p L246}, .src = "dd L246"},		/* dd L246 17752 */
-	{.type FromH0, {.p C_space}, .src = "dd C_space"},		/* dd C_space 17760 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17768 */
-	{.type FromH0, {.p L247}, .src = "dd L247"},		/* dd L247 17776 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17784 */
-	{.type Absolute, {.p 9}},		/* dd 9 17792 */
-	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 17800 */
-	{.type FromH0, {.p C_cr}, .src = "dd C_cr"},		/* dd C_cr 17808 */
-	{.type FromH0, {.p C_abort}, .src = "dd C_abort"},		/* dd C_abort 17816 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 17824 */
-	{.type Header, {.hdr { 11, "create-file", /* C_create_file = 17848 */ colon }}}, /* CENTRY "create-file" create_file 11 ; ( a n mode perm -- fd ioresult ) not part of the original ff. could move this to a forth file. h 17856 */
-	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( a n mode ) (R perm)"},		/* dd M_rpush	; ( a n mode ) (R perm) 17864 */
-	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( a n ) (R perm mode)"},		/* dd M_rpush	; ( a n ) (R perm mode) 17872 */
-	{.type FromH0, {.p C_pad}, .src = "dd C_pad	; ( a n padaddr)"},		/* dd C_pad	; ( a n padaddr) 17880 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17888 */
-	{.type Absolute, {.p 1024}},		/* dd 1024		; ( a n padaddr 1024 ) 17896 */
-	{.type FromH0, {.p M_plus}, .src = "dd M_plus	; ( a n padaddr+1024 )"},		/* dd M_plus	; ( a n padaddr+1024 ) 17904 */
-	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap	; ( a padaddr+1024 n )"},		/* dd M_xswap	; ( a padaddr+1024 n ) 17912 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( a padaddr+1024 n n )"},		/* dd M_dup	; ( a padaddr+1024 n n ) 17920 */
-	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( a padaddr+1024 n ) (R perm mode n )"},		/* dd M_rpush	; ( a padaddr+1024 n ) (R perm mode n ) 17928 */
-	{.type FromH0, {.p M_cmove}, .src = "dd M_cmove	; moves the filename from a to paddaddr+1024"},		/* dd M_cmove	; moves the filename from a to paddaddr+1024 17936 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17944 */
-	{.type Absolute, {.p 0}},		/* dd 0		; ( 0 ) 17952 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( 0 n ) (R perm mode)"},		/* dd M_rpop	; ( 0 n ) (R perm mode) 17960 */
-	{.type FromH0, {.p C_pad}, .src = "dd C_pad	; ( 0 n padaddr)"},		/* dd C_pad	; ( 0 n padaddr) 17968 */
-	{.type FromH0, {.p M_plus}, .src = "dd M_plus	; ( 0 padaddr+n )"},		/* dd M_plus	; ( 0 padaddr+n ) 17976 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17984 */
-	{.type Absolute, {.p 1024}},		/* dd 1024		; ( 0 padaddr+n 1024 ) 17992 */
-	{.type FromH0, {.p M_plus}, .src = "dd M_plus	; ( 0 padaddr+n+1024 )"},		/* dd M_plus	; ( 0 padaddr+n+1024 ) 18000 */
-	{.type FromH0, {.p M_cstore}, .src = "dd M_cstore	; ( ) makes the filename to a null terminated string"},		/* dd M_cstore	; ( ) makes the filename to a null terminated string 18008 */
-	{.type FromH0, {.p C_pad}, .src = "dd C_pad"},		/* dd C_pad 18016 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18024 */
-	{.type Absolute, {.p 1024}},		/* dd 1024		; ( padaddr 1024 ) 18032 */
-	{.type FromH0, {.p M_plus}, .src = "dd M_plus	; ( padaddr+1024 )"},		/* dd M_plus	; ( padaddr+1024 ) 18040 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( padaddr+1024 mode) (R perm )"},		/* dd M_rpop	; ( padaddr+1024 mode) (R perm ) 18048 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( padaddr+1024 mode perm ) (R )"},		/* dd M_rpop	; ( padaddr+1024 mode perm ) (R ) 18056 */
-	{.type FromH0, {.p M_syscreate}, .src = "dd M_syscreate"},		/* dd M_syscreate 18064 */
-	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 18072 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18080 */
-	{.type Absolute, {.p -1}},		/* dd -1 18088 */
-	{.type FromH0, {.p M_greater}, .src = "dd M_greater"},		/* dd M_greater 18096 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 18104 */
-	{.type Header, {.hdr { 3, "bye", /* C_bye = 18120 */ colon }}}, /* CENTRY "bye" bye 3 h 18128 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18136 */
-	{.type Absolute, {.p 0}},		/* dd 0 18144 */
-	{.type FromH0, {.p M_terminate}, .src = "dd M_terminate"},		/* dd M_terminate 18152 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 18160 */
-	{.type Header, {.hdr { 7, "include", /* C_include = 18176 */ colon }}}, /* CENTRY "include" include 7 h 18184 */
-	{.type FromH0, {.p C_bl}, .src = "dd C_bl"},		/* dd C_bl 18192 */
-	{.type FromH0, {.p C_word}, .src = "dd C_word"},		/* dd C_word 18200 */
-	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush"},		/* dd M_rpush 18208 */
-	{.type FromH0, {.p MV_toLimit}, .src = "dd MV_toLimit"},		/* dd MV_toLimit 18216 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 18224 */
-	{.type FromH0, {.p MV_toIn}, .src = "dd MV_toIn"},		/* dd MV_toIn 18232 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 18240 */
-	{.type FromH0, {.p C_save_input}, .src = "dd C_save_input"},		/* dd C_save_input 18248 */
-	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop"},		/* dd M_rpop 18256 */
-	{.type FromH0, {.p C_count}, .src = "dd C_count"},		/* dd C_count 18264 */
-	{.type FromH0, {.p C_ro}, .src = "dd C_ro"},		/* dd C_ro 18272 */
-	{.type FromH0, {.p C_open_file}, .src = "dd C_open_file"},		/* dd C_open_file 18280 */
-	{.type FromH0, {.p C_qfcheck}, .src = "dd C_qfcheck"},		/* dd C_qfcheck 18288 */
-	{.type FromH0, {.p MV_Infd}, .src = "dd MV_Infd"},		/* dd MV_Infd 18296 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 18304 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 18312 */
-	{.type Header, {.hdr { 5, "crash", /* C_crash = 18328 */ colon }}}, /* CENTRY "crash" crash 5 h 18336 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18344 */
-	{.type FromH0, {.p L251}, .src = "dd L251"},		/* dd L251 18352 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18360 */
-	{.type Absolute, {.p 30}},		/* dd 30 18368 */
-	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 18376 */
-	{.type FromH0, {.p C_cr}, .src = "dd C_cr"},		/* dd C_cr 18384 */
-	{.type FromH0, {.p C_abort}, .src = "dd C_abort"},		/* dd C_abort 18392 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 18400 */
-	{.type Header, {.hdr { 4, "quit", /* C_quit = 18416 */ colon }}}, /* CENTRY "quit" quit 4 ; interpreter loop h 18424 */
-	{.type FromH0, {.p M_reset}, .src = "dd M_reset ; initialize return stack"},		/* dd M_reset ; initialize return stack 18432 */
-	{.type FromH0, {.p M_clear}, .src = "dd M_clear	; SP = sstack_end initialize data stack"},		/* dd M_clear	; SP = sstack_end initialize data stack 18440 */
-	{.type FromH0, {.p C_query}, .src = "dd C_query"},		/* dd C_query 18448 */
-/* ; dd MV_toLimit	; show the line read, for debugging *//* ; dd M_fetch *//* ; dd M_Tib *//* ; dd MC_STDOUT *//* ; dd M_fswrite *//* ; dd M_drop		; drop the return value of write *//* ; dd C_cr *//* ; dd C_space */	{.type FromH0, {.p C_interpret}, .src = "dd C_interpret"},		/* dd C_interpret 18456 */
-	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 18464 */
-	{.type FromH0, {.p L253}, .src = "dd L253"},		/* dd L253 18472 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon	; why is this needed?"},		/* dd M_exitcolon	; why is this needed? 18480 */
-	{.type Header, {.hdr { 7, "(abort)", /* C_parenabort = 18496 */ colon }}}, /* CENTRY "(abort)" parenabort 7 ; TODO correct below stack notations h 18504 */
-	{.type FromH0, {.p MV_State}, .src = "dd MV_State	; ( mv_State -- )"},		/* dd MV_State	; ( mv_State -- ) 18512 */
-	{.type FromH0, {.p C_off}, .src = "dd C_off	; off sets variable state = 0"},		/* dd C_off	; off sets variable state = 0 18520 */
-	{.type FromH0, {.p M_Tib}, .src = "dd M_Tib	; constant puts address of tibuffer on the top of stack"},		/* dd M_Tib	; constant puts address of tibuffer on the top of stack 18528 */
-	{.type FromH0, {.p MV_Sourcebuf}, .src = "dd MV_Sourcebuf	; variable sourcebuf"},		/* dd MV_Sourcebuf	; variable sourcebuf 18536 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store	; variable sourcebuf = address of tibuffer"},		/* dd M_store	; variable sourcebuf = address of tibuffer 18544 */
-	{.type FromH0, {.p MV_Acceptvec}, .src = "dd MV_Acceptvec"},		/* dd MV_Acceptvec 18552 */
-	{.type FromH0, {.p C_off}, .src = "dd C_off	; variable Acceptvec = 0"},		/* dd C_off	; variable Acceptvec = 0 18560 */
-	{.type FromH0, {.p MC_STDIN}, .src = "dd MC_STDIN"},		/* dd MC_STDIN 18568 */
-	{.type FromH0, {.p MV_Infd}, .src = "dd MV_Infd"},		/* dd MV_Infd 18576 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 18584 */
-	{.type FromH0, {.p MC_STDOUT}, .src = "dd MC_STDOUT"},		/* dd MC_STDOUT 18592 */
-	{.type FromH0, {.p MV_Outfd}, .src = "dd MV_Outfd"},		/* dd MV_Outfd 18600 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 18608 */
-	{.type FromH0, {.p MC_STDERR}, .src = "dd MC_STDERR"},		/* dd MC_STDERR 18616 */
-	{.type FromH0, {.p MV_Errfd}, .src = "dd MV_Errfd"},		/* dd MV_Errfd 18624 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 18632 */
-	{.type FromH0, {.p C_quit}, .src = "dd C_quit	; quit resets stacks and is the interpreter loop"},		/* dd C_quit	; quit resets stacks and is the interpreter loop 18640 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon	; why is this needed? quit does not return unless it breaks"},		/* dd M_exitcolon	; why is this needed? quit does not return unless it breaks 18648 */
-	{.type Header, {.hdr { 7, "oldboot", /* C_oldboot = 18664 */ colon }}}, /* CENTRY "oldboot" oldboot 7 ; TODO correct below stack notations and this is obsolete. leaving it here for reference until it all works well h 18672 */
-	{.type FromH0, {.p M_reset}, .src = "dd M_reset"},		/* dd M_reset 18680 */
-	{.type FromH0, {.p M_clear}, .src = "dd M_clear	; SP = sstack_end"},		/* dd M_clear	; SP = sstack_end 18688 */
-	{.type FromH0, {.p M_stackptr}, .src = "dd M_stackptr	; (D -- FFEND)"},		/* dd M_stackptr	; (D -- FFEND) 18696 */
-	{.type FromH0, {.p M_S0}, .src = "dd M_S0"},		/* dd M_S0 18704 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store	; s0 = FFEND"},		/* dd M_store	; s0 = FFEND 18712 */
-	{.type FromH0, {.p M_Dp}, .src = "dd M_Dp	; heaptop = heapend"},		/* dd M_Dp	; heaptop = heapend 18720 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch	; ( heapend -- )"},		/* dd M_fetch	; ( heapend -- ) 18728 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18736 */
-	{.type Absolute, {.p 1}},		/* dd 1		; ( heapend 1 -- ) 18744 */
-	{.type FromH0, {.p C_cells}, .src = "dd C_cells	; cells ( heapend 8 -- )"},		/* dd C_cells	; cells ( heapend 8 -- ) 18752 */
-	{.type FromH0, {.p M_minus}, .src = "dd M_minus	; ( heapend-8 -- )"},		/* dd M_minus	; ( heapend-8 -- ) 18760 */
-	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch	; ( contents_from_heapend-8 -- )"},		/* dd M_fetch	; ( contents_from_heapend-8 -- ) 18768 */
-	{.type FromH0, {.p M_Args}, .src = "dd M_Args	; variable args"},		/* dd M_Args	; variable args 18776 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store	; args = contents_from_heapend-8"},		/* dd M_store	; args = contents_from_heapend-8 18784 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18792 */
-	{.type FromH0, {.p C_parenabort}, .src = "dd C_parenabort ; ( (abort) -- )"},		/* dd C_parenabort ; ( (abort) -- ) 18800 */
-	{.type FromH0, {.p MV_Abortvec}, .src = "dd MV_Abortvec	; variable abortvec"},		/* dd MV_Abortvec	; variable abortvec 18808 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store	; variable abortvec = (abort) code address"},		/* dd M_store	; variable abortvec = (abort) code address 18816 */
-	{.type FromH0, {.p M_Wordb}, .src = "dd M_Wordb	; constant puts address of wordbuffer on the top of stack"},		/* dd M_Wordb	; constant puts address of wordbuffer on the top of stack 18824 */
-	{.type FromH0, {.p MV_Wordbuf}, .src = "dd MV_Wordbuf	; variable wordbuf"},		/* dd MV_Wordbuf	; variable wordbuf 18832 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store	; variable wordbuf = address of wordbuffer"},		/* dd M_store	; variable wordbuf = address of wordbuffer 18840 */
-	{.type FromH0, {.p M_Tib}, .src = "dd M_Tib	; constant puts address of tibuffer on the top of stack"},		/* dd M_Tib	; constant puts address of tibuffer on the top of stack 18848 */
-	{.type FromH0, {.p MV_Sourcebuf}, .src = "dd MV_Sourcebuf	; variable sourcebuf"},		/* dd MV_Sourcebuf	; variable sourcebuf 18856 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store	; variable sourcebuf = address of tibuffer"},		/* dd M_store	; variable sourcebuf = address of tibuffer 18864 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18872 */
-	{.type Absolute, {.p 0}},		/* dd 0 18880 */
-	{.type FromH0, {.p MV_Infd}, .src = "dd MV_Infd"},		/* dd MV_Infd 18888 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store	; stdin = 0"},		/* dd M_store	; stdin = 0 18896 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18904 */
-	{.type Absolute, {.p 1}},		/* dd 1 18912 */
-	{.type FromH0, {.p MV_Outfd}, .src = "dd MV_Outfd"},		/* dd MV_Outfd 18920 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store	; stdout = 1"},		/* dd M_store	; stdout = 1 18928 */
-	{.type FromH0, {.p MV_State}, .src = "dd MV_State"},		/* dd MV_State 18936 */
-	{.type FromH0, {.p C_off}, .src = "dd C_off	; off stores 0 at state"},		/* dd C_off	; off stores 0 at state 18944 */
-	{.type FromH0, {.p C_decimal}, .src = "dd C_decimal	; decimal setting base = 0"},		/* dd C_decimal	; decimal setting base = 0 18952 */
-	{.type FromH0, {.p C_quit}, .src = "dd C_quit	; quit"},		/* dd C_quit	; quit 18960 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 18968 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal	; test code"},		/* dd M_literal	; test code 18976 */
-	{.type Absolute, {.p 66}},		/* dd 66 18984 */
-	{.type FromH0, {.p M_Wordb}, .src = "dd M_Wordb"},		/* dd M_Wordb 18992 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 19000 */
-	{.type FromH0, {.p MC_STDOUT}, .src = "dd MC_STDOUT"},		/* dd MC_STDOUT 19008 */
-	{.type FromH0, {.p M_Wordb}, .src = "dd M_Wordb"},		/* dd M_Wordb 19016 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 19024 */
-	{.type Absolute, {.p 1}},		/* dd 1 19032 */
-	{.type FromH0, {.p M_syswrite}, .src = "dd M_syswrite"},		/* dd M_syswrite 19040 */
-	{.type FromH0, {.p M_drop}, .src = "dd M_drop		; drop the return value of write"},		/* dd M_drop		; drop the return value of write 19048 */
-	{.type FromH0, {.p MC_STDIN}, .src = "dd MC_STDIN"},		/* dd MC_STDIN 19056 */
-	{.type FromH0, {.p M_Wordb}, .src = "dd M_Wordb"},		/* dd M_Wordb 19064 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 19072 */
-	{.type Absolute, {.p 1}},		/* dd 1 19080 */
-	{.type FromH0, {.p M_sysread}, .src = "dd M_sysread"},		/* dd M_sysread 19088 */
-	{.type FromH0, {.p M_drop}, .src = "dd M_drop		; drop the return value of read"},		/* dd M_drop		; drop the return value of read 19096 */
-	{.type Header, {.hdr { 7, "do-args", /* C_do_args = 19112 */ colon }}}, /* CENTRY "do-args" do_args 7 h 19120 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 19128 */
-	{.type Absolute, {.p 0}},		/* dd 0 19136 */
-	{.type FromH0, {.p MV_Acceptvec}, .src = "dd MV_Acceptvec	; no more refills"},		/* dd MV_Acceptvec	; no more refills 19144 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store 	; C_off	; Acceptvec == 0, reading from a buffer. no more refills."},		/* dd M_store 	; C_off	; Acceptvec == 0, reading from a buffer. no more refills. 19152 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 19160 */
-	{.type Absolute, {.p 0}},		/* dd 0 19168 */
-	{.type FromH0, {.p MV_toIn}, .src = "dd MV_toIn"},		/* dd MV_toIn 19176 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store	; >in = 0"},		/* dd M_store	; >in = 0 19184 */
-	{.type FromH0, {.p M_Args}, .src = "dd M_Args	; ( a )"},		/* dd M_Args	; ( a ) 19192 */
-	{.type FromH0, {.p C_count}, .src = "dd C_count	; ( a+1 n )"},		/* dd C_count	; ( a+1 n ) 19200 */
-	{.type FromH0, {.p MV_toLimit}, .src = "dd MV_toLimit"},		/* dd MV_toLimit 19208 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store	; ( a+1 ) >limit = n"},		/* dd M_store	; ( a+1 ) >limit = n 19216 */
-	{.type FromH0, {.p MV_Sourcebuf}, .src = "dd MV_Sourcebuf"},		/* dd MV_Sourcebuf 19224 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store	; sourcebuf = a+1"},		/* dd M_store	; sourcebuf = a+1 19232 */
-	{.type FromH0, {.p C_interpret}, .src = "dd C_interpret"},		/* dd C_interpret 19240 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 19248 */
-	{.type Header, {.hdr { 4, "boot", /* C_boot = 19264 */ colon }}}, /* CENTRY "boot" boot 4 h 19272 */
-	{.type FromH0, {.p M_reset}, .src = "dd M_reset ; initialize return stack"},		/* dd M_reset ; initialize return stack 19280 */
-	{.type FromH0, {.p M_clear}, .src = "dd M_clear	; SP = sstack_end initialize data stack"},		/* dd M_clear	; SP = sstack_end initialize data stack 19288 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 19296 */
-	{.type FromH0, {.p C_parenabort}, .src = "dd C_parenabort ; ( (abort) -- )"},		/* dd C_parenabort ; ( (abort) -- ) 19304 */
-	{.type FromH0, {.p MV_Abortvec}, .src = "dd MV_Abortvec	; variable that puts (abort) code address on the stack"},		/* dd MV_Abortvec	; variable that puts (abort) code address on the stack 19312 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store	; variable abortvec = (abort) code address"},		/* dd M_store	; variable abortvec = (abort) code address 19320 */
-	{.type FromH0, {.p M_Wordb}, .src = "dd M_Wordb	; variable puts address of wordbuffer on the top of stack"},		/* dd M_Wordb	; variable puts address of wordbuffer on the top of stack 19328 */
-	{.type FromH0, {.p MV_Wordbuf}, .src = "dd MV_Wordbuf ; variable wordbuf"},		/* dd MV_Wordbuf ; variable wordbuf 19336 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store	; variable wordbuf = address of wordbuffer"},		/* dd M_store	; variable wordbuf = address of wordbuffer 19344 */
-	{.type FromH0, {.p M_Tib}, .src = "dd M_Tib	; constant puts address of tibuffer on the top of stack"},		/* dd M_Tib	; constant puts address of tibuffer on the top of stack 19352 */
-	{.type FromH0, {.p MV_Sourcebuf}, .src = "dd MV_Sourcebuf	; variable sourcebuf"},		/* dd MV_Sourcebuf	; variable sourcebuf 19360 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store	; variable sourcebuf = address of tibuffer"},		/* dd M_store	; variable sourcebuf = address of tibuffer 19368 */
-	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 19376 */
-	{.type FromH0, {.p C_accept_line}, .src = "dd C_accept_line	; could also use C_accept_key"},		/* dd C_accept_line	; could also use C_accept_key 19384 */
-	{.type FromH0, {.p MV_Acceptvec}, .src = "dd MV_Acceptvec"},		/* dd MV_Acceptvec 19392 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store 	; C_off	; Acceptvec = 0, use accept-key until changed"},		/* dd M_store 	; C_off	; Acceptvec = 0, use accept-key until changed 19400 */
-	{.type FromH0, {.p M_Dp}, .src = "dd M_Dp"},		/* dd M_Dp 19408 */
-	{.type FromH0, {.p MV_H0}, .src = "dd MV_H0	; H0 = here at startup"},		/* dd MV_H0	; H0 = here at startup 19416 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 19424 */
-	{.type FromH0, {.p MC_STDIN}, .src = "dd MC_STDIN"},		/* dd MC_STDIN 19432 */
-	{.type FromH0, {.p MV_Infd}, .src = "dd MV_Infd"},		/* dd MV_Infd 19440 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store	; stdin = 0"},		/* dd M_store	; stdin = 0 19448 */
-	{.type FromH0, {.p MC_STDOUT}, .src = "dd MC_STDOUT"},		/* dd MC_STDOUT 19456 */
-	{.type FromH0, {.p MV_Outfd}, .src = "dd MV_Outfd"},		/* dd MV_Outfd 19464 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 19472 */
-	{.type FromH0, {.p MC_STDERR}, .src = "dd MC_STDERR"},		/* dd MC_STDERR 19480 */
-	{.type FromH0, {.p MV_Errfd}, .src = "dd MV_Errfd"},		/* dd MV_Errfd 19488 */
-	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 19496 */
-	{.type FromH0, {.p MV_State}, .src = "dd MV_State"},		/* dd MV_State 19504 */
-	{.type FromH0, {.p C_off}, .src = "dd C_off	; off stores 0 at state"},		/* dd C_off	; off stores 0 at state 19512 */
-	{.type FromH0, {.p C_decimal}, .src = "dd C_decimal	; decimal sets base = 10"},		/* dd C_decimal	; decimal sets base = 10 19520 */
-	{.type FromH0, {.p M_Args}, .src = "dd M_Args"},		/* dd M_Args 19528 */
-	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 19536 */
-	{.type FromH0, {.p C_0eq}, .src = "dd C_0eq"},		/* dd C_0eq 19544 */
-	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 19552 */
-	{.type FromH0, {.p C_do_args}, .src = "dd C_do_args ; process args"},		/* dd C_do_args ; process args 19560 */
-	{.type FromH0, {.p C_quit}, .src = "dd C_quit	; interpreter loop when there are no args or fall through after processing args"},		/* dd C_quit	; interpreter loop when there are no args or fall through after processing args 19568 */
-	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 19576 */
-	{.type Chars, {.str "unable to restore input"}},		/* 19600 */
-	{.type Chars, {.str " Q?"}},		/* 19604 */
-	{.type Chars, {.str " stack underflow"}},		/* 19621 */
-	{.type Chars, {.str " I?"}},		/* 19625 */
-	{.type Chars, {.str " C?"}},		/* 19629 */
-	{.type Chars, {.str "I/O error"}},		/* 19639 */
-	{.type Chars, {.str "uninitialized execution vector"}},		/* 19670 */
-	{.type Chars, {.str " ok"}},		/* 19674 */
-	{.type Chars, {.str "input line is longer than 4096 bytes"}},		/* 19711 */
-	{.type Chars, {.str "read error"}},		/* 19722 */
+	{.type IHeader, {.hdr { 6, "[char]", /* CI_char_brackets = 15208 */ colon }}}, /* CIENTRY "[char]" char_brackets 6 ; take the next character from the input stream during compilation h 15216 */
+	{.type FromH0, {.p C_bl}, .src = "dd C_bl"},		/* dd C_bl 15224 */
+	{.type FromH0, {.p C_word}, .src = "dd C_word"},		/* dd C_word 15232 */
+	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus"},		/* dd C_1plus 15240 */
+	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 15248 */
+	{.type FromH0, {.p C_literal}, .src = "dd C_literal"},		/* dd C_literal 15256 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15264 */
+	{.type IHeader, {.hdr { 3, "[']", /* CI_quote_brackets = 15280 */ colon }}}, /* CIENTRY "[']" quote_brackets 3 ; take the address of next token from the input stream during compilation h 15288 */
+	{.type FromH0, {.p C_single_quote}, .src = "dd C_single_quote"},		/* dd C_single_quote 15296 */
+	{.type FromH0, {.p C_literal}, .src = "dd C_literal"},		/* dd C_literal 15304 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15312 */
+	{.type IHeader, {.hdr { 1, "(", /* CI_openparen = 15328 */ colon }}}, /* CIENTRY "(" openparen 1 ; ignore until ) from the input stream during compilation h 15336 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 15344 */
+	{.type Absolute, {.p 41}},		/* dd 41 15352 */
+	{.type FromH0, {.p C_parse}, .src = "dd C_parse"},		/* dd C_parse 15360 */
+	{.type FromH0, {.p M_drop}, .src = "dd M_drop"},		/* dd M_drop 15368 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15376 */
+/* ; if the line is longer than Tib, then skipping this line is not good enough. hence, throwing an error when >Limit == Tib length */	{.type IHeader, {.hdr { 1, "\\", /* CI_backslash = 15392 */ colon }}}, /* CIENTRY "\\" backslash 1 ; when there is no Acceptvec, find a newline in the buffer and skip until that h 15400 */
+	{.type FromH0, {.p MV_Acceptvec}, .src = "dd MV_Acceptvec"},		/* dd MV_Acceptvec 15408 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 15416 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 15424 */
+	{.type FromH0, {.p L214}, .src = "dd L214		; there is no Acceptvec, we are processing a buffer"},		/* dd L214		; there is no Acceptvec, we are processing a buffer 15432 */
+	{.type FromH0, {.p MV_toLimit}, .src = "dd MV_toLimit	; there is an Acceptvec, skip the rest of this line"},		/* dd MV_toLimit	; there is an Acceptvec, skip the rest of this line 15440 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 15448 */
+	{.type FromH0, {.p MV_toIn}, .src = "dd MV_toIn"},		/* dd MV_toIn 15456 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 15464 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15472 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 15480 */
+	{.type Absolute, {.p 10}},		/* dd 10 15488 */
+	{.type FromH0, {.p C_parse}, .src = "dd C_parse	; find the next 10 = LF character"},		/* dd C_parse	; find the next 10 = LF character 15496 */
+	{.type FromH0, {.p M_drop}, .src = "dd M_drop	; skip all characters not equal to 10"},		/* dd M_drop	; skip all characters not equal to 10 15504 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15512 */
+	{.type Header, {.hdr { 8, "(?abort)", /* C_qabort_parens = 15536 */ colon }}}, /* CENTRY "(?abort)" qabort_parens 8 h 15544 */
+	{.type FromH0, {.p MV_State}, .src = "dd MV_State"},		/* dd MV_State 15552 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 15560 */
+	{.type FromH0, {.p L217}, .src = "dd L217"},		/* dd L217 15568 */
+	{.type FromH0, {.p C_space}, .src = "dd C_space"},		/* dd C_space 15576 */
+	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 15584 */
+	{.type FromH0, {.p C_cr}, .src = "dd C_cr"},		/* dd C_cr 15592 */
+	{.type FromH0, {.p C_abort}, .src = "dd C_abort"},		/* dd C_abort 15600 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 15608 */
+	{.type FromH0, {.p L218}, .src = "dd L218"},		/* dd L218 15616 */
+	{.type FromH0, {.p C_2drop}, .src = "dd C_2drop"},		/* dd C_2drop 15624 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15632 */
+	{.type IHeader, {.hdr { 6, "abort\"", /* CI_abort_double_quote = 15648 */ colon }}}, /* CIENTRY "abort\"" abort_double_quote 6 h 15656 */
+	{.type FromH0, {.p C_sliteral}, .src = "dd C_sliteral"},		/* dd C_sliteral 15664 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 15672 */
+	{.type FromH0, {.p C_qabort_parens}, .src = "dd C_qabort_parens"},		/* dd C_qabort_parens 15680 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 15688 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15696 */
+	{.type Header, {.hdr { 1, "\"", /* C_double_quote = 15712 */ colon }}}, /* CENTRY "\"" double_quote 1 ; stores counted string in the dictionary and also leaves the address count of the string on the stack - used to use strings at the interpreter prompt h 15720 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 15728 */
+	{.type Absolute, {.p 34}},		/* dd 34 15736 */
+	{.type FromH0, {.p C_word}, .src = "dd C_word"},		/* dd C_word 15744 */
+	{.type FromH0, {.p C_count}, .src = "dd C_count"},		/* dd C_count 15752 */
+	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush"},		/* dd M_rpush 15760 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 15768 */
+	{.type FromH0, {.p M_rfetch}, .src = "dd M_rfetch"},		/* dd M_rfetch 15776 */
+	{.type FromH0, {.p M_cmove}, .src = "dd M_cmove"},		/* dd M_cmove 15784 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 15792 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop"},		/* dd M_rpop 15800 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 15808 */
+	{.type FromH0, {.p C_allot}, .src = "dd C_allot"},		/* dd C_allot 15816 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15824 */
+	{.type Header, {.hdr { 2, "c\"", /* C_cdouble_quote = 15840 */ colon }}}, /* CENTRY "c\"" cdouble_quote 2 ; stores counted string in the dictionary and also leaves the address of the counted string on the stack h 15848 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 15856 */
+	{.type Absolute, {.p 34}},		/* dd 34		; ( -- \" ) 15864 */
+	{.type FromH0, {.p C_word}, .src = "dd C_word	; ( \" -- a ) a = counted string address. a will be in Wordbuf"},		/* dd C_word	; ( \" -- a ) a = counted string address. a will be in Wordbuf 15872 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( a -- a a)"},		/* dd M_dup	; ( a -- a a) 15880 */
+	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch	; ( a a -- a n )"},		/* dd M_cfetch	; ( a a -- a n ) 15888 */
+	{.type FromH0, {.p C_1plus}, .src = "dd C_1plus	; ( a n -- a n+1 )"},		/* dd C_1plus	; ( a n -- a n+1 ) 15896 */
+	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( a n -- a ) (R -- n+1)"},		/* dd M_rpush	; ( a n -- a ) (R -- n+1) 15904 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here	; ( a -- a here ) (R -- n+1)"},		/* dd C_here	; ( a -- a here ) (R -- n+1) 15912 */
+	{.type FromH0, {.p M_rfetch}, .src = "dd M_rfetch	; ( a here -- a here n+1) (R -- n+1)"},		/* dd M_rfetch	; ( a here -- a here n+1) (R -- n+1) 15920 */
+	{.type FromH0, {.p M_cmove}, .src = "dd M_cmove	; move counted string from a to here"},		/* dd M_cmove	; move counted string from a to here 15928 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here	; ( -- here )"},		/* dd C_here	; ( -- here ) 15936 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( here -- here n+1 )(R -- )"},		/* dd M_rpop	; ( here -- here n+1 )(R -- ) 15944 */
+	{.type FromH0, {.p C_allot}, .src = "dd C_allot	; ( here n+1 -- here) here += n+1"},		/* dd C_allot	; ( here n+1 -- here) here += n+1 15952 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 15960 */
+	{.type IHeader, {.hdr { 2, "s\"", /* CI_sdouble_quote = 15976 */ colon }}}, /* CIENTRY "s\"" sdouble_quote 2 ; add the string from the input stream to the dictionary as (sliteral) count string - at run-time puts the ( -- addr n) of the counted string on the stack. h 15984 */
+	{.type FromH0, {.p C_sliteral}, .src = "dd C_sliteral"},		/* dd C_sliteral 15992 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16000 */
+	{.type IHeader, {.hdr { 2, ".\"", /* CI_dotstr = 16016 */ colon }}}, /* CIENTRY ".\"" dotstr 2 ; do what s" does and then add a type word to the dictionary to print that string h 16024 */
+	{.type FromH0, {.p C_sliteral}, .src = "dd C_sliteral"},		/* dd C_sliteral 16032 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16040 */
+	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 16048 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16056 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16064 */
+	{.type IHeader, {.hdr { 2, "if", /* CI_if = 16080 */ colon }}}, /* CIENTRY "if" if 2 h 16088 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16096 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 16104 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16112 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 16120 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16128 */
+	{.type Absolute, {.p 0}},		/* dd 0 16136 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16144 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16152 */
+	{.type IHeader, {.hdr { 4, "else", /* CI_else = 16168 */ colon }}}, /* CIENTRY "else" else 4 h 16176 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16184 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 16192 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16200 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 16208 */
+	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush"},		/* dd M_rpush 16216 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16224 */
+	{.type Absolute, {.p 0}},		/* dd 0 16232 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16240 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 16248 */
+	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 16256 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 16264 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop"},		/* dd M_rpop 16272 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16280 */
+	{.type IHeader, {.hdr { 4, "then", /* CI_then = 16296 */ colon }}}, /* CIENTRY "then" then 4 h 16304 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 16312 */
+	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 16320 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 16328 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16336 */
+	{.type IHeader, {.hdr { 5, "begin", /* CI_begin = 16352 */ colon }}}, /* CIENTRY "begin" begin 5 h 16360 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 16368 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16376 */
+	{.type IHeader, {.hdr { 5, "again", /* CI_again = 16392 */ colon }}}, /* CIENTRY "again" again 5 h 16400 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16408 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 16416 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16424 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16432 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16440 */
+	{.type IHeader, {.hdr { 5, "until", /* CI_until = 16456 */ colon }}}, /* CIENTRY "until" until 5 h 16464 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16472 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 16480 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16488 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16496 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16504 */
+	{.type IHeader, {.hdr { 5, "while", /* CI_while = 16520 */ colon }}}, /* CIENTRY "while" while 5 h 16528 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16536 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 16544 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16552 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 16560 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16568 */
+	{.type Absolute, {.p 0}},		/* dd 0 16576 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16584 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16592 */
+	{.type IHeader, {.hdr { 6, "repeat", /* CI_repeat = 16608 */ colon }}}, /* CIENTRY "repeat" repeat 6 h 16616 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16624 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 16632 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16640 */
+	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 16648 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16656 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 16664 */
+	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 16672 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 16680 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16688 */
+	{.type IHeader, {.hdr { 2, "do", /* CI_do = 16704 */ colon }}}, /* CIENTRY "do" do 2 h 16712 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16720 */
+	{.type FromH0, {.p M_doinit}, .src = "dd M_doinit		; compile this into the definition. Puts limit and index on the run stack at run time"},		/* dd M_doinit		; compile this into the definition. Puts limit and index on the run stack at run time 16728 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma		; puts (do) into the dictionary"},		/* dd C_comma		; puts (do) into the dictionary 16736 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16744 */
+	{.type Absolute, {.p 0}},		/* dd 0			; ( -- 0 ) 16752 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here		; ( 0 -- 0 here1 )"},		/* dd C_here		; ( 0 -- 0 here1 ) 16760 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16768 */
+	{.type IHeader, {.hdr { 4, "loop", /* CI_loop = 16784 */ colon }}}, /* CIENTRY "loop" loop 4 ; ( 0 here1 -- ) h 16792 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16800 */
+	{.type FromH0, {.p M_doloop}, .src = "dd M_doloop		; ( 0 here1 -- 0 here1 (loop) )"},		/* dd M_doloop		; ( 0 here1 -- 0 here1 (loop) ) 16808 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma		; dictionary has (do) ... (loop) ( 0 here1 (loop) -- 0 here1 )"},		/* dd C_comma		; dictionary has (do) ... (loop) ( 0 here1 (loop) -- 0 here1 ) 16816 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma		; dictionary has (do) ... (loop) here1 ( 0 here1 -- 0 )"},		/* dd C_comma		; dictionary has (do) ... (loop) here1 ( 0 here1 -- 0 ) 16824 */
+	{.type FromH0, {.p C_qdup}, .src = "dd C_qdup"},		/* dd C_qdup 16832 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 16840 */
+	{.type FromH0, {.p L234}, .src = "dd L234"},		/* dd L234 16848 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 16856 */
+	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 16864 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 16872 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16880 */
+	{.type IHeader, {.hdr { 5, "+loop", /* CI_ploop = 16896 */ colon }}}, /* CIENTRY "+loop" ploop 5 h 16904 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 16912 */
+	{.type FromH0, {.p M_doploop}, .src = "dd M_doploop"},		/* dd M_doploop 16920 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16928 */
+	{.type FromH0, {.p C_comma}, .src = "dd C_comma"},		/* dd C_comma 16936 */
+	{.type FromH0, {.p C_qdup}, .src = "dd C_qdup"},		/* dd C_qdup 16944 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 16952 */
+	{.type FromH0, {.p L236}, .src = "dd L236"},		/* dd L236 16960 */
+	{.type FromH0, {.p C_here}, .src = "dd C_here"},		/* dd C_here 16968 */
+	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap"},		/* dd M_xswap 16976 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 16984 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 16992 */
+	{.type Header, {.hdr { 3, "w/o", /* C_wo = 17008 */ colon }}}, /* CENTRY "w/o" wo 3 h 17016 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17024 */
+	{.type Absolute, {.p 1}},		/* dd 1 17032 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17040 */
+	{.type Absolute, {.p 512}},		/* dd 512 17048 */
+	{.type FromH0, {.p M_binor}, .src = "dd M_binor"},		/* dd M_binor 17056 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17064 */
+	{.type Absolute, {.p 64}},		/* dd 64 17072 */
+	{.type FromH0, {.p M_binor}, .src = "dd M_binor"},		/* dd M_binor 17080 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 17088 */
+	{.type Header, {.hdr { 3, "r/o", /* C_ro = 17104 */ colon }}}, /* CENTRY "r/o" ro 3 h 17112 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17120 */
+	{.type Absolute, {.p 0}},		/* dd 0 17128 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 17136 */
+	{.type Header, {.hdr { 3, "r/w", /* C_rw = 17152 */ colon }}}, /* CENTRY "r/w" rw 3 h 17160 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17168 */
+	{.type Absolute, {.p 2}},		/* dd 2 17176 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 17184 */
+	{.type Header, {.hdr { 9, "open-file", /* C_open_file = 17208 */ colon }}}, /* CENTRY "open-file" open_file 9 ; ( a n mode -- fd ioresult ) h 17216 */
+	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( a n mode -- a n ) (R -- mode)"},		/* dd M_rpush	; ( a n mode -- a n ) (R -- mode) 17224 */
+	{.type FromH0, {.p C_pad}, .src = "dd C_pad	; ( a n -- a n padaddr)"},		/* dd C_pad	; ( a n -- a n padaddr) 17232 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17240 */
+	{.type Absolute, {.p 1024}},		/* dd 1024		; ( a n padaddr --  a n padaddr 1024 ) 17248 */
+	{.type FromH0, {.p M_plus}, .src = "dd M_plus	; ( a n padaddr+1024 --  a n padaddr+1024 )"},		/* dd M_plus	; ( a n padaddr+1024 --  a n padaddr+1024 ) 17256 */
+	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap	; ( a n padaddr+1024 --  a padaddr+1024 n )"},		/* dd M_xswap	; ( a n padaddr+1024 --  a padaddr+1024 n ) 17264 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( a padaddr+1024 n --  a padaddr+1024 n n )"},		/* dd M_dup	; ( a padaddr+1024 n --  a padaddr+1024 n n ) 17272 */
+	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( a padaddr+1024 n n --  a padaddr+1024 n ) (R mode -- mode n )"},		/* dd M_rpush	; ( a padaddr+1024 n n --  a padaddr+1024 n ) (R mode -- mode n ) 17280 */
+	{.type FromH0, {.p M_cmove}, .src = "dd M_cmove	; moves the filename from a to paddaddr+1024"},		/* dd M_cmove	; moves the filename from a to paddaddr+1024 17288 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17296 */
+	{.type Absolute, {.p 0}},		/* dd 0		; ( -- 0 ) 17304 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( 0 -- 0 n ) (R mode n -- mode)"},		/* dd M_rpop	; ( 0 -- 0 n ) (R mode n -- mode) 17312 */
+	{.type FromH0, {.p C_pad}, .src = "dd C_pad	; ( 0 n -- 0 n padaddr)"},		/* dd C_pad	; ( 0 n -- 0 n padaddr) 17320 */
+	{.type FromH0, {.p M_plus}, .src = "dd M_plus	; ( 0 n padaddr -- 0 padaddr+n )"},		/* dd M_plus	; ( 0 n padaddr -- 0 padaddr+n ) 17328 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17336 */
+	{.type Absolute, {.p 1024}},		/* dd 1024		; ( 0 padaddr+n --  0 padaddr+n 1024 ) 17344 */
+	{.type FromH0, {.p M_plus}, .src = "dd M_plus	; ( 0 padaddr+n 1024 --  0 padaddr+n+1024 )"},		/* dd M_plus	; ( 0 padaddr+n 1024 --  0 padaddr+n+1024 ) 17352 */
+	{.type FromH0, {.p M_cstore}, .src = "dd M_cstore	; ( 0 padaddr+n 1024 --   ) makes the filename to a null terminated string"},		/* dd M_cstore	; ( 0 padaddr+n 1024 --   ) makes the filename to a null terminated string 17360 */
+	{.type FromH0, {.p C_pad}, .src = "dd C_pad"},		/* dd C_pad 17368 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17376 */
+	{.type Absolute, {.p 1024}},		/* dd 1024		; ( -- padaddr 1024 ) 17384 */
+	{.type FromH0, {.p M_plus}, .src = "dd M_plus	; ( padaddr 1024 -- padaddr+1024 )"},		/* dd M_plus	; ( padaddr 1024 -- padaddr+1024 ) 17392 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( padaddr+1024 -- padaddr+1024 mode) (R mode -- )"},		/* dd M_rpop	; ( padaddr+1024 -- padaddr+1024 mode) (R mode -- ) 17400 */
+	{.type FromH0, {.p M_sysopen}, .src = "dd M_sysopen"},		/* dd M_sysopen 17408 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 17416 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17424 */
+	{.type Absolute, {.p -1}},		/* dd -1 17432 */
+	{.type FromH0, {.p M_greater}, .src = "dd M_greater"},		/* dd M_greater 17440 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 17448 */
+	{.type Header, {.hdr { 10, "close-file", /* C_close_file = 17472 */ colon }}}, /* CENTRY "close-file" close_file 10 ; ( fd -- ioresult ) h 17480 */
+	{.type FromH0, {.p M_sysclose}, .src = "dd M_sysclose"},		/* dd M_sysclose 17488 */
+	{.type FromH0, {.p C_0eq}, .src = "dd C_0eq"},		/* dd C_0eq 17496 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 17504 */
+	{.type Header, {.hdr { 9, "read-file", /* C_read_file = 17528 */ colon }}}, /* CENTRY "read-file" read_file 9 ; ( a n fd -- n2 ioresult ) h 17536 */
+	{.type FromH0, {.p C_rot}, .src = "dd C_rot	; ( n fd a )"},		/* dd C_rot	; ( n fd a ) 17544 */
+	{.type FromH0, {.p C_rot}, .src = "dd C_rot	; ( fd a n )"},		/* dd C_rot	; ( fd a n ) 17552 */
+	{.type FromH0, {.p M_sysread}, .src = "dd M_sysread"},		/* dd M_sysread 17560 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 17568 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17576 */
+	{.type Absolute, {.p -1}},		/* dd -1 17584 */
+	{.type FromH0, {.p C_neq}, .src = "dd C_neq"},		/* dd C_neq 17592 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 17600 */
+	{.type Header, {.hdr { 10, "write-file", /* C_write_file = 17624 */ colon }}}, /* CENTRY "write-file" write_file 10 ; ( a n fd -- ioresult ) h 17632 */
+	{.type FromH0, {.p C_rot}, .src = "dd C_rot	; ( n fd a )"},		/* dd C_rot	; ( n fd a ) 17640 */
+	{.type FromH0, {.p C_rot}, .src = "dd C_rot	; ( fd a n )"},		/* dd C_rot	; ( fd a n ) 17648 */
+	{.type FromH0, {.p M_syswrite}, .src = "dd M_syswrite"},		/* dd M_syswrite 17656 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17664 */
+	{.type Absolute, {.p -1}},		/* dd -1 17672 */
+	{.type FromH0, {.p C_neq}, .src = "dd C_neq"},		/* dd C_neq 17680 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 17688 */
+	{.type Header, {.hdr { 15, "reposition-file", /* C_reposition_file = 17712 */ colon }}}, /* CENTRY "reposition-file" reposition_file 15 ; ( type n fd -- ioresult ) h 17720 */
+	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap		; ( type fd n )"},		/* dd M_xswap		; ( type fd n ) 17728 */
+	{.type FromH0, {.p C_rot}, .src = "dd C_rot		; ( fd n type )"},		/* dd C_rot		; ( fd n type ) 17736 */
+	{.type FromH0, {.p M_sysseek}, .src = "dd M_sysseek"},		/* dd M_sysseek 17744 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17752 */
+	{.type Absolute, {.p -1}},		/* dd -1 17760 */
+	{.type FromH0, {.p C_neq}, .src = "dd C_neq"},		/* dd C_neq 17768 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 17776 */
+	{.type Header, {.hdr { 7, "?fcheck", /* C_qfcheck = 17792 */ colon }}}, /* CENTRY "?fcheck" qfcheck 7 h 17800 */
+	{.type FromH0, {.p C_0eq}, .src = "dd C_0eq"},		/* dd C_0eq 17808 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 17816 */
+	{.type FromH0, {.p L246}, .src = "dd L246"},		/* dd L246 17824 */
+	{.type FromH0, {.p C_space}, .src = "dd C_space"},		/* dd C_space 17832 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17840 */
+	{.type FromH0, {.p L247}, .src = "dd L247"},		/* dd L247 17848 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17856 */
+	{.type Absolute, {.p 9}},		/* dd 9 17864 */
+	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 17872 */
+	{.type FromH0, {.p C_cr}, .src = "dd C_cr"},		/* dd C_cr 17880 */
+	{.type FromH0, {.p C_abort}, .src = "dd C_abort"},		/* dd C_abort 17888 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 17896 */
+	{.type Header, {.hdr { 11, "create-file", /* C_create_file = 17920 */ colon }}}, /* CENTRY "create-file" create_file 11 ; ( a n mode perm -- fd ioresult ) not part of the original ff. could move this to a forth file. h 17928 */
+	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( a n mode ) (R perm)"},		/* dd M_rpush	; ( a n mode ) (R perm) 17936 */
+	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( a n ) (R perm mode)"},		/* dd M_rpush	; ( a n ) (R perm mode) 17944 */
+	{.type FromH0, {.p C_pad}, .src = "dd C_pad	; ( a n padaddr)"},		/* dd C_pad	; ( a n padaddr) 17952 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 17960 */
+	{.type Absolute, {.p 1024}},		/* dd 1024		; ( a n padaddr 1024 ) 17968 */
+	{.type FromH0, {.p M_plus}, .src = "dd M_plus	; ( a n padaddr+1024 )"},		/* dd M_plus	; ( a n padaddr+1024 ) 17976 */
+	{.type FromH0, {.p M_xswap}, .src = "dd M_xswap	; ( a padaddr+1024 n )"},		/* dd M_xswap	; ( a padaddr+1024 n ) 17984 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup	; ( a padaddr+1024 n n )"},		/* dd M_dup	; ( a padaddr+1024 n n ) 17992 */
+	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush	; ( a padaddr+1024 n ) (R perm mode n )"},		/* dd M_rpush	; ( a padaddr+1024 n ) (R perm mode n ) 18000 */
+	{.type FromH0, {.p M_cmove}, .src = "dd M_cmove	; moves the filename from a to paddaddr+1024"},		/* dd M_cmove	; moves the filename from a to paddaddr+1024 18008 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18016 */
+	{.type Absolute, {.p 0}},		/* dd 0		; ( 0 ) 18024 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( 0 n ) (R perm mode)"},		/* dd M_rpop	; ( 0 n ) (R perm mode) 18032 */
+	{.type FromH0, {.p C_pad}, .src = "dd C_pad	; ( 0 n padaddr)"},		/* dd C_pad	; ( 0 n padaddr) 18040 */
+	{.type FromH0, {.p M_plus}, .src = "dd M_plus	; ( 0 padaddr+n )"},		/* dd M_plus	; ( 0 padaddr+n ) 18048 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18056 */
+	{.type Absolute, {.p 1024}},		/* dd 1024		; ( 0 padaddr+n 1024 ) 18064 */
+	{.type FromH0, {.p M_plus}, .src = "dd M_plus	; ( 0 padaddr+n+1024 )"},		/* dd M_plus	; ( 0 padaddr+n+1024 ) 18072 */
+	{.type FromH0, {.p M_cstore}, .src = "dd M_cstore	; ( ) makes the filename to a null terminated string"},		/* dd M_cstore	; ( ) makes the filename to a null terminated string 18080 */
+	{.type FromH0, {.p C_pad}, .src = "dd C_pad"},		/* dd C_pad 18088 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18096 */
+	{.type Absolute, {.p 1024}},		/* dd 1024		; ( padaddr 1024 ) 18104 */
+	{.type FromH0, {.p M_plus}, .src = "dd M_plus	; ( padaddr+1024 )"},		/* dd M_plus	; ( padaddr+1024 ) 18112 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( padaddr+1024 mode) (R perm )"},		/* dd M_rpop	; ( padaddr+1024 mode) (R perm ) 18120 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop	; ( padaddr+1024 mode perm ) (R )"},		/* dd M_rpop	; ( padaddr+1024 mode perm ) (R ) 18128 */
+	{.type FromH0, {.p M_syscreate}, .src = "dd M_syscreate"},		/* dd M_syscreate 18136 */
+	{.type FromH0, {.p M_dup}, .src = "dd M_dup"},		/* dd M_dup 18144 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18152 */
+	{.type Absolute, {.p -1}},		/* dd -1 18160 */
+	{.type FromH0, {.p M_greater}, .src = "dd M_greater"},		/* dd M_greater 18168 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 18176 */
+	{.type Header, {.hdr { 3, "bye", /* C_bye = 18192 */ colon }}}, /* CENTRY "bye" bye 3 h 18200 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18208 */
+	{.type Absolute, {.p 0}},		/* dd 0 18216 */
+	{.type FromH0, {.p M_terminate}, .src = "dd M_terminate"},		/* dd M_terminate 18224 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 18232 */
+	{.type Header, {.hdr { 7, "include", /* C_include = 18248 */ colon }}}, /* CENTRY "include" include 7 h 18256 */
+	{.type FromH0, {.p C_bl}, .src = "dd C_bl"},		/* dd C_bl 18264 */
+	{.type FromH0, {.p C_word}, .src = "dd C_word"},		/* dd C_word 18272 */
+	{.type FromH0, {.p M_rpush}, .src = "dd M_rpush"},		/* dd M_rpush 18280 */
+	{.type FromH0, {.p MV_toLimit}, .src = "dd MV_toLimit"},		/* dd MV_toLimit 18288 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch"},		/* dd M_fetch 18296 */
+	{.type FromH0, {.p MV_toIn}, .src = "dd MV_toIn"},		/* dd MV_toIn 18304 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 18312 */
+	{.type FromH0, {.p C_save_input}, .src = "dd C_save_input"},		/* dd C_save_input 18320 */
+	{.type FromH0, {.p M_rpop}, .src = "dd M_rpop"},		/* dd M_rpop 18328 */
+	{.type FromH0, {.p C_count}, .src = "dd C_count"},		/* dd C_count 18336 */
+	{.type FromH0, {.p C_ro}, .src = "dd C_ro"},		/* dd C_ro 18344 */
+	{.type FromH0, {.p C_open_file}, .src = "dd C_open_file"},		/* dd C_open_file 18352 */
+	{.type FromH0, {.p C_qfcheck}, .src = "dd C_qfcheck"},		/* dd C_qfcheck 18360 */
+	{.type FromH0, {.p MV_Infd}, .src = "dd MV_Infd"},		/* dd MV_Infd 18368 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 18376 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 18384 */
+	{.type Header, {.hdr { 5, "crash", /* C_crash = 18400 */ colon }}}, /* CENTRY "crash" crash 5 h 18408 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18416 */
+	{.type FromH0, {.p L251}, .src = "dd L251"},		/* dd L251 18424 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18432 */
+	{.type Absolute, {.p 30}},		/* dd 30 18440 */
+	{.type FromH0, {.p C_type}, .src = "dd C_type"},		/* dd C_type 18448 */
+	{.type FromH0, {.p C_cr}, .src = "dd C_cr"},		/* dd C_cr 18456 */
+	{.type FromH0, {.p C_abort}, .src = "dd C_abort"},		/* dd C_abort 18464 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 18472 */
+	{.type Header, {.hdr { 4, "quit", /* C_quit = 18488 */ colon }}}, /* CENTRY "quit" quit 4 ; interpreter loop h 18496 */
+	{.type FromH0, {.p M_reset}, .src = "dd M_reset ; initialize return stack"},		/* dd M_reset ; initialize return stack 18504 */
+	{.type FromH0, {.p M_clear}, .src = "dd M_clear	; SP = sstack_end initialize data stack"},		/* dd M_clear	; SP = sstack_end initialize data stack 18512 */
+	{.type FromH0, {.p C_query}, .src = "dd C_query"},		/* dd C_query 18520 */
+/* ; dd MV_toLimit	; show the line read, for debugging *//* ; dd M_fetch *//* ; dd M_Tib *//* ; dd MC_STDOUT *//* ; dd M_fswrite *//* ; dd M_drop		; drop the return value of write *//* ; dd C_cr *//* ; dd C_space */	{.type FromH0, {.p C_interpret}, .src = "dd C_interpret"},		/* dd C_interpret 18528 */
+	{.type FromH0, {.p M_jump}, .src = "dd M_jump"},		/* dd M_jump 18536 */
+	{.type FromH0, {.p L253}, .src = "dd L253"},		/* dd L253 18544 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon	; why is this needed?"},		/* dd M_exitcolon	; why is this needed? 18552 */
+	{.type Header, {.hdr { 7, "(abort)", /* C_parenabort = 18568 */ colon }}}, /* CENTRY "(abort)" parenabort 7 ; TODO correct below stack notations h 18576 */
+	{.type FromH0, {.p MV_State}, .src = "dd MV_State	; ( mv_State -- )"},		/* dd MV_State	; ( mv_State -- ) 18584 */
+	{.type FromH0, {.p C_off}, .src = "dd C_off	; off sets variable state = 0"},		/* dd C_off	; off sets variable state = 0 18592 */
+	{.type FromH0, {.p MC_STDIN}, .src = "dd MC_STDIN"},		/* dd MC_STDIN 18600 */
+	{.type FromH0, {.p MV_Infd}, .src = "dd MV_Infd"},		/* dd MV_Infd 18608 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 18616 */
+	{.type FromH0, {.p MC_STDOUT}, .src = "dd MC_STDOUT"},		/* dd MC_STDOUT 18624 */
+	{.type FromH0, {.p MV_Outfd}, .src = "dd MV_Outfd"},		/* dd MV_Outfd 18632 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 18640 */
+	{.type FromH0, {.p MC_STDERR}, .src = "dd MC_STDERR"},		/* dd MC_STDERR 18648 */
+	{.type FromH0, {.p MV_Errfd}, .src = "dd MV_Errfd"},		/* dd MV_Errfd 18656 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 18664 */
+	{.type FromH0, {.p C_default_input}, .src = "dd C_default_input"},		/* dd C_default_input 18672 */
+	{.type FromH0, {.p C_quit}, .src = "dd C_quit	; quit resets stacks and is the interpreter loop"},		/* dd C_quit	; quit resets stacks and is the interpreter loop 18680 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon	; why is this needed? quit does not return unless it breaks"},		/* dd M_exitcolon	; why is this needed? quit does not return unless it breaks 18688 */
+	{.type Header, {.hdr { 7, "oldboot", /* C_oldboot = 18704 */ colon }}}, /* CENTRY "oldboot" oldboot 7 ; TODO correct below stack notations and this is obsolete. leaving it here for reference until it all works well h 18712 */
+	{.type FromH0, {.p M_reset}, .src = "dd M_reset"},		/* dd M_reset 18720 */
+	{.type FromH0, {.p M_clear}, .src = "dd M_clear	; SP = sstack_end"},		/* dd M_clear	; SP = sstack_end 18728 */
+	{.type FromH0, {.p M_stackptr}, .src = "dd M_stackptr	; (D -- FFEND)"},		/* dd M_stackptr	; (D -- FFEND) 18736 */
+	{.type FromH0, {.p M_S0}, .src = "dd M_S0"},		/* dd M_S0 18744 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store	; s0 = FFEND"},		/* dd M_store	; s0 = FFEND 18752 */
+	{.type FromH0, {.p M_Dp}, .src = "dd M_Dp	; heaptop = heapend"},		/* dd M_Dp	; heaptop = heapend 18760 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch	; ( heapend -- )"},		/* dd M_fetch	; ( heapend -- ) 18768 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18776 */
+	{.type Absolute, {.p 1}},		/* dd 1		; ( heapend 1 -- ) 18784 */
+	{.type FromH0, {.p C_cells}, .src = "dd C_cells	; cells ( heapend 8 -- )"},		/* dd C_cells	; cells ( heapend 8 -- ) 18792 */
+	{.type FromH0, {.p M_minus}, .src = "dd M_minus	; ( heapend-8 -- )"},		/* dd M_minus	; ( heapend-8 -- ) 18800 */
+	{.type FromH0, {.p M_fetch}, .src = "dd M_fetch	; ( contents_from_heapend-8 -- )"},		/* dd M_fetch	; ( contents_from_heapend-8 -- ) 18808 */
+	{.type FromH0, {.p M_Fthargs}, .src = "dd M_Fthargs	; variable args"},		/* dd M_Fthargs	; variable args 18816 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store	; args = contents_from_heapend-8"},		/* dd M_store	; args = contents_from_heapend-8 18824 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18832 */
+	{.type FromH0, {.p C_parenabort}, .src = "dd C_parenabort ; ( (abort) -- )"},		/* dd C_parenabort ; ( (abort) -- ) 18840 */
+	{.type FromH0, {.p MV_Abortvec}, .src = "dd MV_Abortvec	; variable abortvec"},		/* dd MV_Abortvec	; variable abortvec 18848 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store	; variable abortvec = (abort) code address"},		/* dd M_store	; variable abortvec = (abort) code address 18856 */
+	{.type FromH0, {.p M_Wordb}, .src = "dd M_Wordb	; constant puts address of wordbuffer on the top of stack"},		/* dd M_Wordb	; constant puts address of wordbuffer on the top of stack 18864 */
+	{.type FromH0, {.p MV_Wordbuf}, .src = "dd MV_Wordbuf	; variable wordbuf"},		/* dd MV_Wordbuf	; variable wordbuf 18872 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store	; variable wordbuf = address of wordbuffer"},		/* dd M_store	; variable wordbuf = address of wordbuffer 18880 */
+	{.type FromH0, {.p M_Tib}, .src = "dd M_Tib	; constant puts address of tibuffer on the top of stack"},		/* dd M_Tib	; constant puts address of tibuffer on the top of stack 18888 */
+	{.type FromH0, {.p MV_Sourcebuf}, .src = "dd MV_Sourcebuf	; variable sourcebuf"},		/* dd MV_Sourcebuf	; variable sourcebuf 18896 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store	; variable sourcebuf = address of tibuffer"},		/* dd M_store	; variable sourcebuf = address of tibuffer 18904 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18912 */
+	{.type Absolute, {.p 0}},		/* dd 0 18920 */
+	{.type FromH0, {.p MV_Infd}, .src = "dd MV_Infd"},		/* dd MV_Infd 18928 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store	; stdin = 0"},		/* dd M_store	; stdin = 0 18936 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 18944 */
+	{.type Absolute, {.p 1}},		/* dd 1 18952 */
+	{.type FromH0, {.p MV_Outfd}, .src = "dd MV_Outfd"},		/* dd MV_Outfd 18960 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store	; stdout = 1"},		/* dd M_store	; stdout = 1 18968 */
+	{.type FromH0, {.p MV_State}, .src = "dd MV_State"},		/* dd MV_State 18976 */
+	{.type FromH0, {.p C_off}, .src = "dd C_off	; off stores 0 at state"},		/* dd C_off	; off stores 0 at state 18984 */
+	{.type FromH0, {.p C_decimal}, .src = "dd C_decimal	; decimal setting base = 0"},		/* dd C_decimal	; decimal setting base = 0 18992 */
+	{.type FromH0, {.p C_quit}, .src = "dd C_quit	; quit"},		/* dd C_quit	; quit 19000 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 19008 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal	; test code"},		/* dd M_literal	; test code 19016 */
+	{.type Absolute, {.p 66}},		/* dd 66 19024 */
+	{.type FromH0, {.p M_Wordb}, .src = "dd M_Wordb"},		/* dd M_Wordb 19032 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 19040 */
+	{.type FromH0, {.p MC_STDOUT}, .src = "dd MC_STDOUT"},		/* dd MC_STDOUT 19048 */
+	{.type FromH0, {.p M_Wordb}, .src = "dd M_Wordb"},		/* dd M_Wordb 19056 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 19064 */
+	{.type Absolute, {.p 1}},		/* dd 1 19072 */
+	{.type FromH0, {.p M_syswrite}, .src = "dd M_syswrite"},		/* dd M_syswrite 19080 */
+	{.type FromH0, {.p M_drop}, .src = "dd M_drop		; drop the return value of write"},		/* dd M_drop		; drop the return value of write 19088 */
+	{.type FromH0, {.p MC_STDIN}, .src = "dd MC_STDIN"},		/* dd MC_STDIN 19096 */
+	{.type FromH0, {.p M_Wordb}, .src = "dd M_Wordb"},		/* dd M_Wordb 19104 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 19112 */
+	{.type Absolute, {.p 1}},		/* dd 1 19120 */
+	{.type FromH0, {.p M_sysread}, .src = "dd M_sysread"},		/* dd M_sysread 19128 */
+	{.type FromH0, {.p M_drop}, .src = "dd M_drop		; drop the return value of read"},		/* dd M_drop		; drop the return value of read 19136 */
+	{.type Header, {.hdr { 7, "do-args", /* C_do_args = 19152 */ colon }}}, /* CENTRY "do-args" do_args 7 h 19160 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 19168 */
+	{.type Absolute, {.p 0}},		/* dd 0 19176 */
+	{.type FromH0, {.p MV_Acceptvec}, .src = "dd MV_Acceptvec	; no more refills"},		/* dd MV_Acceptvec	; no more refills 19184 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store 	; C_off	; Acceptvec == 0, reading from a buffer. no more refills."},		/* dd M_store 	; C_off	; Acceptvec == 0, reading from a buffer. no more refills. 19192 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 19200 */
+	{.type Absolute, {.p 0}},		/* dd 0 19208 */
+	{.type FromH0, {.p MV_toIn}, .src = "dd MV_toIn"},		/* dd MV_toIn 19216 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store	; >in = 0"},		/* dd M_store	; >in = 0 19224 */
+	{.type FromH0, {.p M_Fthargs}, .src = "dd M_Fthargs	; ( a )"},		/* dd M_Fthargs	; ( a ) 19232 */
+	{.type FromH0, {.p C_count}, .src = "dd C_count	; ( a+1 n )"},		/* dd C_count	; ( a+1 n ) 19240 */
+	{.type FromH0, {.p MV_toLimit}, .src = "dd MV_toLimit"},		/* dd MV_toLimit 19248 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store	; ( a+1 ) >limit = n"},		/* dd M_store	; ( a+1 ) >limit = n 19256 */
+	{.type FromH0, {.p MV_Sourcebuf}, .src = "dd MV_Sourcebuf"},		/* dd MV_Sourcebuf 19264 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store	; sourcebuf = a+1"},		/* dd M_store	; sourcebuf = a+1 19272 */
+	{.type FromH0, {.p C_interpret}, .src = "dd C_interpret"},		/* dd C_interpret 19280 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 19288 */
+	{.type Header, {.hdr { 4, "boot", /* C_boot = 19304 */ colon }}}, /* CENTRY "boot" boot 4 h 19312 */
+	{.type FromH0, {.p M_reset}, .src = "dd M_reset ; initialize return stack"},		/* dd M_reset ; initialize return stack 19320 */
+	{.type FromH0, {.p M_clear}, .src = "dd M_clear	; SP = sstack_end initialize data stack"},		/* dd M_clear	; SP = sstack_end initialize data stack 19328 */
+	{.type FromH0, {.p M_literal}, .src = "dd M_literal"},		/* dd M_literal 19336 */
+	{.type FromH0, {.p C_parenabort}, .src = "dd C_parenabort ; ( (abort) -- )"},		/* dd C_parenabort ; ( (abort) -- ) 19344 */
+	{.type FromH0, {.p MV_Abortvec}, .src = "dd MV_Abortvec	; variable that puts (abort) code address on the stack"},		/* dd MV_Abortvec	; variable that puts (abort) code address on the stack 19352 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store	; variable abortvec = (abort) code address"},		/* dd M_store	; variable abortvec = (abort) code address 19360 */
+	{.type FromH0, {.p M_Wordb}, .src = "dd M_Wordb	; variable puts address of wordbuffer on the top of stack"},		/* dd M_Wordb	; variable puts address of wordbuffer on the top of stack 19368 */
+	{.type FromH0, {.p MV_Wordbuf}, .src = "dd MV_Wordbuf ; variable wordbuf"},		/* dd MV_Wordbuf ; variable wordbuf 19376 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store	; variable wordbuf = address of wordbuffer"},		/* dd M_store	; variable wordbuf = address of wordbuffer 19384 */
+	{.type FromH0, {.p M_Dp}, .src = "dd M_Dp"},		/* dd M_Dp 19392 */
+	{.type FromH0, {.p MV_H0}, .src = "dd MV_H0	; H0 = here at startup"},		/* dd MV_H0	; H0 = here at startup 19400 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 19408 */
+	{.type FromH0, {.p MC_STDIN}, .src = "dd MC_STDIN"},		/* dd MC_STDIN 19416 */
+	{.type FromH0, {.p MV_Infd}, .src = "dd MV_Infd"},		/* dd MV_Infd 19424 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store	; stdin = 0"},		/* dd M_store	; stdin = 0 19432 */
+	{.type FromH0, {.p MC_STDOUT}, .src = "dd MC_STDOUT"},		/* dd MC_STDOUT 19440 */
+	{.type FromH0, {.p MV_Outfd}, .src = "dd MV_Outfd"},		/* dd MV_Outfd 19448 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 19456 */
+	{.type FromH0, {.p MC_STDERR}, .src = "dd MC_STDERR"},		/* dd MC_STDERR 19464 */
+	{.type FromH0, {.p MV_Errfd}, .src = "dd MV_Errfd"},		/* dd MV_Errfd 19472 */
+	{.type FromH0, {.p M_store}, .src = "dd M_store"},		/* dd M_store 19480 */
+	{.type FromH0, {.p MV_State}, .src = "dd MV_State"},		/* dd MV_State 19488 */
+	{.type FromH0, {.p C_off}, .src = "dd C_off	; off stores 0 at state"},		/* dd C_off	; off stores 0 at state 19496 */
+	{.type FromH0, {.p C_decimal}, .src = "dd C_decimal	; decimal sets base = 10"},		/* dd C_decimal	; decimal sets base = 10 19504 */
+	{.type FromH0, {.p C_default_input}, .src = "dd C_default_input	; read lines from stdin, if args do not set one up"},		/* dd C_default_input	; read lines from stdin, if args do not set one up 19512 */
+	{.type FromH0, {.p M_Fthargs}, .src = "dd M_Fthargs"},		/* dd M_Fthargs 19520 */
+	{.type FromH0, {.p M_cfetch}, .src = "dd M_cfetch"},		/* dd M_cfetch 19528 */
+	{.type FromH0, {.p M_cjump}, .src = "dd M_cjump"},		/* dd M_cjump 19536 */
+	{.type FromH0, {.p L260}, .src = "dd L260	; fetched 0, no args, go to the interpreter loop"},		/* dd L260	; fetched 0, no args, go to the interpreter loop 19544 */
+	{.type FromH0, {.p C_do_args}, .src = "dd C_do_args	; process args"},		/* dd C_do_args	; process args 19552 */
+/* ; dd C_default_input	; do not do this as it will override any input streams set up by the args */	{.type FromH0, {.p C_quit}, .src = "dd C_quit	; interpreter loop when there are no args or fall through after processing args"},		/* dd C_quit	; interpreter loop when there are no args or fall through after processing args 19560 */
+	{.type FromH0, {.p M_exitcolon}, .src = "dd M_exitcolon"},		/* dd M_exitcolon 19568 */
+	{.type Chars, {.str "unable to restore input"}},		/* 19592 */
+	{.type Chars, {.str " Q?"}},		/* 19596 */
+	{.type Chars, {.str " stack underflow"}},		/* 19613 */
+	{.type Chars, {.str " I?"}},		/* 19617 */
+	{.type Chars, {.str " C?"}},		/* 19621 */
+	{.type Chars, {.str "I/O error"}},		/* 19631 */
+	{.type Chars, {.str "uninitialized execution vector"}},		/* 19662 */
+	{.type Chars, {.str " ok"}},		/* 19666 */
+	{.type Chars, {.str "input line is longer than 4096 bytes"}},		/* 19703 */
+	{.type Chars, {.str "read error"}},		/* 19714 */
 };
 
--- a/os/pc64/forth.s
+++ b/os/pc64/forth.s
@@ -619,10 +619,10 @@
 	ADDQ $VHERE, TOP
 	NEXT
 
-TEXT	Args(SB), 1, $-4
+TEXT	Fthargs(SB), 1, $-4
 	PUSH(TOP)
 	MOVQ UM, TOP
-	ADDQ $ARGS, TOP
+	ADDQ $FTHARGS, TOP
 	NEXT
 
 /*
--- a/os/pc64/main.c
+++ b/os/pc64/main.c
@@ -286,6 +286,7 @@
 init0(void)
 {
 	/*char buf[2*KNAMELEN];*/
+	char *args;
 
 	up->nerrlab = 0;
 
@@ -327,6 +328,10 @@
 	kopen("#c/cons", OWRITE);
 	kopen("#c/cons", OWRITE);
 
+	args = "1 2 + . ";
+	*((s8*)up->fmem + FTHARGS) = strlen(args);
+	strncpy((s8*)up->fmem + FTHARGS+1, args, strlen(args));
+	print("init0: args len %d: %s\n", strlen(args), args);
 	goforth(up->fmem);
 	/* disinit("/osinit.dis"); */
 	/* disinit("/osinit.dis"); */
--- a/os/pc64/mem.h
+++ b/os/pc64/mem.h
@@ -222,12 +222,13 @@
 #define TIB			(HEAPSTART+(17*BY2PG))	/* text input buffer */
 #define RSTACK		(HEAPSTART+(19*BY2PG))	/* upto (HEAPSTART+(18*BY2PG)), going down */
 
-#define ARGS		(RSTACK+(BY2WD*0))	/* args size = 32*8 = 256 bytes */
+										/* 256 allows these to be counted strings */
+#define FTHARGS		(RSTACK+(BY2WD*0))	/* args size = 32*8 = 256 bytes, counted string */
 #define WORDB		(RSTACK+(BY2WD*32))	/* word buffer = 32*8 = 256 */
 #define ERRSTR		(RSTACK+(BY2WD*64))	/* errstr size = 32*8 = 256 bytes */
 
 #define FORTHVARS	(RSTACK+(BY2WD*96))		/* magic word here? */
-/* storage for Forth registers when calling C */
+/* storage for saving Forth registers when calling C */
 #define FORTHTOP	(FORTHVARS+(BY2WD*0))
 #define FORTHPSP	(FORTHVARS+(BY2WD*1))
 #define FORTHRSP	(FORTHVARS+(BY2WD*2))
--- a/os/pc64/primitives-nasm.s
+++ b/os/pc64/primitives-nasm.s
@@ -87,4 +87,4 @@
 MENTRY "s@" stackptr 2	; puts PSP on stack. Not a variable hence lower case.
 MENTRY "Wordb" Wordb 5
 MENTRY "Tib" Tib 3
-MENTRY "Args" Args 4
+MENTRY "Fthargs" Fthargs 7
--- a/os/pc64/words-nasm.s
+++ b/os/pc64/words-nasm.s
@@ -46,6 +46,7 @@
 dd C_cells
 dd M_plus
 dd M_exitcolon
+
 CENTRY "depth" C_depth 5
 dd M_S0
 dd M_stackptr
@@ -813,23 +814,32 @@
 dd M_Tib
 dd MV_Sourcebuf
 dd M_store
+dd M_literal
+dd C_accept_line	; could use C_accept_key too
 dd MV_Acceptvec
-dd C_off
+dd M_store
 dd M_exitcolon
 
 CENTRY "restore-input" C_restore_input 13 ; ( <input>|empty -- f )	; restore input stream from the stack or set the default-input as the input stream
 dd MV_Eof
-dd C_off			; reset Eof back to 0
+dd C_off		; reset Eof back to 0
+
+dd C_depth
 dd M_literal
-dd 5				; input stream is on the stack
-dd C_neq
+dd 6			; is the input stream on the stack, depth == 6?
+dd M_equal
 dd M_cjump
-dd L133				; there is an input stream on the stack
-dd C_default_input	; no input stream on the stack, using default input
-dd C_false
-dd M_jump			; ( false )
-dd L134
-L133:				; ( infd >in >limit sourcebuf 'accept 5 )
+dd L132			; depth <> 6, there is no input stream on the stack, get out
+
+dd M_dup		; depth == 6, now check if there is a 5 on the top of stack
+dd M_literal
+dd 5			; is 5 on the top of stack?
+dd M_equal
+dd M_cjump
+dd L132			; top of stack <> 5, there is no input stream on the stack, get out
+
+; ( infd >in >limit sourcebuf 'accept 5 )
+dd M_drop		; ( infd >in >limit sourcebuf 'accept )
 dd MV_Acceptvec
 dd M_store
 dd MV_Sourcebuf
@@ -841,14 +851,20 @@
 dd MV_Infd
 dd M_store
 dd C_true			; ( true )
-L134:
 dd M_exitcolon
 
-CENTRY "?restore-input" C_qrestore_input 14 ; ( <input> -- f ) ; use the input stream on the stack or abort
+L132:				; depth <> 6, there is no input stream on the stack, get out
+dd C_default_input	; no input stream on the stack, use default input from now
+dd C_false			; ( 0 )
+dd M_exitcolon
+
+CENTRY "?restore-input" C_qrestore_input 14 ; ( <input> -- ) ; use the input stream on the stack or abort
 dd C_restore_input
 dd C_0eq
 dd M_cjump
-dd L136
+dd L136		; input stream restored
+
+; no input stream on the stack to restore, show error and abort
 dd C_space
 dd M_literal
 dd L137
@@ -860,7 +876,7 @@
 dd C_dot
 dd C_cr
 dd C_abort
-L136:
+L136:		; input stream restored, get out
 dd M_exitcolon
 
 ; next-input-char
@@ -1882,11 +1898,7 @@
 CENTRY "(abort)" C_parenabort 7 ; TODO correct below stack notations
 dd MV_State	; ( mv_State -- )
 dd C_off	; off sets variable state = 0
-dd M_Tib	; constant puts address of tibuffer on the top of stack
-dd MV_Sourcebuf	; variable sourcebuf
-dd M_store	; variable sourcebuf = address of tibuffer
-dd MV_Acceptvec
-dd C_off	; variable Acceptvec = 0
+
 dd MC_STDIN
 dd MV_Infd
 dd M_store
@@ -1896,6 +1908,8 @@
 dd MC_STDERR
 dd MV_Errfd
 dd M_store
+
+dd C_default_input
 dd C_quit	; quit resets stacks and is the interpreter loop
 dd M_exitcolon	; why is this needed? quit does not return unless it breaks
 
@@ -1912,7 +1926,7 @@
 dd C_cells	; cells ( heapend 8 -- )
 dd M_minus	; ( heapend-8 -- )
 dd M_fetch	; ( contents_from_heapend-8 -- )
-dd M_Args	; variable args
+dd M_Fthargs	; variable args
 dd M_store	; args = contents_from_heapend-8
 dd M_literal
 dd C_parenabort ; ( (abort) -- )
@@ -1967,7 +1981,7 @@
 dd MV_toIn
 dd M_store	; >in = 0
 
-dd M_Args	; ( a )
+dd M_Fthargs	; ( a )
 dd C_count	; ( a+1 n )
 dd MV_toLimit
 dd M_store	; ( a+1 ) >limit = n
@@ -1990,15 +2004,6 @@
 dd MV_Wordbuf ; variable wordbuf
 dd M_store	; variable wordbuf = address of wordbuffer
 
-dd M_Tib	; constant puts address of tibuffer on the top of stack
-dd MV_Sourcebuf	; variable sourcebuf
-dd M_store	; variable sourcebuf = address of tibuffer
-
-dd M_literal
-dd C_accept_line	; could also use C_accept_key
-dd MV_Acceptvec
-dd M_store 	; C_off	; Acceptvec = 0, use accept-key until changed
-
 dd M_Dp
 dd MV_H0	; H0 = here at startup
 dd M_store
@@ -2017,11 +2022,15 @@
 dd C_off	; off stores 0 at state
 dd C_decimal	; decimal sets base = 10
 
-dd M_Args
+dd C_default_input	; read lines from stdin, if args do not set one up
+
+dd M_Fthargs
 dd M_cfetch
-dd C_0eq
 dd M_cjump
-dd C_do_args ; process args
+dd L260	; fetched 0, no args, go to the interpreter loop
+dd C_do_args	; process args
+L260:
+; dd C_default_input	; do not do this as it will override any input streams set up by the args
 dd C_quit	; interpreter loop when there are no args or fall through after processing args
 dd M_exitcolon
 
--- a/os/port/devforth.c
+++ b/os/port/devforth.c
@@ -187,14 +187,15 @@
 					break;
 				s = e+1;
 			}
-		}else if(cistrncmp("ARGS", s, 4) == 0){ // until the end or Argslen
+		}else if(cistrncmp("ARGS", s, 4) == 0){ // until the end or Argslen = 256 bytes
 			s += 4;
-			for(i = 0; i < Argslen && *s != '\0'; i++){
+			for(i = 1; i < Argslen && *s != '\0'; i++){
 				p.args[i] = *s;
 				s++;
 			}
-			if(i == Argslen)
+			if(i >= Argslen)
 				error(Ebadctl);
+			p.args[0] = i-1;	/* storing the count */
 		}else if(*s == ' ' || *s == '	' || *s == '\r' || *s == '\n'){
 			/* would be nice to use isspace(*s) here */
 			s++;
@@ -211,10 +212,10 @@
 	if(1 == 1){
 		print("parseparams newenv %d newfd %d newns %d shmem %d nodevs %d\n"
 				"	redirfds %d %d %d\n"
-				"	args %s\n",
+				"	args %d: %s\n",
 				p.newenv, p.newfd, p.newns, p.shmem, p.nodevs,
 				p.stdinfd, p.stdoutfd, p.stderrfd,
-				p.args);
+				p.args[0], p.args[1]);
 		if(p.nclosefds > 0){
 			print("	closefds ");
 			for(i = 0; i < p.nclosefds; i++){
@@ -505,7 +506,7 @@
 	/* store the start address at that address too - magic check */
 	((intptr*)p->fmem)[0] = (intptr)p->fmem;	/* heap start */
 	((intptr*)p->fmem)[1] = (intptr)p->fmem+FORTHHEAPSIZE-1; /* heap end */
-	strncpy((s8*)p->fmem + ARGS, params->args, Argslen);
+	strncpy((s8*)p->fmem + FTHARGS, params->args, Argslen);
 
 /*	p->kpfun = func;
 	p->kparg = arg;