ref: c8fd1b0926d1bbfae1ddbafbcbc88888052300f5
parent: 397d6bbf8f7c8c305b76f9fcf52c42dfdbdbb817
author: 9ferno <[email protected]>
date: Mon Dec 20 16:58:42 EST 2021
working forth interpreter
--- a/os/pc64/forth.h
+++ b/os/pc64/forth.h
@@ -170,184 +170,184 @@
L86 = 5312,
C_spaces = 5344,
C_count = 5400,
- C_compare = 5528,
- L55 = 5600,
- L56 = 5736,
- C_erase = 5816,
- L58 = 5848,
- C_fill = 5936,
- L60 = 5976,
- C_blank = 6064,
- C_search = 6112,
- L64 = 6216,
- L65 = 6400,
- C_here = 6464,
- C_comma = 6512,
- C_c = 6592,
- C_allot = 6672,
- C_pad = 6720,
- C_align = 6784,
- C_unused = 6848,
- C_fromhash = 6912,
- C_hash = 6992,
- L92 = 7144,
- L93 = 7168,
- C_hashs = 7248,
- L95 = 7256,
- L96 = 7304,
- C_hashfrom = 7328,
- C_hold = 7440,
- C_sign = 7544,
- L100 = 7600,
- C_dot = 7624,
- C_dotr = 7728,
- C_hex = 7888,
- C_decimal = 7952,
- C_digit = 8016,
- L106 = 8128,
- L108 = 8232,
- L110 = 8336,
- L111 = 8360,
- L109 = 8360,
- L107 = 8360,
- L112 = 8432,
- L113 = 8448,
- C_number = 8472,
- L115 = 8608,
- L116 = 8640,
- L117 = 8704,
- L118 = 8808,
- L119 = 8864,
- C_abort = 8952,
- C_source = 9008,
- C_current_input = 9064,
- C_save_input = 9144,
- C_default_input = 9272,
- C_restore_input = 9392,
- L133 = 9488,
- L134 = 9576,
- C_qrestore_input = 9608,
- L136 = 9712,
- C_next_input = 9744,
- L139 = 9840,
- L140 = 9864,
- C_parse = 9888,
- L142 = 9928,
- L143 = 10056,
- C_word = 10200,
- L145 = 10216,
- L146 = 10312,
- C_accept = 10352,
- L148 = 10392,
- L150 = 10552,
- L149 = 10616,
- C_query = 10664,
- L152 = 10808,
- L153 = 10840,
- C_refill = 10864,
- L155 = 10928,
- L156 = 10944,
- C_findname = 10976,
- L158 = 11016,
- L160 = 11128,
- L162 = 11256,
- L161 = 11264,
- L159 = 11280,
- C_find = 11328,
- L165 = 11520,
- L166 = 11536,
- L164 = 11560,
- L167 = 11568,
- C_single_quote = 11592,
- L169 = 11728,
- C_qstack = 11752,
- L172 = 11856,
- C_interpret = 11936,
- L175 = 11944,
- L177 = 12048,
- L179 = 12160,
- L178 = 12160,
- L176 = 12176,
- C_create = 12208,
- C_variable = 12456,
- C_constant = 12528,
- C_immediate = 12656,
- C_tocfa = 12768,
- C_compile = 12848,
- L189 = 12976,
- L190 = 12992,
- L188 = 13008,
- L192 = 13136,
- L194 = 13168,
- L191 = 13168,
- C_close_bracket = 13192,
- L196 = 13216,
- L197 = 13304,
- L198 = 13328,
- L199 = 13360,
- CI_open_bracket = 13384,
- C_smudge = 13432,
- C_reveal = 13544,
- C_colon = 13664,
- CI_semicolon = 13792,
- CI_recurse = 13872,
- C_L206 = 13944,
- C_literal = 14008,
- C_sliteral = 14080,
- C_string = 14248,
- CI_char_brackets = 14360,
- CI_quote_brackets = 14432,
- CI_openparen = 14480,
- CI_backslash = 14544,
- L214 = 14688,
- L215 = 14720,
- C_qabort_parens = 14752,
- L217 = 14832,
- L218 = 14840,
- CI_abort_double_quote = 14864,
- C_double_quote = 14928,
- C_cdouble_quote = 15056,
- CI_sdouble_quote = 15192,
- CI_dotstr = 15232,
- CI_if = 15296,
- CI_else = 15384,
- CI_then = 15512,
- CI_begin = 15568,
- CI_again = 15608,
- CI_until = 15672,
- CI_while = 15736,
- CI_repeat = 15824,
- CI_do = 15920,
- CI_loop = 16000,
- L234 = 16088,
- CI_ploop = 16112,
- L236 = 16200,
- C_wo = 16224,
- C_ro = 16320,
- C_rw = 16368,
- C_open_file = 16424,
- C_close_file = 16704,
- C_read_file = 16760,
- C_write_file = 16840,
- C_reposition_file = 16912,
- C_qfcheck = 16976,
- L246 = 17072,
- C_bye = 17096,
- C_include = 17152,
- C_crash = 17304,
- C_quit = 17392,
- L253 = 17416,
- C_parenabort = 17520,
- C_oldboot = 17688,
- C_boot = 18136,
- L137 = 18352,
- L170 = 18376,
- L173 = 18380,
- L180 = 18397,
- L193 = 18401,
- L247 = 18405,
- L251 = 18415,
- L255 = 18446,
+ C_compare = 5544,
+ L55 = 5616,
+ L56 = 5752,
+ C_erase = 5832,
+ L58 = 5864,
+ C_fill = 5952,
+ L60 = 5992,
+ C_blank = 6080,
+ C_search = 6128,
+ L64 = 6232,
+ L65 = 6416,
+ C_here = 6480,
+ C_comma = 6528,
+ C_c = 6608,
+ C_allot = 6688,
+ C_pad = 6736,
+ C_align = 6800,
+ C_unused = 6864,
+ C_fromhash = 6928,
+ C_hash = 7008,
+ L92 = 7160,
+ L93 = 7184,
+ C_hashs = 7264,
+ L95 = 7272,
+ L96 = 7320,
+ C_hashfrom = 7344,
+ C_hold = 7456,
+ C_sign = 7560,
+ L100 = 7616,
+ C_dot = 7640,
+ C_dotr = 7744,
+ C_hex = 7904,
+ C_decimal = 7968,
+ C_digit = 8032,
+ L106 = 8144,
+ L108 = 8248,
+ L110 = 8352,
+ L111 = 8376,
+ L109 = 8376,
+ L107 = 8376,
+ L112 = 8448,
+ L113 = 8464,
+ C_number = 8488,
+ L115 = 8624,
+ L116 = 8656,
+ L117 = 8720,
+ L118 = 8824,
+ L119 = 8880,
+ C_abort = 8968,
+ C_source = 9024,
+ C_current_input = 9080,
+ C_save_input = 9160,
+ C_default_input = 9288,
+ C_restore_input = 9408,
+ L133 = 9504,
+ L134 = 9592,
+ C_qrestore_input = 9624,
+ L136 = 9728,
+ C_next_input = 9760,
+ L139 = 9856,
+ L140 = 9880,
+ C_parse = 9904,
+ L142 = 9944,
+ L143 = 10072,
+ C_word = 10216,
+ L145 = 10232,
+ L146 = 10328,
+ C_accept = 10368,
+ L148 = 10408,
+ L150 = 10568,
+ L149 = 10632,
+ C_query = 10680,
+ L152 = 10824,
+ L153 = 10856,
+ C_refill = 10880,
+ L155 = 10944,
+ L156 = 10960,
+ C_findname = 10992,
+ L158 = 11032,
+ L160 = 11144,
+ L162 = 11272,
+ L161 = 11280,
+ L159 = 11296,
+ C_find = 11344,
+ L165 = 11536,
+ L166 = 11552,
+ L164 = 11576,
+ L167 = 11584,
+ C_single_quote = 11608,
+ L169 = 11744,
+ C_qstack = 11768,
+ L172 = 11872,
+ C_interpret = 11952,
+ L175 = 11984,
+ L177 = 12120,
+ L179 = 12232,
+ L178 = 12256,
+ L176 = 12272,
+ C_create = 12304,
+ C_variable = 12552,
+ C_constant = 12624,
+ C_immediate = 12752,
+ C_tocfa = 12864,
+ C_compile = 12944,
+ L189 = 13072,
+ L190 = 13088,
+ L188 = 13104,
+ L192 = 13232,
+ L194 = 13264,
+ L191 = 13264,
+ C_close_bracket = 13288,
+ L196 = 13312,
+ L197 = 13400,
+ L198 = 13424,
+ L199 = 13456,
+ CI_open_bracket = 13480,
+ C_smudge = 13528,
+ C_reveal = 13640,
+ C_colon = 13760,
+ CI_semicolon = 13888,
+ CI_recurse = 13968,
+ C_L206 = 14040,
+ C_literal = 14104,
+ C_sliteral = 14176,
+ C_string = 14344,
+ CI_char_brackets = 14456,
+ CI_quote_brackets = 14528,
+ CI_openparen = 14576,
+ CI_backslash = 14640,
+ L214 = 14784,
+ L215 = 14816,
+ C_qabort_parens = 14848,
+ L217 = 14928,
+ L218 = 14936,
+ CI_abort_double_quote = 14960,
+ C_double_quote = 15024,
+ C_cdouble_quote = 15152,
+ CI_sdouble_quote = 15288,
+ CI_dotstr = 15328,
+ CI_if = 15392,
+ CI_else = 15480,
+ CI_then = 15608,
+ CI_begin = 15664,
+ CI_again = 15704,
+ CI_until = 15768,
+ CI_while = 15832,
+ CI_repeat = 15920,
+ CI_do = 16016,
+ CI_loop = 16096,
+ L234 = 16184,
+ CI_ploop = 16208,
+ L236 = 16296,
+ C_wo = 16320,
+ C_ro = 16416,
+ C_rw = 16464,
+ C_open_file = 16520,
+ C_close_file = 16800,
+ C_read_file = 16856,
+ C_write_file = 16936,
+ C_reposition_file = 17008,
+ C_qfcheck = 17072,
+ L246 = 17168,
+ C_bye = 17192,
+ C_include = 17248,
+ C_crash = 17400,
+ C_quit = 17488,
+ L253 = 17512,
+ C_parenabort = 17616,
+ C_oldboot = 17784,
+ C_boot = 18232,
+ L137 = 18848,
+ L170 = 18872,
+ L173 = 18876,
+ L180 = 18893,
+ L193 = 18897,
+ L247 = 18901,
+ L251 = 18911,
+ L255 = 18942,
};
extern void *sliteral(void);
extern void *cjump(void);
@@ -832,1414 +832,1476 @@
{.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 5448 */
{.type FromH0, {.p C_2dup}}, /* dd C_2dup ; debug show the word name to search 5456 */
{.type FromH0, {.p C_type}}, /* dd C_type 5464 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; debug show the dictionary entry 5472 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush 5480 */
- {.type FromH0, {.p C_2dup}}, /* dd C_2dup 5488 */
- {.type FromH0, {.p C_type}}, /* dd C_type 5496 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 5504 */
+ {.type FromH0, {.p C_space}}, /* dd C_space 5472 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; debug show the dictionary entry 5480 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush 5488 */
+ {.type FromH0, {.p C_2dup}}, /* dd C_2dup 5496 */
+ {.type FromH0, {.p C_type}}, /* dd C_type 5504 */
{.type FromH0, {.p M_rpop}}, /* dd M_rpop 5512 */
- {.type Header, {.hdr { 7, "compare", /* C_compare = 5528 */ colon }}}, /* CENTRY "compare" compare 7 ; ( a1 n1 a2 n2 -- f ) a1 = dictionary entry a2 = word name to search h 5536 */
- {.type FromH0, {.p C_rot}}, /* dd C_rot ; ( a1 n1 a2 n2 -- a1 a2 n2 n1 ) 5544 */
- {.type FromH0, {.p C_2dup}}, /* dd C_2dup ; ( -- a1 a2 n2 n1 n2 n1 ) 5552 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; ( -- a1 a2 n2 n1 n2 ) (R n1 -- ) 5560 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; ( -- a1 a2 n2 n1 ) (R n1 n2 -- ) 5568 */
- {.type FromH0, {.p C_min}}, /* dd C_min ; ( -- a1 a2 nmin ) (R n1 n2 -- ) 5576 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 5584 */
- {.type Absolute, {.p 0}}, /* dd 0 ; ( -- a1 a2 nmin 0 ) (R n1 n2 -- ) 5592 */
- {.type FromH0, {.p M_doinit}}, /* dd M_doinit ; ( -- a1 a2 ) (R n1 n2 0 nmin -- ) 5600 */
- {.type FromH0, {.p M_over}}, /* dd M_over 5608 */
- {.type FromH0, {.p M_i}}, /* dd M_i 5616 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus 5624 */
- {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 5632 */
- {.type FromH0, {.p M_over}}, /* dd M_over 5640 */
- {.type FromH0, {.p M_i}}, /* dd M_i 5648 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus 5656 */
- {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 5664 */
- {.type FromH0, {.p M_minus}}, /* dd M_minus 5672 */
- {.type FromH0, {.p C_signum}}, /* dd C_signum 5680 */
- {.type FromH0, {.p C_qdup}}, /* dd C_qdup 5688 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 5696 */
- {.type FromH0, {.p L56}}, /* dd L56 ; matches 5704 */
- {.type FromH0, {.p C_2nip}}, /* dd C_2nip ; does not match ( a1 a2 f -- f ) (R n1 n2 0 nmin -- ) 5712 */
- {.type FromH0, {.p M_unloop}}, /* dd M_unloop ; ( f -- f ) (R n1 n2 0 nmin -- n1 n2) 5720 */
- {.type FromH0, {.p M_unloop}}, /* dd M_unloop ; ( f -- f ) (R n1 n2 -- ) 5728 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 5736 */
- {.type FromH0, {.p M_doloop}}, /* dd M_doloop 5744 */
- {.type FromH0, {.p L55}}, /* dd L55 5752 */
- {.type FromH0, {.p C_2drop}}, /* dd C_2drop ; ( a1 a2 -- ) (R n1 n2 -- ) 5760 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 5768 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop ; ( n2 n1 -- ) (R -- ) 5776 */
- {.type FromH0, {.p M_minus}}, /* dd M_minus ; ( -- n1-n2 ) 5784 */
- {.type FromH0, {.p C_signum}}, /* dd C_signum 5792 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 5800 */
- {.type Header, {.hdr { 5, "erase", /* C_erase = 5816 */ colon }}}, /* CENTRY "erase" erase 5 h 5824 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 5832 */
- {.type Absolute, {.p 0}}, /* dd 0 5840 */
- {.type FromH0, {.p M_doinit}}, /* dd M_doinit 5848 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 5856 */
- {.type Absolute, {.p 0}}, /* dd 0 5864 */
- {.type FromH0, {.p M_over}}, /* dd M_over 5872 */
- {.type FromH0, {.p M_cstore}}, /* dd M_cstore 5880 */
- {.type FromH0, {.p C_1plus}}, /* dd C_1plus 5888 */
- {.type FromH0, {.p M_doloop}}, /* dd M_doloop 5896 */
- {.type FromH0, {.p L58}}, /* dd L58 5904 */
- {.type FromH0, {.p M_drop}}, /* dd M_drop 5912 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 5920 */
- {.type Header, {.hdr { 4, "fill", /* C_fill = 5936 */ colon }}}, /* CENTRY "fill" fill 4 h 5944 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 5952 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 5960 */
- {.type Absolute, {.p 0}}, /* dd 0 5968 */
- {.type FromH0, {.p M_doinit}}, /* dd M_doinit 5976 */
- {.type FromH0, {.p C_2dup}}, /* dd C_2dup 5984 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 5992 */
- {.type FromH0, {.p M_i}}, /* dd M_i 6000 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus 6008 */
- {.type FromH0, {.p M_cstore}}, /* dd M_cstore 6016 */
- {.type FromH0, {.p M_doloop}}, /* dd M_doloop 6024 */
- {.type FromH0, {.p L60}}, /* dd L60 6032 */
- {.type FromH0, {.p C_2drop}}, /* dd C_2drop 6040 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6048 */
- {.type Header, {.hdr { 5, "blank", /* C_blank = 6064 */ colon }}}, /* CENTRY "blank" blank 5 h 6072 */
- {.type FromH0, {.p C_bl}}, /* dd C_bl 6080 */
- {.type FromH0, {.p C_fill}}, /* dd C_fill 6088 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6096 */
- {.type Header, {.hdr { 6, "search", /* C_search = 6112 */ colon }}}, /* CENTRY "search" search 6 h 6120 */
- {.type FromH0, {.p MV_Searchlen}}, /* dd MV_Searchlen 6128 */
- {.type FromH0, {.p M_store}}, /* dd M_store 6136 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 6144 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 6152 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush 6160 */
- {.type FromH0, {.p MV_Searchlen}}, /* dd MV_Searchlen 6168 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 6176 */
- {.type FromH0, {.p M_minus}}, /* dd M_minus 6184 */
- {.type FromH0, {.p C_1plus}}, /* dd C_1plus 6192 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 6200 */
- {.type Absolute, {.p 0}}, /* dd 0 6208 */
- {.type FromH0, {.p M_doinit}}, /* dd M_doinit 6216 */
- {.type FromH0, {.p M_over}}, /* dd M_over 6224 */
- {.type FromH0, {.p M_i}}, /* dd M_i 6232 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus 6240 */
- {.type FromH0, {.p M_over}}, /* dd M_over 6248 */
- {.type FromH0, {.p MV_Searchlen}}, /* dd MV_Searchlen 6256 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 6264 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 6272 */
- {.type FromH0, {.p MV_Searchlen}}, /* dd MV_Searchlen 6280 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 6288 */
- {.type FromH0, {.p C_compare}}, /* dd C_compare 6296 */
- {.type FromH0, {.p C_0eq}}, /* dd C_0eq 6304 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 6312 */
- {.type FromH0, {.p L65}}, /* dd L65 6320 */
- {.type FromH0, {.p M_drop}}, /* dd M_drop 6328 */
- {.type FromH0, {.p M_i}}, /* dd M_i 6336 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus 6344 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 5520 */
+ {.type FromH0, {.p C_cr}}, /* dd C_cr 5528 */
+ {.type Header, {.hdr { 7, "compare", /* C_compare = 5544 */ colon }}}, /* CENTRY "compare" compare 7 ; ( a1 n1 a2 n2 -- f ) a1 = dictionary entry a2 = word name to search h 5552 */
+ {.type FromH0, {.p C_rot}}, /* dd C_rot ; ( a1 n1 a2 n2 -- a1 a2 n2 n1 ) 5560 */
+ {.type FromH0, {.p C_2dup}}, /* dd C_2dup ; ( -- a1 a2 n2 n1 n2 n1 ) 5568 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; ( -- a1 a2 n2 n1 n2 ) (R n1 -- ) 5576 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; ( -- a1 a2 n2 n1 ) (R n1 n2 -- ) 5584 */
+ {.type FromH0, {.p C_min}}, /* dd C_min ; ( -- a1 a2 nmin ) (R n1 n2 -- ) 5592 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 5600 */
+ {.type Absolute, {.p 0}}, /* dd 0 ; ( -- a1 a2 nmin 0 ) (R n1 n2 -- ) 5608 */
+ {.type FromH0, {.p M_doinit}}, /* dd M_doinit ; ( -- a1 a2 ) (R n1 n2 0 nmin -- ) 5616 */
+ {.type FromH0, {.p M_over}}, /* dd M_over 5624 */
+ {.type FromH0, {.p M_i}}, /* dd M_i 5632 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus 5640 */
+ {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 5648 */
+ {.type FromH0, {.p M_over}}, /* dd M_over 5656 */
+ {.type FromH0, {.p M_i}}, /* dd M_i 5664 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus 5672 */
+ {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 5680 */
+ {.type FromH0, {.p M_minus}}, /* dd M_minus 5688 */
+ {.type FromH0, {.p C_signum}}, /* dd C_signum 5696 */
+ {.type FromH0, {.p C_qdup}}, /* dd C_qdup 5704 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 5712 */
+ {.type FromH0, {.p L56}}, /* dd L56 ; matches 5720 */
+ {.type FromH0, {.p C_2nip}}, /* dd C_2nip ; does not match ( a1 a2 f -- f ) (R n1 n2 0 nmin -- ) 5728 */
+ {.type FromH0, {.p M_unloop}}, /* dd M_unloop ; ( f -- f ) (R n1 n2 0 nmin -- n1 n2) 5736 */
+ {.type FromH0, {.p M_unloop}}, /* dd M_unloop ; ( f -- f ) (R n1 n2 -- ) 5744 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 5752 */
+ {.type FromH0, {.p M_doloop}}, /* dd M_doloop 5760 */
+ {.type FromH0, {.p L55}}, /* dd L55 5768 */
+ {.type FromH0, {.p C_2drop}}, /* dd C_2drop ; ( a1 a2 -- ) (R n1 n2 -- ) 5776 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 5784 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop ; ( n2 n1 -- ) (R -- ) 5792 */
+ {.type FromH0, {.p M_minus}}, /* dd M_minus ; ( -- n1-n2 ) 5800 */
+ {.type FromH0, {.p C_signum}}, /* dd C_signum 5808 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 5816 */
+ {.type Header, {.hdr { 5, "erase", /* C_erase = 5832 */ colon }}}, /* CENTRY "erase" erase 5 h 5840 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 5848 */
+ {.type Absolute, {.p 0}}, /* dd 0 5856 */
+ {.type FromH0, {.p M_doinit}}, /* dd M_doinit 5864 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 5872 */
+ {.type Absolute, {.p 0}}, /* dd 0 5880 */
+ {.type FromH0, {.p M_over}}, /* dd M_over 5888 */
+ {.type FromH0, {.p M_cstore}}, /* dd M_cstore 5896 */
+ {.type FromH0, {.p C_1plus}}, /* dd C_1plus 5904 */
+ {.type FromH0, {.p M_doloop}}, /* dd M_doloop 5912 */
+ {.type FromH0, {.p L58}}, /* dd L58 5920 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop 5928 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 5936 */
+ {.type Header, {.hdr { 4, "fill", /* C_fill = 5952 */ colon }}}, /* CENTRY "fill" fill 4 h 5960 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 5968 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 5976 */
+ {.type Absolute, {.p 0}}, /* dd 0 5984 */
+ {.type FromH0, {.p M_doinit}}, /* dd M_doinit 5992 */
+ {.type FromH0, {.p C_2dup}}, /* dd C_2dup 6000 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 6008 */
+ {.type FromH0, {.p M_i}}, /* dd M_i 6016 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus 6024 */
+ {.type FromH0, {.p M_cstore}}, /* dd M_cstore 6032 */
+ {.type FromH0, {.p M_doloop}}, /* dd M_doloop 6040 */
+ {.type FromH0, {.p L60}}, /* dd L60 6048 */
+ {.type FromH0, {.p C_2drop}}, /* dd C_2drop 6056 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6064 */
+ {.type Header, {.hdr { 5, "blank", /* C_blank = 6080 */ colon }}}, /* CENTRY "blank" blank 5 h 6088 */
+ {.type FromH0, {.p C_bl}}, /* dd C_bl 6096 */
+ {.type FromH0, {.p C_fill}}, /* dd C_fill 6104 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6112 */
+ {.type Header, {.hdr { 6, "search", /* C_search = 6128 */ colon }}}, /* CENTRY "search" search 6 h 6136 */
+ {.type FromH0, {.p MV_Searchlen}}, /* dd MV_Searchlen 6144 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 6152 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 6160 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 6168 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush 6176 */
+ {.type FromH0, {.p MV_Searchlen}}, /* dd MV_Searchlen 6184 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 6192 */
+ {.type FromH0, {.p M_minus}}, /* dd M_minus 6200 */
+ {.type FromH0, {.p C_1plus}}, /* dd C_1plus 6208 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 6216 */
+ {.type Absolute, {.p 0}}, /* dd 0 6224 */
+ {.type FromH0, {.p M_doinit}}, /* dd M_doinit 6232 */
+ {.type FromH0, {.p M_over}}, /* dd M_over 6240 */
+ {.type FromH0, {.p M_i}}, /* dd M_i 6248 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus 6256 */
+ {.type FromH0, {.p M_over}}, /* dd M_over 6264 */
+ {.type FromH0, {.p MV_Searchlen}}, /* dd MV_Searchlen 6272 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 6280 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 6288 */
+ {.type FromH0, {.p MV_Searchlen}}, /* dd MV_Searchlen 6296 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 6304 */
+ {.type FromH0, {.p C_compare}}, /* dd C_compare 6312 */
+ {.type FromH0, {.p C_0eq}}, /* dd C_0eq 6320 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 6328 */
+ {.type FromH0, {.p L65}}, /* dd L65 6336 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop 6344 */
{.type FromH0, {.p M_i}}, /* dd M_i 6352 */
- {.type FromH0, {.p M_unloop}}, /* dd M_unloop 6360 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 6368 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 6376 */
- {.type FromH0, {.p M_minus}}, /* dd M_minus 6384 */
- {.type FromH0, {.p C_true}}, /* dd C_true 6392 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6400 */
- {.type FromH0, {.p M_doloop}}, /* dd M_doloop 6408 */
- {.type FromH0, {.p L64}}, /* dd L64 6416 */
- {.type FromH0, {.p M_drop}}, /* dd M_drop 6424 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 6432 */
- {.type FromH0, {.p C_false}}, /* dd C_false 6440 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6448 */
- {.type Header, {.hdr { 4, "here", /* C_here = 6464 */ colon }}}, /* CENTRY "here" here 4 h 6472 */
- {.type FromH0, {.p M_H0}}, /* dd M_H0 6480 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 6488 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6496 */
- {.type Header, {.hdr { 1, ",", /* C_comma = 6512 */ colon }}}, /* CENTRY "," comma 1 h 6520 */
- {.type FromH0, {.p C_here}}, /* dd C_here 6528 */
- {.type FromH0, {.p M_store}}, /* dd M_store 6536 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 6544 */
- {.type Absolute, {.p 8}}, /* dd 8 6552 */
- {.type FromH0, {.p M_H0}}, /* dd M_H0 6560 */
- {.type FromH0, {.p C_plusstore}}, /* dd C_plusstore 6568 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6576 */
- {.type Header, {.hdr { 2, "c,", /* C_c = 6592 */ colon }}}, /* CENTRY "c," c 2 h 6600 */
- {.type FromH0, {.p C_here}}, /* dd C_here 6608 */
- {.type FromH0, {.p M_cstore}}, /* dd M_cstore 6616 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 6624 */
- {.type Absolute, {.p 1}}, /* dd 1 6632 */
- {.type FromH0, {.p M_H0}}, /* dd M_H0 6640 */
- {.type FromH0, {.p C_plusstore}}, /* dd C_plusstore 6648 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6656 */
- {.type Header, {.hdr { 5, "allot", /* C_allot = 6672 */ colon }}}, /* CENTRY "allot" allot 5 h 6680 */
- {.type FromH0, {.p M_H0}}, /* dd M_H0 6688 */
- {.type FromH0, {.p C_plusstore}}, /* dd C_plusstore 6696 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6704 */
- {.type Header, {.hdr { 3, "pad", /* C_pad = 6720 */ colon }}}, /* CENTRY "pad" pad 3 h 6728 */
- {.type FromH0, {.p C_here}}, /* dd C_here 6736 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 6744 */
- {.type Absolute, {.p 256}}, /* dd 256 6752 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus 6760 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6768 */
- {.type Header, {.hdr { 5, "align", /* C_align = 6784 */ colon }}}, /* CENTRY "align" align 5 h 6792 */
- {.type FromH0, {.p C_here}}, /* dd C_here 6800 */
- {.type FromH0, {.p C_aligned}}, /* dd C_aligned 6808 */
- {.type FromH0, {.p M_H0}}, /* dd M_H0 6816 */
- {.type FromH0, {.p M_store}}, /* dd M_store 6824 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6832 */
- {.type Header, {.hdr { 6, "unused", /* C_unused = 6848 */ colon }}}, /* CENTRY "unused" unused 6 h 6856 */
- {.type FromH0, {.p M_H0}}, /* dd M_H0 6864 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 6872 */
- {.type FromH0, {.p C_here}}, /* dd C_here 6880 */
- {.type FromH0, {.p M_minus}}, /* dd M_minus 6888 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6896 */
- {.type Header, {.hdr { 2, "<#", /* C_fromhash = 6912 */ colon }}}, /* CENTRY "<#" fromhash 2 h 6920 */
- {.type FromH0, {.p C_pad}}, /* dd C_pad 6928 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 6936 */
- {.type Absolute, {.p 1024}}, /* dd 1024 6944 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus 6952 */
- {.type FromH0, {.p MV_toNum}}, /* dd MV_toNum 6960 */
- {.type FromH0, {.p M_store}}, /* dd M_store 6968 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6976 */
- {.type Header, {.hdr { 1, "#", /* C_hash = 6992 */ colon }}}, /* CENTRY "#" hash 1 h 7000 */
- {.type FromH0, {.p MV_Base}}, /* dd MV_Base 7008 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 7016 */
- {.type FromH0, {.p M_uslashmod}}, /* dd M_uslashmod 7024 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 7032 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 7040 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 7048 */
- {.type Absolute, {.p 9}}, /* dd 9 7056 */
- {.type FromH0, {.p M_greater}}, /* dd M_greater 7064 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 7072 */
- {.type FromH0, {.p L92}}, /* dd L92 7080 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 7088 */
- {.type Absolute, {.p 97}}, /* dd 97 7096 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus 7104 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 7112 */
- {.type Absolute, {.p 10}}, /* dd 10 7120 */
- {.type FromH0, {.p M_minus}}, /* dd M_minus 7128 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 7136 */
- {.type FromH0, {.p L93}}, /* dd L93 7144 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 7152 */
- {.type Absolute, {.p 48}}, /* dd 48 7160 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus 7168 */
- {.type FromH0, {.p MV_toNum}}, /* dd MV_toNum 7176 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 7184 */
- {.type FromH0, {.p C_1minus}}, /* dd C_1minus 7192 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 7200 */
- {.type FromH0, {.p MV_toNum}}, /* dd MV_toNum 7208 */
- {.type FromH0, {.p M_store}}, /* dd M_store 7216 */
- {.type FromH0, {.p M_cstore}}, /* dd M_cstore 7224 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 7232 */
- {.type Header, {.hdr { 2, "#s", /* C_hashs = 7248 */ colon }}}, /* CENTRY "#s" hashs 2 h 7256 */
- {.type FromH0, {.p C_hash}}, /* dd C_hash 7264 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 7272 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 7280 */
- {.type FromH0, {.p L96}}, /* dd L96 7288 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 7296 */
- {.type FromH0, {.p L95}}, /* dd L95 7304 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 7312 */
- {.type Header, {.hdr { 2, "#>", /* C_hashfrom = 7328 */ colon }}}, /* CENTRY "#>" hashfrom 2 h 7336 */
- {.type FromH0, {.p M_drop}}, /* dd M_drop 7344 */
- {.type FromH0, {.p MV_toNum}}, /* dd MV_toNum 7352 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 7360 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 7368 */
- {.type FromH0, {.p C_pad}}, /* dd C_pad 7376 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 7384 */
- {.type Absolute, {.p 1024}}, /* dd 1024 7392 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus 7400 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 7408 */
- {.type FromH0, {.p M_minus}}, /* dd M_minus 7416 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 7424 */
- {.type Header, {.hdr { 4, "hold", /* C_hold = 7440 */ colon }}}, /* CENTRY "hold" hold 4 h 7448 */
- {.type FromH0, {.p MV_toNum}}, /* dd MV_toNum 7456 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 7464 */
- {.type FromH0, {.p C_1minus}}, /* dd C_1minus 7472 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 7480 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush 7488 */
- {.type FromH0, {.p M_cstore}}, /* dd M_cstore 7496 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 7504 */
- {.type FromH0, {.p MV_toNum}}, /* dd MV_toNum 7512 */
- {.type FromH0, {.p M_store}}, /* dd M_store 7520 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 7528 */
- {.type Header, {.hdr { 4, "sign", /* C_sign = 7544 */ colon }}}, /* CENTRY "sign" sign 4 h 7552 */
- {.type FromH0, {.p C_0lt}}, /* dd C_0lt 7560 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 7568 */
- {.type FromH0, {.p L100}}, /* dd L100 7576 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 7584 */
- {.type Absolute, {.p 45}}, /* dd 45 7592 */
- {.type FromH0, {.p C_hold}}, /* dd C_hold 7600 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 7608 */
- {.type Header, {.hdr { 1, ".", /* C_dot = 7624 */ colon }}}, /* CENTRY "." dot 1 h 7632 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 7640 */
- {.type FromH0, {.p C_abs}}, /* dd C_abs 7648 */
- {.type FromH0, {.p C_fromhash}}, /* dd C_fromhash 7656 */
- {.type FromH0, {.p C_hashs}}, /* dd C_hashs 7664 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 7672 */
- {.type FromH0, {.p C_sign}}, /* dd C_sign 7680 */
- {.type FromH0, {.p C_hashfrom}}, /* dd C_hashfrom 7688 */
- {.type FromH0, {.p C_type}}, /* dd C_type 7696 */
- {.type FromH0, {.p C_space}}, /* dd C_space 7704 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 7712 */
- {.type Header, {.hdr { 2, ".r", /* C_dotr = 7728 */ colon }}}, /* CENTRY ".r" dotr 2 h 7736 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush 7744 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 7752 */
- {.type FromH0, {.p C_abs}}, /* dd C_abs 7760 */
- {.type FromH0, {.p C_fromhash}}, /* dd C_fromhash 7768 */
- {.type FromH0, {.p C_hashs}}, /* dd C_hashs 7776 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 7784 */
- {.type FromH0, {.p C_sign}}, /* dd C_sign 7792 */
- {.type FromH0, {.p C_hashfrom}}, /* dd C_hashfrom 7800 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 7808 */
- {.type FromH0, {.p M_over}}, /* dd M_over 7816 */
- {.type FromH0, {.p M_minus}}, /* dd M_minus 7824 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 7832 */
- {.type Absolute, {.p 0}}, /* dd 0 7840 */
- {.type FromH0, {.p C_max}}, /* dd C_max 7848 */
- {.type FromH0, {.p C_spaces}}, /* dd C_spaces 7856 */
- {.type FromH0, {.p C_type}}, /* dd C_type 7864 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 7872 */
- {.type Header, {.hdr { 3, "hex", /* C_hex = 7888 */ colon }}}, /* CENTRY "hex" hex 3 h 7896 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 7904 */
- {.type Absolute, {.p 16}}, /* dd 16 7912 */
- {.type FromH0, {.p MV_Base}}, /* dd MV_Base 7920 */
- {.type FromH0, {.p M_store}}, /* dd M_store 7928 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 7936 */
- {.type Header, {.hdr { 7, "decimal", /* C_decimal = 7952 */ colon }}}, /* CENTRY "decimal" decimal 7 h 7960 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 7968 */
- {.type Absolute, {.p 10}}, /* dd 10 7976 */
- {.type FromH0, {.p MV_Base}}, /* dd MV_Base 7984 */
- {.type FromH0, {.p M_store}}, /* dd M_store 7992 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 8000 */
- {.type Header, {.hdr { 5, "digit", /* C_digit = 8016 */ colon }}}, /* CENTRY "digit" digit 5 ; c -- h 8024 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 8032 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 8040 */
- {.type Absolute, {.p 65}}, /* dd 65 8048 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 8056 */
- {.type Absolute, {.p 91}}, /* dd 91 8064 */
- {.type FromH0, {.p C_within}}, /* dd C_within 8072 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 8080 */
- {.type FromH0, {.p L106}}, /* dd L106 8088 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 8096 */
- {.type Absolute, {.p 55}}, /* dd 55 8104 */
- {.type FromH0, {.p M_minus}}, /* dd M_minus 8112 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 8120 */
- {.type FromH0, {.p L107}}, /* dd L107 8128 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 8136 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 8144 */
- {.type Absolute, {.p 97}}, /* dd 97 8152 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 8160 */
- {.type Absolute, {.p 123}}, /* dd 123 8168 */
- {.type FromH0, {.p C_within}}, /* dd C_within 8176 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 8184 */
- {.type FromH0, {.p L108}}, /* dd L108 8192 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 8200 */
- {.type Absolute, {.p 87}}, /* dd 87 8208 */
- {.type FromH0, {.p M_minus}}, /* dd M_minus 8216 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 8224 */
- {.type FromH0, {.p L109}}, /* dd L109 8232 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 8240 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 8248 */
- {.type Absolute, {.p 48}}, /* dd 48 8256 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 8264 */
- {.type Absolute, {.p 58}}, /* dd 58 8272 */
- {.type FromH0, {.p C_within}}, /* dd C_within 8280 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 8288 */
- {.type FromH0, {.p L110}}, /* dd L110 8296 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 8304 */
- {.type Absolute, {.p 48}}, /* dd 48 8312 */
- {.type FromH0, {.p M_minus}}, /* dd M_minus 8320 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 8328 */
- {.type FromH0, {.p L111}}, /* dd L111 8336 */
- {.type FromH0, {.p M_drop}}, /* dd M_drop 8344 */
- {.type FromH0, {.p C_false}}, /* dd C_false 8352 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 8360 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 8368 */
- {.type FromH0, {.p MV_Base}}, /* dd MV_Base 8376 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 8384 */
- {.type FromH0, {.p M_less}}, /* dd M_less 8392 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 8400 */
- {.type FromH0, {.p L112}}, /* dd L112 8408 */
- {.type FromH0, {.p C_true}}, /* dd C_true 8416 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 8424 */
- {.type FromH0, {.p L113}}, /* dd L113 8432 */
- {.type FromH0, {.p M_drop}}, /* dd M_drop 8440 */
- {.type FromH0, {.p C_false}}, /* dd C_false 8448 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 8456 */
- {.type Header, {.hdr { 6, "number", /* C_number = 8472 */ colon }}}, /* CENTRY "number" number 6 ; ( a n1 -- n2 -1 | a n1 0 ) h 8480 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap ; ( a n1 -- n1 a ) 8488 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup ; ( n1 a -- n1 a a ) 8496 */
- {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch ; ( n1 a a -- n1 a c ) 8504 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 8512 */
- {.type Absolute, {.p 45}}, /* dd 45 ; ( n1 a c -- n1 a c - ) 8520 */
- {.type FromH0, {.p M_equal}}, /* dd M_equal ; ( n1 a c -- n1 a f ) 8528 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump ; ( n1 a c -- n1 a ) 8536 */
- {.type FromH0, {.p L115}}, /* dd L115 ; c != - 8544 */
- {.type FromH0, {.p C_1plus}}, /* dd C_1plus ; c == - ( n1 a -- n1 a+1 ) 8552 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 8560 */
- {.type FromH0, {.p C_1minus}}, /* dd C_1minus ; c == - ( a+1 n1 -- a+1 n1-1 ) 8568 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 8576 */
- {.type Absolute, {.p -1}}, /* dd -1 ; ( a+1 n1-1 -- a+1 n1-1 -1 ) 8584 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; ( a+1 n1-1 -- a+1 n1-1 ) (R -- -1) 8592 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 8600 */
- {.type FromH0, {.p L116}}, /* dd L116 8608 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap ; ( n1 a -- a n1) 8616 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 8624 */
- {.type Absolute, {.p 1}}, /* dd 1 8632 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; ( a n1 1 -- a n1 ) (R -- 1) 8640 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup ; ( a n1 -- a n1 n1 ) (R nr) 8648 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; ( a n1 n1 -- a n1 ) (R nr -- nr n1) 8656 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 8664 */
- {.type Absolute, {.p 0}}, /* dd 0 ; ( a n1 -- a n1 0) (R nr n1) 8672 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap ; ( a n1 0 -- a 0 n1) (R nr n1) 8680 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 8688 */
- {.type Absolute, {.p 0}}, /* dd 0 ; ( a 0 n1 -- a 0 n1 0) (R nr n1) 8696 */
- {.type FromH0, {.p M_doinit}}, /* dd M_doinit ; ( a 0 n1 0 -- a 0 ) (R nr n1 -- nr n1 0 n1) 8704 */
- {.type FromH0, {.p MV_Base}}, /* dd MV_Base 8712 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch ; ( a 0 Base -- a 0 10 ) (R nr n1 -- nr n1 0 n1) 8720 */
- {.type FromH0, {.p M_multiply}}, /* dd M_multiply ; ( a 0 10 -- a 0 ) (R nr n1 -- nr n1 0 n1) 8728 */
- {.type FromH0, {.p M_over}}, /* dd M_over ; ( a 0 -- a 0 a) (R nr n1 -- nr n1 0 n1) 8736 */
- {.type FromH0, {.p M_i}}, /* dd M_i ; ( a 0 a -- a 0 a n1) (R nr n1 -- nr n1 0 n1) 8744 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus ; ( a 0 a n1 -- a 0 a+n1) (R nr n1 -- nr n1 0 n1) 8752 */
- {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch ; ( a 0 a+n1 -- a 0 c) (R nr n1 -- nr n1 0 n1) 8760 */
- {.type FromH0, {.p C_digit}}, /* dd C_digit 8768 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 8776 */
- {.type FromH0, {.p L118}}, /* dd L118 8784 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus 8792 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 8800 */
- {.type FromH0, {.p L119}}, /* dd L119 8808 */
- {.type FromH0, {.p M_drop}}, /* dd M_drop 8816 */
- {.type FromH0, {.p M_unloop}}, /* dd M_unloop 8824 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 8832 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 8840 */
- {.type FromH0, {.p M_drop}}, /* dd M_drop 8848 */
- {.type FromH0, {.p C_false}}, /* dd C_false 8856 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 8864 */
- {.type FromH0, {.p M_doloop}}, /* dd M_doloop 8872 */
- {.type FromH0, {.p L117}}, /* dd L117 8880 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 8888 */
- {.type FromH0, {.p M_drop}}, /* dd M_drop 8896 */
- {.type FromH0, {.p C_nip}}, /* dd C_nip 8904 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 8912 */
- {.type FromH0, {.p M_multiply}}, /* dd M_multiply 8920 */
- {.type FromH0, {.p C_true}}, /* dd C_true 8928 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 8936 */
- {.type Header, {.hdr { 5, "abort", /* C_abort = 8952 */ colon }}}, /* CENTRY "abort" abort 5 h 8960 */
- {.type FromH0, {.p MV_Abortvec}}, /* dd MV_Abortvec 8968 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 8976 */
- {.type FromH0, {.p M_execute}}, /* dd M_execute 8984 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 8992 */
- {.type Header, {.hdr { 6, "source", /* C_source = 9008 */ colon }}}, /* CENTRY "source" source 6 h 9016 */
- {.type FromH0, {.p MV_Sourcebuf}}, /* dd MV_Sourcebuf 9024 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 9032 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 9040 */
- {.type Header, {.hdr { 13, "current-input", /* C_current_input = 9064 */ colon }}}, /* CENTRY "current-input" current_input 13 ; ( -- c ) read the next character from the location in Sourcebuf h 9072 */
- {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 9080 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 9088 */
- {.type FromH0, {.p C_source}}, /* dd C_source 9096 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus ; Sourcebuf + >In 9104 */
- {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 9112 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 9120 */
- {.type Header, {.hdr { 10, "save-input", /* C_save_input = 9144 */ colon }}}, /* CENTRY "save-input" save_input 10 h 9152 */
- {.type FromH0, {.p MV_Infd}}, /* dd MV_Infd 9160 */
- {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 9168 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 9176 */
- {.type FromH0, {.p MV_toLimit}}, /* dd MV_toLimit 9184 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus 6360 */
+ {.type FromH0, {.p M_i}}, /* dd M_i 6368 */
+ {.type FromH0, {.p M_unloop}}, /* dd M_unloop 6376 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 6384 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 6392 */
+ {.type FromH0, {.p M_minus}}, /* dd M_minus 6400 */
+ {.type FromH0, {.p C_true}}, /* dd C_true 6408 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6416 */
+ {.type FromH0, {.p M_doloop}}, /* dd M_doloop 6424 */
+ {.type FromH0, {.p L64}}, /* dd L64 6432 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop 6440 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 6448 */
+ {.type FromH0, {.p C_false}}, /* dd C_false 6456 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6464 */
+ {.type Header, {.hdr { 4, "here", /* C_here = 6480 */ colon }}}, /* CENTRY "here" here 4 h 6488 */
+ {.type FromH0, {.p M_H0}}, /* dd M_H0 6496 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 6504 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6512 */
+ {.type Header, {.hdr { 1, ",", /* C_comma = 6528 */ colon }}}, /* CENTRY "," comma 1 h 6536 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 6544 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 6552 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 6560 */
+ {.type Absolute, {.p 8}}, /* dd 8 6568 */
+ {.type FromH0, {.p M_H0}}, /* dd M_H0 6576 */
+ {.type FromH0, {.p C_plusstore}}, /* dd C_plusstore 6584 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6592 */
+ {.type Header, {.hdr { 2, "c,", /* C_c = 6608 */ colon }}}, /* CENTRY "c," c 2 h 6616 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 6624 */
+ {.type FromH0, {.p M_cstore}}, /* dd M_cstore 6632 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 6640 */
+ {.type Absolute, {.p 1}}, /* dd 1 6648 */
+ {.type FromH0, {.p M_H0}}, /* dd M_H0 6656 */
+ {.type FromH0, {.p C_plusstore}}, /* dd C_plusstore 6664 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6672 */
+ {.type Header, {.hdr { 5, "allot", /* C_allot = 6688 */ colon }}}, /* CENTRY "allot" allot 5 h 6696 */
+ {.type FromH0, {.p M_H0}}, /* dd M_H0 6704 */
+ {.type FromH0, {.p C_plusstore}}, /* dd C_plusstore 6712 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6720 */
+ {.type Header, {.hdr { 3, "pad", /* C_pad = 6736 */ colon }}}, /* CENTRY "pad" pad 3 h 6744 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 6752 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 6760 */
+ {.type Absolute, {.p 256}}, /* dd 256 6768 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus 6776 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6784 */
+ {.type Header, {.hdr { 5, "align", /* C_align = 6800 */ colon }}}, /* CENTRY "align" align 5 h 6808 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 6816 */
+ {.type FromH0, {.p C_aligned}}, /* dd C_aligned 6824 */
+ {.type FromH0, {.p M_H0}}, /* dd M_H0 6832 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 6840 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6848 */
+ {.type Header, {.hdr { 6, "unused", /* C_unused = 6864 */ colon }}}, /* CENTRY "unused" unused 6 h 6872 */
+ {.type FromH0, {.p M_H0}}, /* dd M_H0 6880 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 6888 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 6896 */
+ {.type FromH0, {.p M_minus}}, /* dd M_minus 6904 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6912 */
+ {.type Header, {.hdr { 2, "<#", /* C_fromhash = 6928 */ colon }}}, /* CENTRY "<#" fromhash 2 h 6936 */
+ {.type FromH0, {.p C_pad}}, /* dd C_pad 6944 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 6952 */
+ {.type Absolute, {.p 1024}}, /* dd 1024 6960 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus 6968 */
+ {.type FromH0, {.p MV_toNum}}, /* dd MV_toNum 6976 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 6984 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 6992 */
+ {.type Header, {.hdr { 1, "#", /* C_hash = 7008 */ colon }}}, /* CENTRY "#" hash 1 h 7016 */
+ {.type FromH0, {.p MV_Base}}, /* dd MV_Base 7024 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 7032 */
+ {.type FromH0, {.p M_uslashmod}}, /* dd M_uslashmod 7040 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 7048 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 7056 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 7064 */
+ {.type Absolute, {.p 9}}, /* dd 9 7072 */
+ {.type FromH0, {.p M_greater}}, /* dd M_greater 7080 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 7088 */
+ {.type FromH0, {.p L92}}, /* dd L92 7096 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 7104 */
+ {.type Absolute, {.p 97}}, /* dd 97 7112 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus 7120 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 7128 */
+ {.type Absolute, {.p 10}}, /* dd 10 7136 */
+ {.type FromH0, {.p M_minus}}, /* dd M_minus 7144 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 7152 */
+ {.type FromH0, {.p L93}}, /* dd L93 7160 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 7168 */
+ {.type Absolute, {.p 48}}, /* dd 48 7176 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus 7184 */
+ {.type FromH0, {.p MV_toNum}}, /* dd MV_toNum 7192 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 7200 */
+ {.type FromH0, {.p C_1minus}}, /* dd C_1minus 7208 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 7216 */
+ {.type FromH0, {.p MV_toNum}}, /* dd MV_toNum 7224 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 7232 */
+ {.type FromH0, {.p M_cstore}}, /* dd M_cstore 7240 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 7248 */
+ {.type Header, {.hdr { 2, "#s", /* C_hashs = 7264 */ colon }}}, /* CENTRY "#s" hashs 2 h 7272 */
+ {.type FromH0, {.p C_hash}}, /* dd C_hash 7280 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 7288 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 7296 */
+ {.type FromH0, {.p L96}}, /* dd L96 7304 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 7312 */
+ {.type FromH0, {.p L95}}, /* dd L95 7320 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 7328 */
+ {.type Header, {.hdr { 2, "#>", /* C_hashfrom = 7344 */ colon }}}, /* CENTRY "#>" hashfrom 2 h 7352 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop 7360 */
+ {.type FromH0, {.p MV_toNum}}, /* dd MV_toNum 7368 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 7376 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 7384 */
+ {.type FromH0, {.p C_pad}}, /* dd C_pad 7392 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 7400 */
+ {.type Absolute, {.p 1024}}, /* dd 1024 7408 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus 7416 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 7424 */
+ {.type FromH0, {.p M_minus}}, /* dd M_minus 7432 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 7440 */
+ {.type Header, {.hdr { 4, "hold", /* C_hold = 7456 */ colon }}}, /* CENTRY "hold" hold 4 h 7464 */
+ {.type FromH0, {.p MV_toNum}}, /* dd MV_toNum 7472 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 7480 */
+ {.type FromH0, {.p C_1minus}}, /* dd C_1minus 7488 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 7496 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush 7504 */
+ {.type FromH0, {.p M_cstore}}, /* dd M_cstore 7512 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 7520 */
+ {.type FromH0, {.p MV_toNum}}, /* dd MV_toNum 7528 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 7536 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 7544 */
+ {.type Header, {.hdr { 4, "sign", /* C_sign = 7560 */ colon }}}, /* CENTRY "sign" sign 4 h 7568 */
+ {.type FromH0, {.p C_0lt}}, /* dd C_0lt 7576 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 7584 */
+ {.type FromH0, {.p L100}}, /* dd L100 7592 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 7600 */
+ {.type Absolute, {.p 45}}, /* dd 45 7608 */
+ {.type FromH0, {.p C_hold}}, /* dd C_hold 7616 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 7624 */
+ {.type Header, {.hdr { 1, ".", /* C_dot = 7640 */ colon }}}, /* CENTRY "." dot 1 h 7648 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 7656 */
+ {.type FromH0, {.p C_abs}}, /* dd C_abs 7664 */
+ {.type FromH0, {.p C_fromhash}}, /* dd C_fromhash 7672 */
+ {.type FromH0, {.p C_hashs}}, /* dd C_hashs 7680 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 7688 */
+ {.type FromH0, {.p C_sign}}, /* dd C_sign 7696 */
+ {.type FromH0, {.p C_hashfrom}}, /* dd C_hashfrom 7704 */
+ {.type FromH0, {.p C_type}}, /* dd C_type 7712 */
+ {.type FromH0, {.p C_space}}, /* dd C_space 7720 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 7728 */
+ {.type Header, {.hdr { 2, ".r", /* C_dotr = 7744 */ colon }}}, /* CENTRY ".r" dotr 2 h 7752 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush 7760 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 7768 */
+ {.type FromH0, {.p C_abs}}, /* dd C_abs 7776 */
+ {.type FromH0, {.p C_fromhash}}, /* dd C_fromhash 7784 */
+ {.type FromH0, {.p C_hashs}}, /* dd C_hashs 7792 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 7800 */
+ {.type FromH0, {.p C_sign}}, /* dd C_sign 7808 */
+ {.type FromH0, {.p C_hashfrom}}, /* dd C_hashfrom 7816 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 7824 */
+ {.type FromH0, {.p M_over}}, /* dd M_over 7832 */
+ {.type FromH0, {.p M_minus}}, /* dd M_minus 7840 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 7848 */
+ {.type Absolute, {.p 0}}, /* dd 0 7856 */
+ {.type FromH0, {.p C_max}}, /* dd C_max 7864 */
+ {.type FromH0, {.p C_spaces}}, /* dd C_spaces 7872 */
+ {.type FromH0, {.p C_type}}, /* dd C_type 7880 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 7888 */
+ {.type Header, {.hdr { 3, "hex", /* C_hex = 7904 */ colon }}}, /* CENTRY "hex" hex 3 h 7912 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 7920 */
+ {.type Absolute, {.p 16}}, /* dd 16 7928 */
+ {.type FromH0, {.p MV_Base}}, /* dd MV_Base 7936 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 7944 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 7952 */
+ {.type Header, {.hdr { 7, "decimal", /* C_decimal = 7968 */ colon }}}, /* CENTRY "decimal" decimal 7 h 7976 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 7984 */
+ {.type Absolute, {.p 10}}, /* dd 10 7992 */
+ {.type FromH0, {.p MV_Base}}, /* dd MV_Base 8000 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 8008 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 8016 */
+ {.type Header, {.hdr { 5, "digit", /* C_digit = 8032 */ colon }}}, /* CENTRY "digit" digit 5 ; c -- h 8040 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 8048 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 8056 */
+ {.type Absolute, {.p 65}}, /* dd 65 8064 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 8072 */
+ {.type Absolute, {.p 91}}, /* dd 91 8080 */
+ {.type FromH0, {.p C_within}}, /* dd C_within 8088 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 8096 */
+ {.type FromH0, {.p L106}}, /* dd L106 8104 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 8112 */
+ {.type Absolute, {.p 55}}, /* dd 55 8120 */
+ {.type FromH0, {.p M_minus}}, /* dd M_minus 8128 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 8136 */
+ {.type FromH0, {.p L107}}, /* dd L107 8144 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 8152 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 8160 */
+ {.type Absolute, {.p 97}}, /* dd 97 8168 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 8176 */
+ {.type Absolute, {.p 123}}, /* dd 123 8184 */
+ {.type FromH0, {.p C_within}}, /* dd C_within 8192 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 8200 */
+ {.type FromH0, {.p L108}}, /* dd L108 8208 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 8216 */
+ {.type Absolute, {.p 87}}, /* dd 87 8224 */
+ {.type FromH0, {.p M_minus}}, /* dd M_minus 8232 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 8240 */
+ {.type FromH0, {.p L109}}, /* dd L109 8248 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 8256 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 8264 */
+ {.type Absolute, {.p 48}}, /* dd 48 8272 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 8280 */
+ {.type Absolute, {.p 58}}, /* dd 58 8288 */
+ {.type FromH0, {.p C_within}}, /* dd C_within 8296 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 8304 */
+ {.type FromH0, {.p L110}}, /* dd L110 8312 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 8320 */
+ {.type Absolute, {.p 48}}, /* dd 48 8328 */
+ {.type FromH0, {.p M_minus}}, /* dd M_minus 8336 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 8344 */
+ {.type FromH0, {.p L111}}, /* dd L111 8352 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop 8360 */
+ {.type FromH0, {.p C_false}}, /* dd C_false 8368 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 8376 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 8384 */
+ {.type FromH0, {.p MV_Base}}, /* dd MV_Base 8392 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 8400 */
+ {.type FromH0, {.p M_less}}, /* dd M_less 8408 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 8416 */
+ {.type FromH0, {.p L112}}, /* dd L112 8424 */
+ {.type FromH0, {.p C_true}}, /* dd C_true 8432 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 8440 */
+ {.type FromH0, {.p L113}}, /* dd L113 8448 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop 8456 */
+ {.type FromH0, {.p C_false}}, /* dd C_false 8464 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 8472 */
+ {.type Header, {.hdr { 6, "number", /* C_number = 8488 */ colon }}}, /* CENTRY "number" number 6 ; ( a n1 -- n2 -1 | a n1 0 ) h 8496 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap ; ( a n1 -- n1 a ) 8504 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup ; ( n1 a -- n1 a a ) 8512 */
+ {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch ; ( n1 a a -- n1 a c ) 8520 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 8528 */
+ {.type Absolute, {.p 45}}, /* dd 45 ; ( n1 a c -- n1 a c - ) 8536 */
+ {.type FromH0, {.p M_equal}}, /* dd M_equal ; ( n1 a c -- n1 a f ) 8544 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump ; ( n1 a c -- n1 a ) 8552 */
+ {.type FromH0, {.p L115}}, /* dd L115 ; c != - 8560 */
+ {.type FromH0, {.p C_1plus}}, /* dd C_1plus ; c == - ( n1 a -- n1 a+1 ) 8568 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 8576 */
+ {.type FromH0, {.p C_1minus}}, /* dd C_1minus ; c == - ( a+1 n1 -- a+1 n1-1 ) 8584 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 8592 */
+ {.type Absolute, {.p -1}}, /* dd -1 ; ( a+1 n1-1 -- a+1 n1-1 -1 ) 8600 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; ( a+1 n1-1 -- a+1 n1-1 ) (R -- -1) 8608 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 8616 */
+ {.type FromH0, {.p L116}}, /* dd L116 8624 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap ; ( n1 a -- a n1) 8632 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 8640 */
+ {.type Absolute, {.p 1}}, /* dd 1 8648 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; ( a n1 1 -- a n1 ) (R -- 1) 8656 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup ; ( a n1 -- a n1 n1 ) (R nr) 8664 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; ( a n1 n1 -- a n1 ) (R nr -- nr n1) 8672 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 8680 */
+ {.type Absolute, {.p 0}}, /* dd 0 ; ( a n1 -- a n1 0) (R nr n1) 8688 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap ; ( a n1 0 -- a 0 n1) (R nr n1) 8696 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 8704 */
+ {.type Absolute, {.p 0}}, /* dd 0 ; ( a 0 n1 -- a 0 n1 0) (R nr n1) 8712 */
+ {.type FromH0, {.p M_doinit}}, /* dd M_doinit ; ( a 0 n1 0 -- a 0 ) (R nr n1 -- nr n1 0 n1) 8720 */
+ {.type FromH0, {.p MV_Base}}, /* dd MV_Base 8728 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch ; ( a 0 Base -- a 0 10 ) (R nr n1 -- nr n1 0 n1) 8736 */
+ {.type FromH0, {.p M_multiply}}, /* dd M_multiply ; ( a 0 10 -- a 0 ) (R nr n1 -- nr n1 0 n1) 8744 */
+ {.type FromH0, {.p M_over}}, /* dd M_over ; ( a 0 -- a 0 a) (R nr n1 -- nr n1 0 n1) 8752 */
+ {.type FromH0, {.p M_i}}, /* dd M_i ; ( a 0 a -- a 0 a n1) (R nr n1 -- nr n1 0 n1) 8760 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus ; ( a 0 a n1 -- a 0 a+n1) (R nr n1 -- nr n1 0 n1) 8768 */
+ {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch ; ( a 0 a+n1 -- a 0 c) (R nr n1 -- nr n1 0 n1) 8776 */
+ {.type FromH0, {.p C_digit}}, /* dd C_digit 8784 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 8792 */
+ {.type FromH0, {.p L118}}, /* dd L118 8800 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus 8808 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 8816 */
+ {.type FromH0, {.p L119}}, /* dd L119 8824 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop 8832 */
+ {.type FromH0, {.p M_unloop}}, /* dd M_unloop 8840 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 8848 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 8856 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop 8864 */
+ {.type FromH0, {.p C_false}}, /* dd C_false 8872 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 8880 */
+ {.type FromH0, {.p M_doloop}}, /* dd M_doloop 8888 */
+ {.type FromH0, {.p L117}}, /* dd L117 8896 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 8904 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop 8912 */
+ {.type FromH0, {.p C_nip}}, /* dd C_nip 8920 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 8928 */
+ {.type FromH0, {.p M_multiply}}, /* dd M_multiply 8936 */
+ {.type FromH0, {.p C_true}}, /* dd C_true 8944 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 8952 */
+ {.type Header, {.hdr { 5, "abort", /* C_abort = 8968 */ colon }}}, /* CENTRY "abort" abort 5 h 8976 */
+ {.type FromH0, {.p MV_Abortvec}}, /* dd MV_Abortvec 8984 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 8992 */
+ {.type FromH0, {.p M_execute}}, /* dd M_execute 9000 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 9008 */
+ {.type Header, {.hdr { 6, "source", /* C_source = 9024 */ colon }}}, /* CENTRY "source" source 6 h 9032 */
+ {.type FromH0, {.p MV_Sourcebuf}}, /* dd MV_Sourcebuf 9040 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 9048 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 9056 */
+ {.type Header, {.hdr { 13, "current-input", /* C_current_input = 9080 */ colon }}}, /* CENTRY "current-input" current_input 13 ; ( -- c ) read the next character from the location in Sourcebuf h 9088 */
+ {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 9096 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 9104 */
+ {.type FromH0, {.p C_source}}, /* dd C_source 9112 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus ; Sourcebuf + >In 9120 */
+ {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 9128 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 9136 */
+ {.type Header, {.hdr { 10, "save-input", /* C_save_input = 9160 */ colon }}}, /* CENTRY "save-input" save_input 10 h 9168 */
+ {.type FromH0, {.p MV_Infd}}, /* dd MV_Infd 9176 */
+ {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 9184 */
{.type FromH0, {.p M_fetch}}, /* dd M_fetch 9192 */
- {.type FromH0, {.p MV_Sourcebuf}}, /* dd MV_Sourcebuf 9200 */
+ {.type FromH0, {.p MV_toLimit}}, /* dd MV_toLimit 9200 */
{.type FromH0, {.p M_fetch}}, /* dd M_fetch 9208 */
- {.type FromH0, {.p MV_Blk}}, /* dd MV_Blk 9216 */
+ {.type FromH0, {.p MV_Sourcebuf}}, /* dd MV_Sourcebuf 9216 */
{.type FromH0, {.p M_fetch}}, /* dd M_fetch 9224 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 9232 */
- {.type Absolute, {.p 5}}, /* dd 5 9240 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 9248 */
- {.type Header, {.hdr { 13, "default-input", /* C_default_input = 9272 */ colon }}}, /* CENTRY "default-input" default_input 13 h 9280 */
- {.type FromH0, {.p MC_STDIN}}, /* dd MC_STDIN 9288 */
- {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 9296 */
- {.type FromH0, {.p C_off}}, /* dd C_off 9304 */
- {.type FromH0, {.p MV_toLimit}}, /* dd MV_toLimit 9312 */
+ {.type FromH0, {.p MV_Blk}}, /* dd MV_Blk 9232 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 9240 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 9248 */
+ {.type Absolute, {.p 5}}, /* dd 5 9256 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 9264 */
+ {.type Header, {.hdr { 13, "default-input", /* C_default_input = 9288 */ colon }}}, /* CENTRY "default-input" default_input 13 h 9296 */
+ {.type FromH0, {.p MC_STDIN}}, /* dd MC_STDIN 9304 */
+ {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 9312 */
{.type FromH0, {.p C_off}}, /* dd C_off 9320 */
- {.type FromH0, {.p M_Tib}}, /* dd M_Tib 9328 */
- {.type FromH0, {.p MV_Sourcebuf}}, /* dd MV_Sourcebuf 9336 */
- {.type FromH0, {.p M_store}}, /* dd M_store 9344 */
- {.type FromH0, {.p MV_Blk}}, /* dd MV_Blk 9352 */
- {.type FromH0, {.p C_off}}, /* dd C_off 9360 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 9368 */
- {.type Header, {.hdr { 13, "restore-input", /* C_restore_input = 9392 */ colon }}}, /* CENTRY "restore-input" restore_input 13 ; ( -- f ) h 9400 */
- {.type FromH0, {.p MV_Eof}}, /* dd MV_Eof 9408 */
- {.type FromH0, {.p C_off}}, /* dd C_off 9416 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 9424 */
- {.type Absolute, {.p 5}}, /* dd 5 9432 */
- {.type FromH0, {.p C_neq}}, /* dd C_neq 9440 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 9448 */
- {.type FromH0, {.p L133}}, /* dd L133 9456 */
- {.type FromH0, {.p C_default_input}}, /* dd C_default_input 9464 */
- {.type FromH0, {.p C_false}}, /* dd C_false 9472 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 9480 */
- {.type FromH0, {.p L134}}, /* dd L134 9488 */
- {.type FromH0, {.p MV_Blk}}, /* dd MV_Blk 9496 */
- {.type FromH0, {.p M_store}}, /* dd M_store 9504 */
- {.type FromH0, {.p MV_Sourcebuf}}, /* dd MV_Sourcebuf 9512 */
+ {.type FromH0, {.p MV_toLimit}}, /* dd MV_toLimit 9328 */
+ {.type FromH0, {.p C_off}}, /* dd C_off 9336 */
+ {.type FromH0, {.p M_Tib}}, /* dd M_Tib 9344 */
+ {.type FromH0, {.p MV_Sourcebuf}}, /* dd MV_Sourcebuf 9352 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 9360 */
+ {.type FromH0, {.p MV_Blk}}, /* dd MV_Blk 9368 */
+ {.type FromH0, {.p C_off}}, /* dd C_off 9376 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 9384 */
+ {.type Header, {.hdr { 13, "restore-input", /* C_restore_input = 9408 */ colon }}}, /* CENTRY "restore-input" restore_input 13 ; ( -- f ) h 9416 */
+ {.type FromH0, {.p MV_Eof}}, /* dd MV_Eof 9424 */
+ {.type FromH0, {.p C_off}}, /* dd C_off 9432 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 9440 */
+ {.type Absolute, {.p 5}}, /* dd 5 9448 */
+ {.type FromH0, {.p C_neq}}, /* dd C_neq 9456 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 9464 */
+ {.type FromH0, {.p L133}}, /* dd L133 9472 */
+ {.type FromH0, {.p C_default_input}}, /* dd C_default_input 9480 */
+ {.type FromH0, {.p C_false}}, /* dd C_false 9488 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 9496 */
+ {.type FromH0, {.p L134}}, /* dd L134 9504 */
+ {.type FromH0, {.p MV_Blk}}, /* dd MV_Blk 9512 */
{.type FromH0, {.p M_store}}, /* dd M_store 9520 */
- {.type FromH0, {.p MV_toLimit}}, /* dd MV_toLimit 9528 */
+ {.type FromH0, {.p MV_Sourcebuf}}, /* dd MV_Sourcebuf 9528 */
{.type FromH0, {.p M_store}}, /* dd M_store 9536 */
- {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 9544 */
+ {.type FromH0, {.p MV_toLimit}}, /* dd MV_toLimit 9544 */
{.type FromH0, {.p M_store}}, /* dd M_store 9552 */
- {.type FromH0, {.p MV_Infd}}, /* dd MV_Infd 9560 */
+ {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 9560 */
{.type FromH0, {.p M_store}}, /* dd M_store 9568 */
- {.type FromH0, {.p C_true}}, /* dd C_true 9576 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 9584 */
- {.type Header, {.hdr { 14, "?restore-input", /* C_qrestore_input = 9608 */ colon }}}, /* CENTRY "?restore-input" qrestore_input 14 ; ( -- ) h 9616 */
- {.type FromH0, {.p C_restore_input}}, /* dd C_restore_input 9624 */
- {.type FromH0, {.p C_0eq}}, /* dd C_0eq 9632 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 9640 */
- {.type FromH0, {.p L136}}, /* dd L136 9648 */
- {.type FromH0, {.p C_space}}, /* dd C_space 9656 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 9664 */
- {.type FromH0, {.p L137}}, /* dd L137 9672 */
+ {.type FromH0, {.p MV_Infd}}, /* dd MV_Infd 9576 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 9584 */
+ {.type FromH0, {.p C_true}}, /* dd C_true 9592 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 9600 */
+ {.type Header, {.hdr { 14, "?restore-input", /* C_qrestore_input = 9624 */ colon }}}, /* CENTRY "?restore-input" qrestore_input 14 ; ( -- ) h 9632 */
+ {.type FromH0, {.p C_restore_input}}, /* dd C_restore_input 9640 */
+ {.type FromH0, {.p C_0eq}}, /* dd C_0eq 9648 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 9656 */
+ {.type FromH0, {.p L136}}, /* dd L136 9664 */
+ {.type FromH0, {.p C_space}}, /* dd C_space 9672 */
{.type FromH0, {.p M_literal}}, /* dd M_literal 9680 */
- {.type Absolute, {.p 23}}, /* dd 23 9688 */
- {.type FromH0, {.p C_type}}, /* dd C_type 9696 */
- {.type FromH0, {.p C_cr}}, /* dd C_cr 9704 */
- {.type FromH0, {.p C_abort}}, /* dd C_abort 9712 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 9720 */
- {.type Header, {.hdr { 10, "next-input", /* C_next_input = 9744 */ colon }}}, /* CENTRY "next-input" next_input 10 ; when >In < >Limit ( -- true c ). ( -- 0 false ) otherwise h 9752 */
- {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 9760 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 9768 */
- {.type FromH0, {.p MV_toLimit}}, /* dd MV_toLimit 9776 */
+ {.type FromH0, {.p L137}}, /* dd L137 9688 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 9696 */
+ {.type Absolute, {.p 23}}, /* dd 23 9704 */
+ {.type FromH0, {.p C_type}}, /* dd C_type 9712 */
+ {.type FromH0, {.p C_cr}}, /* dd C_cr 9720 */
+ {.type FromH0, {.p C_abort}}, /* dd C_abort 9728 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 9736 */
+ {.type Header, {.hdr { 10, "next-input", /* C_next_input = 9760 */ colon }}}, /* CENTRY "next-input" next_input 10 ; when >In < >Limit ( -- true c ). ( -- 0 false ) otherwise h 9768 */
+ {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 9776 */
{.type FromH0, {.p M_fetch}}, /* dd M_fetch 9784 */
- {.type FromH0, {.p M_less}}, /* dd M_less 9792 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 9800 */
- {.type FromH0, {.p L139}}, /* dd L139 ; >In >= >Limit 9808 */
- {.type FromH0, {.p C_true}}, /* dd C_true ; >In < >Limit 9816 */
- {.type FromH0, {.p C_current_input}}, /* dd C_current_input ; ( -- c ) 9824 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 9832 */
- {.type FromH0, {.p L140}}, /* dd L140 9840 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 9848 */
- {.type Absolute, {.p 0}}, /* dd 0 9856 */
- {.type FromH0, {.p C_false}}, /* dd C_false 9864 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 9872 */
- {.type Header, {.hdr { 5, "parse", /* C_parse = 9888 */ colon }}}, /* CENTRY "parse" parse 5 ; ( c -- a ) Place the counted string in the address in Wordbuf and return that address. c = word delimiter. h 9896 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; ( c -- ) (R -- c ) 9904 */
- {.type FromH0, {.p MV_Wordbuf}}, /* dd MV_Wordbuf 9912 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch ; ( -- Wordb ) 9920 */
- {.type FromH0, {.p C_1plus}}, /* dd C_1plus ; ( Wordb -- Wordb+1 ) 9928 */
- {.type FromH0, {.p C_next_input}}, /* dd C_next_input ; ( Wordb+1 -- Wordb+1 f c ) 9936 */
- {.type FromH0, {.p M_rfetch}}, /* dd M_rfetch ; ( Wordb+1 f c -- Wordb+1 f cinitial ) (R c -- c ) 9944 */
- {.type FromH0, {.p C_neq}}, /* dd C_neq ; ( Wordb+1 f c cinitial -- Wordb+1 f f(c!=cinitial) ) 9952 */
- {.type FromH0, {.p M_binand}}, /* dd M_binand 9960 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 9968 */
- {.type FromH0, {.p L143}}, /* dd L143 ; ( Wordb+1 ) >In >= >Limit || cinitial == cnew 9976 */
- {.type FromH0, {.p C_current_input}}, /* dd C_current_input ; ( Wordb+1 -- Wordb+1 c ) 9984 */
- {.type FromH0, {.p M_over}}, /* dd M_over 9992 */
- {.type FromH0, {.p M_cstore}}, /* dd M_cstore ; ( Wordb+1 c Wordb+1 -- Wordb+1 ) store c at Wordb+1 10000 */
- {.type FromH0, {.p C_1plus}}, /* dd C_1plus ; ( Wordb+1 -- Wordb+2 ) 10008 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 10016 */
- {.type Absolute, {.p 1}}, /* dd 1 10024 */
- {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 10032 */
- {.type FromH0, {.p C_plusstore}}, /* dd C_plusstore ; >In++ 10040 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 10048 */
- {.type FromH0, {.p L142}}, /* dd L142 ; ( Wordb+2 ) repeat 10056 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 10064 */
- {.type Absolute, {.p 1}}, /* dd 1 10072 */
- {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 10080 */
- {.type FromH0, {.p C_plusstore}}, /* dd C_plusstore ; >In++ 10088 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop ; (Wordb+1 -- Wordb+1 c) (R c -- ) 10096 */
- {.type FromH0, {.p M_drop}}, /* dd M_drop ; (Wordb+1 c -- Wordb+1) 10104 */
- {.type FromH0, {.p MV_Wordbuf}}, /* dd MV_Wordbuf 10112 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch ; (Wordb+1 -- Wordb+1 Wordb) 10120 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup ; (Wordb+1 Wordb -- Wordb+1 Wordb Wordb) 10128 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; (Wordb+1 Wordb Wordb -- Wordb+1 Wordb) (R -- Wordb) 10136 */
- {.type FromH0, {.p M_minus}}, /* dd M_minus ; (Wordb+1 Wordb -- Wordb+1-Wordb) (R -- Wordb) 10144 */
- {.type FromH0, {.p C_1minus}}, /* dd C_1minus ; (Wordb+1-Wordb -- Wordb+1-Wordb-1) (R -- Wordb) 10152 */
- {.type FromH0, {.p M_rfetch}}, /* dd M_rfetch ; (Wordb+1-Wordb-1 Wordb -- Wordb+1-Wordb-1 Wordb) (R -- Wordb) 10160 */
- {.type FromH0, {.p M_cstore}}, /* dd M_cstore ; store the length of the string found at Wordb[0]. Counted string at Wordb now. 10168 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop ; ( -- Wordb) (R Wordb -- ) 10176 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 10184 */
- {.type Header, {.hdr { 4, "word", /* C_word = 10200 */ colon }}}, /* CENTRY "word" word 4 ; ( c -- a ) skip the c"s. Placed the counted string in a (as in Wordbuf) h 10208 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; ( -- ) (R -- c ) 10216 */
- {.type FromH0, {.p C_next_input}}, /* dd C_next_input ; ( -- f c2 ) (R c1 -- ) 10224 */
- {.type FromH0, {.p M_rfetch}}, /* dd M_rfetch ; ( f cnew -- f cnew cinitial ) (R cinitial -- cinitial ) 10232 */
- {.type FromH0, {.p M_equal}}, /* dd M_equal ; ( f cnew cinitial -- f f(cnew==cinitial) ) (R cinitial -- cinitial ) 10240 */
- {.type FromH0, {.p M_binand}}, /* dd M_binand ; ( f f2 -- f&&f2 ) (R cinitial -- cinitial ) 10248 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 10256 */
- {.type FromH0, {.p L146}}, /* dd L146 ; >In >= >Limit || cinitial != cnew 10264 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal ; >In < >Limit && cinitial == cnew 10272 */
- {.type Absolute, {.p 1}}, /* dd 1 10280 */
- {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 10288 */
- {.type FromH0, {.p C_plusstore}}, /* dd C_plusstore ; >In++ 10296 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump ; repeat 10304 */
- {.type FromH0, {.p L145}}, /* dd L145 10312 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop ; ( -- cinitial ) Sourcebuf+>In = location of first non-matching character 10320 */
- {.type FromH0, {.p C_parse}}, /* dd C_parse 10328 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 10336 */
- {.type Header, {.hdr { 6, "accept", /* C_accept = 10352 */ colon }}}, /* CENTRY "accept" accept 6 ; ( a n -- n ) get line or n chars or EOF from input and store at a h 10360 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap ; ( n a -- ) 10368 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup ; ( n a a -- ) 10376 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush 10384 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; ( n -- ) (R a a -- ) 10392 */
- {.type FromH0, {.p C_qdup}}, /* dd C_qdup ; ( n n -- ) (R a a -- ) 10400 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump ; (if) 10408 */
- {.type FromH0, {.p L149}}, /* dd L149 ; n == 0 10416 */
- {.type FromH0, {.p C_key}}, /* dd C_key ; n > 0 ( n -- n c ) 10424 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup ; ( -- n c c ) 10432 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 10440 */
- {.type Absolute, {.p 10}}, /* dd 10 ; ( -- n c c 10 ) 10448 */
- {.type FromH0, {.p M_equal}}, /* dd M_equal ; ( n c c 10 -- n c f ) checking for newline 10456 */
- {.type FromH0, {.p M_over}}, /* dd M_over ; ( -- n c f c ) 10464 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 10472 */
- {.type Absolute, {.p -1}}, /* dd -1 ; ( -- n c f c -1 ) 10480 */
- {.type FromH0, {.p M_equal}}, /* dd M_equal ; ( -- n c f1 f2 ) 10488 */
- {.type FromH0, {.p M_binor}}, /* dd M_binor ; ( -- n c f ) 10496 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 10504 */
- {.type FromH0, {.p L150}}, /* dd L150 10512 */
- {.type FromH0, {.p C_2drop}}, /* dd C_2drop ; n == -1 || n == 10 ( -- ) 10520 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 10528 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 10536 */
- {.type FromH0, {.p M_minus}}, /* dd M_minus ; ( -- a2-a1 ) 10544 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon ; ( -- n ) (R -- ) 10552 */
- {.type FromH0, {.p M_rfetch}}, /* dd M_rfetch ; ( n c a -- ) (R a a -- ) 10560 */
- {.type FromH0, {.p M_cstore}}, /* dd M_cstore ; store the character at a 10568 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop ; ( n a -- ) (R a -- ) 10576 */
- {.type FromH0, {.p C_1plus}}, /* dd C_1plus 10584 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; ( n -- ) (R a1 -- a1 a2 ) a1 = begin address a2 = current address 10592 */
- {.type FromH0, {.p C_1minus}}, /* dd C_1minus ; ( n -- n-1 ) 10600 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 10608 */
- {.type FromH0, {.p L148}}, /* dd L148 ; loop again for the next character 10616 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop ; ( -- a2 ) (R a1 a2 -- a1 ) 10624 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop ; ( a2 a1 -- ) (R a1 -- ) 10632 */
- {.type FromH0, {.p M_minus}}, /* dd M_minus ; ( a2 a1 -- a2-a1 ) 10640 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 10648 */
- {.type Header, {.hdr { 5, "query", /* C_query = 10664 */ colon }}}, /* CENTRY "query" query 5 ; read from input stream into the Text Input Buffer h 10672 */
- {.type FromH0, {.p MV_Eof}}, /* dd MV_Eof 10680 */
- {.type FromH0, {.p C_off}}, /* dd C_off ; clear EOF flag 10688 */
- {.type FromH0, {.p M_Tib}}, /* dd M_Tib ; constant puts address of tibuffer on the top 10696 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 10704 */
- {.type Absolute, {.p 4096}}, /* dd 4096 ; ( tibuffer -- tibuffer 4096 ) 10712 */
- {.type FromH0, {.p C_accept}}, /* dd C_accept ; ( tibuffer 4096 -- n ) 10720 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup ; ( n -- n n ) 10728 */
- {.type FromH0, {.p C_0eq}}, /* dd C_0eq ; ( n n -- n f ) 10736 */
- {.type FromH0, {.p MV_Eof}}, /* dd MV_Eof 10744 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 10752 */
- {.type FromH0, {.p M_binand}}, /* dd M_binand ; n == 0 && EOF 10760 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 10768 */
- {.type FromH0, {.p L152}}, /* dd L152 ; false condition 10776 */
-/* ; get out instead of M_drop and then C_qrestore_input */ {.type FromH0, {.p M_terminate}}, /* dd M_terminate ; dd M_drop ; n == 0 && EOF ( n -- ) 10784 */
- {.type FromH0, {.p C_qrestore_input}}, /* dd C_qrestore_input 10792 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 10800 */
- {.type FromH0, {.p L153}}, /* dd L153 10808 */
- {.type FromH0, {.p MV_toLimit}}, /* dd MV_toLimit 10816 */
- {.type FromH0, {.p M_store}}, /* dd M_store ; number of characters to read >Limit = n 10824 */
- {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 10832 */
- {.type FromH0, {.p C_off}}, /* dd C_off ; start from 0 >In = 0 10840 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 10848 */
- {.type Header, {.hdr { 6, "refill", /* C_refill = 10864 */ colon }}}, /* CENTRY "refill" refill 6 h 10872 */
- {.type FromH0, {.p MV_Blk}}, /* dd MV_Blk 10880 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 10888 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 10896 */
- {.type FromH0, {.p L155}}, /* dd L155 10904 */
- {.type FromH0, {.p C_false}}, /* dd C_false 10912 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 10920 */
- {.type FromH0, {.p L156}}, /* dd L156 10928 */
- {.type FromH0, {.p C_query}}, /* dd C_query 10936 */
- {.type FromH0, {.p C_true}}, /* dd C_true 10944 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 10952 */
- {.type Header, {.hdr { 8, "findname", /* C_findname = 10976 */ colon }}}, /* CENTRY "findname" findname 8 ; ( a1 -- a2 f ) ; loop through the dictionary names h 10984 */
- {.type FromH0, {.p MV_Findadr}}, /* dd MV_Findadr 10992 */
- {.type FromH0, {.p M_store}}, /* dd M_store 11000 */
- {.type FromH0, {.p M_Dtop}}, /* dd M_Dtop 11008 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch ; get latest dictionary link 11016 */
- {.type FromH0, {.p C_qdup}}, /* dd C_qdup 11024 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 11032 */
- {.type FromH0, {.p L159}}, /* dd L159 ; seached until the first dictionary entry get out 11040 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup ; ( a -- a a ) 11048 */
- {.type FromH0, {.p C_cellplus}}, /* dd C_cellplus ; ( a a -- a a+8) lenth + initial name address 11056 */
- {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch ; ( a a+8 -- a immediate|hidden|len) length + initial name 11064 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 11072 */
- {.type Absolute, {.p 64}}, /* dd 64 ; check the reveal'ed flag 1=hidden, 0=reveal 11080 */
- {.type FromH0, {.p M_binand}}, /* dd M_binand ; if hidden, goto L161 else L160 11088 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 11096 */
- {.type FromH0, {.p L160}}, /* dd L160 11104 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch ; smudge'd dictionary entry, get the previous entry 11112 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 11120 */
- {.type FromH0, {.p L161}}, /* dd L161 11128 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup ; ( a1 -- a1 a1) 11136 */
- {.type FromH0, {.p C_cellplus}}, /* dd C_cellplus ; ( a1 a1 -- a1 a1+8) 11144 */
- {.type FromH0, {.p C_count}}, /* dd C_count ; ( a1 a1+8 -- a1 a1+8+1 n ) 11152 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 11160 */
- {.type Absolute, {.p 63}}, /* dd 63 11168 */
- {.type FromH0, {.p M_binand}}, /* dd M_binand ; ( a1 a1+8+1 n 63 -- a1 a1+8+1 n&63=len ) 11176 */
- {.type FromH0, {.p MV_Findadr}}, /* dd MV_Findadr 11184 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 11192 */
- {.type FromH0, {.p C_count}}, /* dd C_count ; ( a1 a1+8+1 len=n&63 a2 -- a1 a1+8+1 n&63 a2+1 n2 ) 11200 */
- {.type FromH0, {.p C_compare}}, /* dd C_compare ; ( a1 a1+8+1 len=n&63 a2+1 n2 -- a1 f ) compare dictionary entry with name 11208 */
- {.type FromH0, {.p C_0eq}}, /* dd C_0eq ; found a match? 11216 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 11224 */
- {.type FromH0, {.p L162}}, /* dd L162 ; no match 11232 */
- {.type FromH0, {.p C_cellplus}}, /* dd C_cellplus ; match found 11240 */
- {.type FromH0, {.p C_true}}, /* dd C_true 11248 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 11256 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 11264 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 11272 */
- {.type FromH0, {.p L158}}, /* dd L158 11280 */
- {.type FromH0, {.p MV_Findadr}}, /* dd MV_Findadr 11288 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 11296 */
- {.type FromH0, {.p C_false}}, /* dd C_false 11304 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 11312 */
- {.type Header, {.hdr { 4, "find", /* C_find = 11328 */ colon }}}, /* CENTRY "find" find 4 ; ( a1 -- a2 f )? h 11336 */
- {.type FromH0, {.p C_findname}}, /* dd C_findname 11344 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 11352 */
- {.type FromH0, {.p L164}}, /* dd L164 11360 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 11368 */
- {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 11376 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 11384 */
- {.type FromH0, {.p M_over}}, /* dd M_over 11392 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 11400 */
- {.type Absolute, {.p 63}}, /* dd 63 11408 */
- {.type FromH0, {.p M_binand}}, /* dd M_binand 11416 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus 11424 */
- {.type FromH0, {.p C_1plus}}, /* dd C_1plus 11432 */
- {.type FromH0, {.p C_aligned}}, /* dd C_aligned 11440 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 11448 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 11456 */
- {.type Absolute, {.p 128}}, /* dd 128 11464 */
- {.type FromH0, {.p M_binand}}, /* dd M_binand 11472 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 11480 */
- {.type FromH0, {.p L165}}, /* dd L165 11488 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 11496 */
- {.type Absolute, {.p 1}}, /* dd 1 11504 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 11512 */
- {.type FromH0, {.p L166}}, /* dd L166 11520 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 11528 */
- {.type Absolute, {.p -1}}, /* dd -1 11536 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 11544 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 11552 */
- {.type FromH0, {.p L167}}, /* dd L167 11560 */
- {.type FromH0, {.p C_false}}, /* dd C_false 11568 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 11576 */
- {.type Header, {.hdr { 1, "'", /* C_single_quote = 11592 */ colon }}}, /* CENTRY "'" single_quote 1 h 11600 */
- {.type FromH0, {.p C_bl}}, /* dd C_bl 11608 */
- {.type FromH0, {.p C_word}}, /* dd C_word 11616 */
- {.type FromH0, {.p C_find}}, /* dd C_find 11624 */
- {.type FromH0, {.p C_0eq}}, /* dd C_0eq 11632 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 11640 */
- {.type FromH0, {.p L169}}, /* dd L169 11648 */
- {.type FromH0, {.p C_space}}, /* dd C_space 11656 */
- {.type FromH0, {.p C_count}}, /* dd C_count 11664 */
- {.type FromH0, {.p C_type}}, /* dd C_type 11672 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 11680 */
- {.type FromH0, {.p L170}}, /* dd L170 11688 */
+ {.type FromH0, {.p MV_toLimit}}, /* dd MV_toLimit 9792 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 9800 */
+ {.type FromH0, {.p M_less}}, /* dd M_less 9808 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 9816 */
+ {.type FromH0, {.p L139}}, /* dd L139 ; >In >= >Limit 9824 */
+ {.type FromH0, {.p C_true}}, /* dd C_true ; >In < >Limit 9832 */
+ {.type FromH0, {.p C_current_input}}, /* dd C_current_input ; ( -- c ) 9840 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 9848 */
+ {.type FromH0, {.p L140}}, /* dd L140 9856 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 9864 */
+ {.type Absolute, {.p 0}}, /* dd 0 9872 */
+ {.type FromH0, {.p C_false}}, /* dd C_false 9880 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 9888 */
+ {.type Header, {.hdr { 5, "parse", /* C_parse = 9904 */ colon }}}, /* CENTRY "parse" parse 5 ; ( c -- a ) Place the counted string in the address in Wordbuf and return that address. c = word delimiter. h 9912 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; ( c -- ) (R -- c ) 9920 */
+ {.type FromH0, {.p MV_Wordbuf}}, /* dd MV_Wordbuf 9928 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch ; ( -- Wordb ) 9936 */
+ {.type FromH0, {.p C_1plus}}, /* dd C_1plus ; ( Wordb -- Wordb+1 ) 9944 */
+ {.type FromH0, {.p C_next_input}}, /* dd C_next_input ; ( Wordb+1 -- Wordb+1 f c ) 9952 */
+ {.type FromH0, {.p M_rfetch}}, /* dd M_rfetch ; ( Wordb+1 f c -- Wordb+1 f cinitial ) (R c -- c ) 9960 */
+ {.type FromH0, {.p C_neq}}, /* dd C_neq ; ( Wordb+1 f c cinitial -- Wordb+1 f f(c!=cinitial) ) 9968 */
+ {.type FromH0, {.p M_binand}}, /* dd M_binand 9976 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 9984 */
+ {.type FromH0, {.p L143}}, /* dd L143 ; ( Wordb+1 ) >In >= >Limit || cinitial == cnew 9992 */
+ {.type FromH0, {.p C_current_input}}, /* dd C_current_input ; ( Wordb+1 -- Wordb+1 c ) 10000 */
+ {.type FromH0, {.p M_over}}, /* dd M_over 10008 */
+ {.type FromH0, {.p M_cstore}}, /* dd M_cstore ; ( Wordb+1 c Wordb+1 -- Wordb+1 ) store c at Wordb+1 10016 */
+ {.type FromH0, {.p C_1plus}}, /* dd C_1plus ; ( Wordb+1 -- Wordb+2 ) 10024 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 10032 */
+ {.type Absolute, {.p 1}}, /* dd 1 10040 */
+ {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 10048 */
+ {.type FromH0, {.p C_plusstore}}, /* dd C_plusstore ; >In++ 10056 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 10064 */
+ {.type FromH0, {.p L142}}, /* dd L142 ; ( Wordb+2 ) repeat 10072 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 10080 */
+ {.type Absolute, {.p 1}}, /* dd 1 10088 */
+ {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 10096 */
+ {.type FromH0, {.p C_plusstore}}, /* dd C_plusstore ; >In++ 10104 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop ; (Wordb+1 -- Wordb+1 c) (R c -- ) 10112 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop ; (Wordb+1 c -- Wordb+1) 10120 */
+ {.type FromH0, {.p MV_Wordbuf}}, /* dd MV_Wordbuf 10128 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch ; (Wordb+1 -- Wordb+1 Wordb) 10136 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup ; (Wordb+1 Wordb -- Wordb+1 Wordb Wordb) 10144 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; (Wordb+1 Wordb Wordb -- Wordb+1 Wordb) (R -- Wordb) 10152 */
+ {.type FromH0, {.p M_minus}}, /* dd M_minus ; (Wordb+1 Wordb -- Wordb+1-Wordb) (R -- Wordb) 10160 */
+ {.type FromH0, {.p C_1minus}}, /* dd C_1minus ; (Wordb+1-Wordb -- Wordb+1-Wordb-1) (R -- Wordb) 10168 */
+ {.type FromH0, {.p M_rfetch}}, /* dd M_rfetch ; (Wordb+1-Wordb-1 Wordb -- Wordb+1-Wordb-1 Wordb) (R -- Wordb) 10176 */
+ {.type FromH0, {.p M_cstore}}, /* dd M_cstore ; store the length of the string found at Wordb[0]. Counted string at Wordb now. 10184 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop ; ( -- Wordb) (R Wordb -- ) 10192 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 10200 */
+ {.type Header, {.hdr { 4, "word", /* C_word = 10216 */ colon }}}, /* CENTRY "word" word 4 ; ( c -- a ) skip the c"s. Placed the counted string in a (as in Wordbuf) h 10224 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; ( -- ) (R -- c ) 10232 */
+ {.type FromH0, {.p C_next_input}}, /* dd C_next_input ; ( -- f c2 ) (R c1 -- ) 10240 */
+ {.type FromH0, {.p M_rfetch}}, /* dd M_rfetch ; ( f cnew -- f cnew cinitial ) (R cinitial -- cinitial ) 10248 */
+ {.type FromH0, {.p M_equal}}, /* dd M_equal ; ( f cnew cinitial -- f f(cnew==cinitial) ) (R cinitial -- cinitial ) 10256 */
+ {.type FromH0, {.p M_binand}}, /* dd M_binand ; ( f f2 -- f&&f2 ) (R cinitial -- cinitial ) 10264 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 10272 */
+ {.type FromH0, {.p L146}}, /* dd L146 ; >In >= >Limit || cinitial != cnew 10280 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal ; >In < >Limit && cinitial == cnew 10288 */
+ {.type Absolute, {.p 1}}, /* dd 1 10296 */
+ {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 10304 */
+ {.type FromH0, {.p C_plusstore}}, /* dd C_plusstore ; >In++ 10312 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump ; repeat 10320 */
+ {.type FromH0, {.p L145}}, /* dd L145 10328 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop ; ( -- cinitial ) Sourcebuf+>In = location of first non-matching character 10336 */
+ {.type FromH0, {.p C_parse}}, /* dd C_parse 10344 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 10352 */
+ {.type Header, {.hdr { 6, "accept", /* C_accept = 10368 */ colon }}}, /* CENTRY "accept" accept 6 ; ( a n -- n ) get line or n chars or EOF from input and store at a h 10376 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap ; ( n a -- ) 10384 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup ; ( n a a -- ) 10392 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush 10400 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; ( n -- ) (R a a -- ) 10408 */
+ {.type FromH0, {.p C_qdup}}, /* dd C_qdup ; ( n n -- ) (R a a -- ) 10416 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump ; (if) 10424 */
+ {.type FromH0, {.p L149}}, /* dd L149 ; n == 0 10432 */
+ {.type FromH0, {.p C_key}}, /* dd C_key ; n > 0 ( n -- n c ) 10440 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup ; ( -- n c c ) 10448 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 10456 */
+ {.type Absolute, {.p 10}}, /* dd 10 ; ( -- n c c 10 ) 10464 */
+ {.type FromH0, {.p M_equal}}, /* dd M_equal ; ( n c c 10 -- n c f ) checking for newline 10472 */
+ {.type FromH0, {.p M_over}}, /* dd M_over ; ( -- n c f c ) 10480 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 10488 */
+ {.type Absolute, {.p -1}}, /* dd -1 ; ( -- n c f c -1 ) 10496 */
+ {.type FromH0, {.p M_equal}}, /* dd M_equal ; ( -- n c f1 f2 ) 10504 */
+ {.type FromH0, {.p M_binor}}, /* dd M_binor ; ( -- n c f ) 10512 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 10520 */
+ {.type FromH0, {.p L150}}, /* dd L150 10528 */
+ {.type FromH0, {.p C_2drop}}, /* dd C_2drop ; n == -1 || n == 10 ( -- ) 10536 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 10544 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 10552 */
+ {.type FromH0, {.p M_minus}}, /* dd M_minus ; ( -- a2-a1 ) 10560 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon ; ( -- n ) (R -- ) 10568 */
+ {.type FromH0, {.p M_rfetch}}, /* dd M_rfetch ; ( n c a -- ) (R a a -- ) 10576 */
+ {.type FromH0, {.p M_cstore}}, /* dd M_cstore ; store the character at a 10584 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop ; ( n a -- ) (R a -- ) 10592 */
+ {.type FromH0, {.p C_1plus}}, /* dd C_1plus 10600 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush ; ( n -- ) (R a1 -- a1 a2 ) a1 = begin address a2 = current address 10608 */
+ {.type FromH0, {.p C_1minus}}, /* dd C_1minus ; ( n -- n-1 ) 10616 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 10624 */
+ {.type FromH0, {.p L148}}, /* dd L148 ; loop again for the next character 10632 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop ; ( -- a2 ) (R a1 a2 -- a1 ) 10640 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop ; ( a2 a1 -- ) (R a1 -- ) 10648 */
+ {.type FromH0, {.p M_minus}}, /* dd M_minus ; ( a2 a1 -- a2-a1 ) 10656 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 10664 */
+ {.type Header, {.hdr { 5, "query", /* C_query = 10680 */ colon }}}, /* CENTRY "query" query 5 ; read from input stream into the Text Input Buffer h 10688 */
+ {.type FromH0, {.p MV_Eof}}, /* dd MV_Eof 10696 */
+ {.type FromH0, {.p C_off}}, /* dd C_off ; clear EOF flag 10704 */
+ {.type FromH0, {.p M_Tib}}, /* dd M_Tib ; constant puts address of tibuffer on the top 10712 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 10720 */
+ {.type Absolute, {.p 4096}}, /* dd 4096 ; ( tibuffer -- tibuffer 4096 ) 10728 */
+ {.type FromH0, {.p C_accept}}, /* dd C_accept ; ( tibuffer 4096 -- n ) 10736 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup ; ( n -- n n ) 10744 */
+ {.type FromH0, {.p C_0eq}}, /* dd C_0eq ; ( n n -- n f ) 10752 */
+ {.type FromH0, {.p MV_Eof}}, /* dd MV_Eof 10760 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 10768 */
+ {.type FromH0, {.p M_binand}}, /* dd M_binand ; n == 0 && EOF 10776 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 10784 */
+ {.type FromH0, {.p L152}}, /* dd L152 ; false condition 10792 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop ; n == 0 && EOF ( n -- ) 10800 */
+ {.type FromH0, {.p C_qrestore_input}}, /* dd C_qrestore_input 10808 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 10816 */
+ {.type FromH0, {.p L153}}, /* dd L153 10824 */
+ {.type FromH0, {.p MV_toLimit}}, /* dd MV_toLimit 10832 */
+ {.type FromH0, {.p M_store}}, /* dd M_store ; number of characters to read >Limit = n 10840 */
+ {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 10848 */
+ {.type FromH0, {.p C_off}}, /* dd C_off ; start from 0 >In = 0 10856 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 10864 */
+ {.type Header, {.hdr { 6, "refill", /* C_refill = 10880 */ colon }}}, /* CENTRY "refill" refill 6 h 10888 */
+ {.type FromH0, {.p MV_Blk}}, /* dd MV_Blk 10896 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 10904 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 10912 */
+ {.type FromH0, {.p L155}}, /* dd L155 10920 */
+ {.type FromH0, {.p C_false}}, /* dd C_false 10928 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 10936 */
+ {.type FromH0, {.p L156}}, /* dd L156 10944 */
+ {.type FromH0, {.p C_query}}, /* dd C_query 10952 */
+ {.type FromH0, {.p C_true}}, /* dd C_true 10960 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 10968 */
+ {.type Header, {.hdr { 8, "findname", /* C_findname = 10992 */ colon }}}, /* CENTRY "findname" findname 8 ; ( a1 -- a2 f ) ; loop through the dictionary names h 11000 */
+ {.type FromH0, {.p MV_Findadr}}, /* dd MV_Findadr 11008 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 11016 */
+ {.type FromH0, {.p M_Dtop}}, /* dd M_Dtop 11024 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch ; get latest dictionary link 11032 */
+ {.type FromH0, {.p C_qdup}}, /* dd C_qdup 11040 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 11048 */
+ {.type FromH0, {.p L159}}, /* dd L159 ; seached until the first dictionary entry get out 11056 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup ; ( a -- a a ) 11064 */
+ {.type FromH0, {.p C_cellplus}}, /* dd C_cellplus ; ( a a -- a a+8) lenth + initial name address 11072 */
+ {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch ; ( a a+8 -- a immediate|hidden|len) length + initial name 11080 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 11088 */
+ {.type Absolute, {.p 64}}, /* dd 64 ; check the reveal'ed flag 1=hidden, 0=reveal 11096 */
+ {.type FromH0, {.p M_binand}}, /* dd M_binand ; if hidden, goto L161 else L160 11104 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 11112 */
+ {.type FromH0, {.p L160}}, /* dd L160 11120 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch ; smudge'd dictionary entry, get the previous entry 11128 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 11136 */
+ {.type FromH0, {.p L161}}, /* dd L161 11144 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup ; ( a1 -- a1 a1) 11152 */
+ {.type FromH0, {.p C_cellplus}}, /* dd C_cellplus ; ( a1 a1 -- a1 a1+8) 11160 */
+ {.type FromH0, {.p C_count}}, /* dd C_count ; ( a1 a1+8 -- a1 a1+8+1 n ) 11168 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 11176 */
+ {.type Absolute, {.p 63}}, /* dd 63 11184 */
+ {.type FromH0, {.p M_binand}}, /* dd M_binand ; ( a1 a1+8+1 n 63 -- a1 a1+8+1 n&63=len ) 11192 */
+ {.type FromH0, {.p MV_Findadr}}, /* dd MV_Findadr 11200 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 11208 */
+ {.type FromH0, {.p C_count}}, /* dd C_count ; ( a1 a1+8+1 len=n&63 a2 -- a1 a1+8+1 n&63 a2+1 n2 ) 11216 */
+ {.type FromH0, {.p C_compare}}, /* dd C_compare ; ( a1 a1+8+1 len=n&63 a2+1 n2 -- a1 f ) compare dictionary entry with name 11224 */
+ {.type FromH0, {.p C_0eq}}, /* dd C_0eq ; found a match? 11232 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 11240 */
+ {.type FromH0, {.p L162}}, /* dd L162 ; no match 11248 */
+ {.type FromH0, {.p C_cellplus}}, /* dd C_cellplus ; match found 11256 */
+ {.type FromH0, {.p C_true}}, /* dd C_true 11264 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 11272 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 11280 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 11288 */
+ {.type FromH0, {.p L158}}, /* dd L158 11296 */
+ {.type FromH0, {.p MV_Findadr}}, /* dd MV_Findadr 11304 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 11312 */
+ {.type FromH0, {.p C_false}}, /* dd C_false 11320 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 11328 */
+ {.type Header, {.hdr { 4, "find", /* C_find = 11344 */ colon }}}, /* CENTRY "find" find 4 ; ( a1 -- a2 f )? h 11352 */
+ {.type FromH0, {.p C_findname}}, /* dd C_findname 11360 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 11368 */
+ {.type FromH0, {.p L164}}, /* dd L164 11376 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 11384 */
+ {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 11392 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 11400 */
+ {.type FromH0, {.p M_over}}, /* dd M_over 11408 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 11416 */
+ {.type Absolute, {.p 63}}, /* dd 63 11424 */
+ {.type FromH0, {.p M_binand}}, /* dd M_binand 11432 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus 11440 */
+ {.type FromH0, {.p C_1plus}}, /* dd C_1plus 11448 */
+ {.type FromH0, {.p C_aligned}}, /* dd C_aligned 11456 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 11464 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 11472 */
+ {.type Absolute, {.p 128}}, /* dd 128 11480 */
+ {.type FromH0, {.p M_binand}}, /* dd M_binand 11488 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 11496 */
+ {.type FromH0, {.p L165}}, /* dd L165 11504 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 11512 */
+ {.type Absolute, {.p 1}}, /* dd 1 11520 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 11528 */
+ {.type FromH0, {.p L166}}, /* dd L166 11536 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 11544 */
+ {.type Absolute, {.p -1}}, /* dd -1 11552 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 11560 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 11568 */
+ {.type FromH0, {.p L167}}, /* dd L167 11576 */
+ {.type FromH0, {.p C_false}}, /* dd C_false 11584 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 11592 */
+ {.type Header, {.hdr { 1, "'", /* C_single_quote = 11608 */ colon }}}, /* CENTRY "'" single_quote 1 h 11616 */
+ {.type FromH0, {.p C_bl}}, /* dd C_bl 11624 */
+ {.type FromH0, {.p C_word}}, /* dd C_word 11632 */
+ {.type FromH0, {.p C_find}}, /* dd C_find 11640 */
+ {.type FromH0, {.p C_0eq}}, /* dd C_0eq 11648 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 11656 */
+ {.type FromH0, {.p L169}}, /* dd L169 11664 */
+ {.type FromH0, {.p C_space}}, /* dd C_space 11672 */
+ {.type FromH0, {.p C_count}}, /* dd C_count 11680 */
+ {.type FromH0, {.p C_type}}, /* dd C_type 11688 */
{.type FromH0, {.p M_literal}}, /* dd M_literal 11696 */
- {.type Absolute, {.p 3}}, /* dd 3 11704 */
- {.type FromH0, {.p C_type}}, /* dd C_type 11712 */
- {.type FromH0, {.p C_cr}}, /* dd C_cr 11720 */
- {.type FromH0, {.p C_abort}}, /* dd C_abort 11728 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 11736 */
- {.type Header, {.hdr { 6, "?stack", /* C_qstack = 11752 */ colon }}}, /* CENTRY "?stack" qstack 6 h 11760 */
- {.type FromH0, {.p M_stackptr}}, /* dd M_stackptr 11768 */
- {.type FromH0, {.p M_S0}}, /* dd M_S0 11776 */
- {.type FromH0, {.p M_greater}}, /* dd M_greater 11784 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 11792 */
- {.type FromH0, {.p L172}}, /* dd L172 11800 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 11808 */
- {.type FromH0, {.p L173}}, /* dd L173 11816 */
+ {.type FromH0, {.p L170}}, /* dd L170 11704 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 11712 */
+ {.type Absolute, {.p 3}}, /* dd 3 11720 */
+ {.type FromH0, {.p C_type}}, /* dd C_type 11728 */
+ {.type FromH0, {.p C_cr}}, /* dd C_cr 11736 */
+ {.type FromH0, {.p C_abort}}, /* dd C_abort 11744 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 11752 */
+ {.type Header, {.hdr { 6, "?stack", /* C_qstack = 11768 */ colon }}}, /* CENTRY "?stack" qstack 6 h 11776 */
+ {.type FromH0, {.p M_stackptr}}, /* dd M_stackptr 11784 */
+ {.type FromH0, {.p M_S0}}, /* dd M_S0 11792 */
+ {.type FromH0, {.p M_greater}}, /* dd M_greater 11800 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 11808 */
+ {.type FromH0, {.p L172}}, /* dd L172 11816 */
{.type FromH0, {.p M_literal}}, /* dd M_literal 11824 */
- {.type Absolute, {.p 16}}, /* dd 16 11832 */
- {.type FromH0, {.p C_type}}, /* dd C_type 11840 */
- {.type FromH0, {.p C_cr}}, /* dd C_cr 11848 */
- {.type FromH0, {.p C_abort}}, /* dd C_abort 11856 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 11864 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup ; debug code to show the word found 11872 */
- {.type FromH0, {.p C_count}}, /* dd C_count ; ( -- a n) 11880 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap ; ( -- n a) 11888 */
- {.type FromH0, {.p MC_STDOUT}}, /* dd MC_STDOUT 11896 */
- {.type FromH0, {.p M_fthwrite}}, /* dd M_fthwrite 11904 */
- {.type FromH0, {.p M_drop}}, /* dd M_drop ; drop the return value of write 11912 */
- {.type Header, {.hdr { 9, "interpret", /* C_interpret = 11936 */ colon }}}, /* CENTRY "interpret" interpret 9 ; there is stuff in TIB to be interpreted >In and >Limit are set h 11944 */
- {.type FromH0, {.p C_bl}}, /* dd C_bl 11952 */
- {.type FromH0, {.p C_word}}, /* dd C_word ; ( bl -- a ) a = address of counted string 11960 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 11968 */
- {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 11976 */
- {.type FromH0, {.p C_0neq}}, /* dd C_0neq 11984 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 11992 */
- {.type FromH0, {.p L176}}, /* dd L176 ; count at a = 0 12000 */
- {.type FromH0, {.p C_find}}, /* dd C_find ; ( a -- a1 f ) a = address of counted string 12008 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 12016 */
- {.type FromH0, {.p L177}}, /* dd L177 12024 */
- {.type FromH0, {.p C_qstack}}, /* dd C_qstack 12032 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 12040 */
- {.type FromH0, {.p L178}}, /* dd L178 12048 */
- {.type FromH0, {.p C_count}}, /* dd C_count 12056 */
- {.type FromH0, {.p C_number}}, /* dd C_number 12064 */
- {.type FromH0, {.p C_0eq}}, /* dd C_0eq 12072 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 12080 */
- {.type FromH0, {.p L179}}, /* dd L179 12088 */
- {.type FromH0, {.p C_space}}, /* dd C_space 12096 */
- {.type FromH0, {.p C_type}}, /* dd C_type 12104 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 12112 */
- {.type FromH0, {.p L180}}, /* dd L180 ; error I? 12120 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 12128 */
- {.type Absolute, {.p 3}}, /* dd 3 12136 */
- {.type FromH0, {.p C_type}}, /* dd C_type 12144 */
- {.type FromH0, {.p C_cr}}, /* dd C_cr 12152 */
- {.type FromH0, {.p C_abort}}, /* dd C_abort 12160 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 12168 */
- {.type FromH0, {.p L175}}, /* dd L175 12176 */
- {.type FromH0, {.p M_drop}}, /* dd M_drop ; count at a = 0 ( a -- ) 12184 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 12192 */
- {.type Header, {.hdr { 6, "create", /* C_create = 12208 */ colon }}}, /* CENTRY "create" create 6 h 12216 */
- {.type FromH0, {.p C_align}}, /* dd C_align 12224 */
- {.type FromH0, {.p C_here}}, /* dd C_here 12232 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush 12240 */
- {.type FromH0, {.p M_Dp}}, /* dd M_Dp 12248 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 12256 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 12264 */
- {.type FromH0, {.p C_bl}}, /* dd C_bl 12272 */
- {.type FromH0, {.p C_word}}, /* dd C_word 12280 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 12288 */
- {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 12296 */
- {.type FromH0, {.p C_here}}, /* dd C_here 12304 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 12312 */
- {.type FromH0, {.p C_1plus}}, /* dd C_1plus 12320 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 12328 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush 12336 */
- {.type FromH0, {.p M_cmove}}, /* dd M_cmove 12344 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 12352 */
- {.type FromH0, {.p C_allot}}, /* dd C_allot 12360 */
- {.type FromH0, {.p C_align}}, /* dd C_align 12368 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 12376 */
- {.type FromH0, {.p M_variable}}, /* dd M_variable 12384 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 12392 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 12400 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 12408 */
- {.type FromH0, {.p M_Dp}}, /* dd M_Dp 12416 */
- {.type FromH0, {.p M_store}}, /* dd M_store 12424 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 12432 */
- {.type Header, {.hdr { 8, "variable", /* C_variable = 12456 */ colon }}}, /* CENTRY "variable" variable 8 h 12464 */
- {.type FromH0, {.p C_create}}, /* dd C_create 12472 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 12480 */
- {.type Absolute, {.p 0}}, /* dd 0 12488 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 12496 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 12504 */
- {.type Header, {.hdr { 8, "constant", /* C_constant = 12528 */ colon }}}, /* CENTRY "constant" constant 8 h 12536 */
- {.type FromH0, {.p C_create}}, /* dd C_create 12544 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 12552 */
- {.type FromH0, {.p M_constant}}, /* dd M_constant 12560 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 12568 */
- {.type FromH0, {.p C_here}}, /* dd C_here 12576 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 12584 */
- {.type Absolute, {.p 1}}, /* dd 1 12592 */
- {.type FromH0, {.p C_cells}}, /* dd C_cells 12600 */
- {.type FromH0, {.p M_minus}}, /* dd M_minus 12608 */
- {.type FromH0, {.p M_store}}, /* dd M_store 12616 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 12624 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 12632 */
- {.type Header, {.hdr { 9, "immediate", /* C_immediate = 12656 */ colon }}}, /* CENTRY "immediate" immediate 9 h 12664 */
- {.type FromH0, {.p M_Dp}}, /* dd M_Dp 12672 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 12680 */
- {.type FromH0, {.p C_cellplus}}, /* dd C_cellplus 12688 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 12696 */
- {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 12704 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 12712 */
- {.type Absolute, {.p 128}}, /* dd 128 12720 */
- {.type FromH0, {.p M_binor}}, /* dd M_binor 12728 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 12736 */
- {.type FromH0, {.p M_cstore}}, /* dd M_cstore 12744 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 12752 */
- {.type Header, {.hdr { 4, ">cfa", /* C_tocfa = 12768 */ colon }}}, /* CENTRY ">cfa" tocfa 4 h 12776 */
- {.type FromH0, {.p C_count}}, /* dd C_count 12784 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 12792 */
- {.type Absolute, {.p 63}}, /* dd 63 12800 */
- {.type FromH0, {.p M_binand}}, /* dd M_binand 12808 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus 12816 */
- {.type FromH0, {.p C_aligned}}, /* dd C_aligned 12824 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 12832 */
- {.type Header, {.hdr { 7, "compile", /* C_compile = 12848 */ colon }}}, /* CENTRY "compile" compile 7 h 12856 */
- {.type FromH0, {.p C_findname}}, /* dd C_findname 12864 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 12872 */
- {.type FromH0, {.p L188}}, /* dd L188 12880 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 12888 */
- {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 12896 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 12904 */
- {.type Absolute, {.p 128}}, /* dd 128 12912 */
- {.type FromH0, {.p M_binand}}, /* dd M_binand 12920 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 12928 */
- {.type FromH0, {.p L189}}, /* dd L189 12936 */
- {.type FromH0, {.p C_tocfa}}, /* dd C_tocfa ; immediate 12944 */
- {.type FromH0, {.p M_execute}}, /* dd M_execute 12952 */
- {.type FromH0, {.p C_qstack}}, /* dd C_qstack 12960 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 12968 */
- {.type FromH0, {.p L190}}, /* dd L190 12976 */
- {.type FromH0, {.p C_tocfa}}, /* dd C_tocfa 12984 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 12992 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 13000 */
- {.type FromH0, {.p L191}}, /* dd L191 13008 */
- {.type FromH0, {.p C_count}}, /* dd C_count 13016 */
- {.type FromH0, {.p C_number}}, /* dd C_number 13024 */
- {.type FromH0, {.p C_0eq}}, /* dd C_0eq 13032 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 13040 */
- {.type FromH0, {.p L192}}, /* dd L192 13048 */
- {.type FromH0, {.p C_space}}, /* dd C_space 13056 */
- {.type FromH0, {.p C_type}}, /* dd C_type 13064 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 13072 */
- {.type FromH0, {.p L193}}, /* dd L193 13080 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 13088 */
- {.type Absolute, {.p 3}}, /* dd 3 13096 */
- {.type FromH0, {.p C_type}}, /* dd C_type 13104 */
- {.type FromH0, {.p C_cr}}, /* dd C_cr 13112 */
- {.type FromH0, {.p C_abort}}, /* dd C_abort 13120 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 13128 */
- {.type FromH0, {.p L194}}, /* dd L194 13136 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 13144 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 13152 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 13160 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 13168 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 13176 */
- {.type Header, {.hdr { 1, "]", /* C_close_bracket = 13192 */ colon }}}, /* CENTRY "]" close_bracket 1 h 13200 */
- {.type FromH0, {.p MV_State}}, /* dd MV_State 13208 */
- {.type FromH0, {.p C_on}}, /* dd C_on 13216 */
- {.type FromH0, {.p C_bl}}, /* dd C_bl 13224 */
- {.type FromH0, {.p C_word}}, /* dd C_word 13232 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 13240 */
- {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 13248 */
- {.type FromH0, {.p C_0eq}}, /* dd C_0eq 13256 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 13264 */
- {.type FromH0, {.p L197}}, /* dd L197 13272 */
- {.type FromH0, {.p M_drop}}, /* dd M_drop 13280 */
- {.type FromH0, {.p C_refill}}, /* dd C_refill 13288 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 13296 */
- {.type FromH0, {.p L198}}, /* dd L198 13304 */
- {.type FromH0, {.p C_compile}}, /* dd C_compile 13312 */
- {.type FromH0, {.p MV_State}}, /* dd MV_State 13320 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 13328 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 13336 */
- {.type FromH0, {.p L199}}, /* dd L199 13344 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 13352 */
- {.type FromH0, {.p L196}}, /* dd L196 13360 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 13368 */
- {.type IHeader, {.hdr { 1, "[", /* CI_open_bracket = 13384 */ colon }}}, /* CIENTRY "[" open_bracket 1 h 13392 */
- {.type FromH0, {.p MV_State}}, /* dd MV_State 13400 */
- {.type FromH0, {.p C_off}}, /* dd C_off 13408 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 13416 */
- {.type Header, {.hdr { 6, "smudge", /* C_smudge = 13432 */ colon }}}, /* CENTRY "smudge" smudge 6 h 13440 */
- {.type FromH0, {.p M_Dp}}, /* dd M_Dp 13448 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 13456 */
- {.type FromH0, {.p C_cellplus}}, /* dd C_cellplus 13464 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 13472 */
- {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 13480 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 13488 */
- {.type Absolute, {.p 64}}, /* dd 64 13496 */
- {.type FromH0, {.p M_binor}}, /* dd M_binor 13504 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 13512 */
- {.type FromH0, {.p M_cstore}}, /* dd M_cstore 13520 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 13528 */
- {.type Header, {.hdr { 6, "reveal", /* C_reveal = 13544 */ colon }}}, /* CENTRY "reveal" reveal 6 h 13552 */
- {.type FromH0, {.p M_Dp}}, /* dd M_Dp 13560 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 13568 */
- {.type FromH0, {.p C_cellplus}}, /* dd C_cellplus 13576 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 13584 */
- {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 13592 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 13600 */
- {.type Absolute, {.p 64}}, /* dd 64 13608 */
- {.type FromH0, {.p C_invert}}, /* dd C_invert 13616 */
- {.type FromH0, {.p M_binand}}, /* dd M_binand 13624 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 13632 */
- {.type FromH0, {.p M_cstore}}, /* dd M_cstore 13640 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 13648 */
- {.type Header, {.hdr { 1, ":", /* C_colon = 13664 */ colon }}}, /* CENTRY ":" colon 1 h 13672 */
- {.type FromH0, {.p C_create}}, /* dd C_create 13680 */
- {.type FromH0, {.p C_smudge}}, /* dd C_smudge 13688 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 13696 */
- {.type FromH0, {.p M_colon}}, /* dd M_colon 13704 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 13712 */
- {.type FromH0, {.p C_here}}, /* dd C_here 13720 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 13728 */
- {.type Absolute, {.p 1}}, /* dd 1 13736 */
- {.type FromH0, {.p C_cells}}, /* dd C_cells 13744 */
- {.type FromH0, {.p M_minus}}, /* dd M_minus 13752 */
- {.type FromH0, {.p M_store}}, /* dd M_store 13760 */
- {.type FromH0, {.p C_close_bracket}}, /* dd C_close_bracket 13768 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 13776 */
- {.type IHeader, {.hdr { 1, ";", /* CI_semicolon = 13792 */ colon }}}, /* CIENTRY ";" semicolon 1 h 13800 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 13808 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 13816 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 13824 */
- {.type FromH0, {.p MV_State}}, /* dd MV_State 13832 */
- {.type FromH0, {.p C_off}}, /* dd C_off 13840 */
- {.type FromH0, {.p C_reveal}}, /* dd C_reveal 13848 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 13856 */
- {.type IHeader, {.hdr { 7, "recurse", /* CI_recurse = 13872 */ colon }}}, /* CIENTRY "recurse" recurse 7 h 13880 */
- {.type FromH0, {.p M_Dp}}, /* dd M_Dp 13888 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 13896 */
- {.type FromH0, {.p C_cellplus}}, /* dd C_cellplus 13904 */
- {.type FromH0, {.p C_tocfa}}, /* dd C_tocfa 13912 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 13920 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 13928 */
- {.type Header, {.hdr { 4, "char", /* C_L206 = 13944 */ colon }}}, /* CENTRY "char" L206 4 h 13952 */
- {.type FromH0, {.p C_bl}}, /* dd C_bl 13960 */
- {.type FromH0, {.p C_word}}, /* dd C_word 13968 */
- {.type FromH0, {.p C_1plus}}, /* dd C_1plus 13976 */
- {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 13984 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 13992 */
- {.type Header, {.hdr { 7, "literal", /* C_literal = 14008 */ colon }}}, /* CENTRY "literal" literal 7 h 14016 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 14024 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 14032 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 14040 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 14048 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 14056 */
- {.type Header, {.hdr { 8, "sliteral", /* C_sliteral = 14080 */ colon }}}, /* CENTRY "sliteral" sliteral 8 h 14088 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 14096 */
- {.type FromH0, {.p M_sliteral}}, /* dd M_sliteral 14104 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 14112 */
- {.type FromH0, {.p C_here}}, /* dd C_here 14120 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 14128 */
- {.type Absolute, {.p 34}}, /* dd 34 14136 */
- {.type FromH0, {.p C_parse}}, /* dd C_parse 14144 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 14152 */
- {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 14160 */
- {.type FromH0, {.p C_1plus}}, /* dd C_1plus 14168 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush 14176 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 14184 */
- {.type FromH0, {.p M_rfetch}}, /* dd M_rfetch 14192 */
- {.type FromH0, {.p M_cmove}}, /* dd M_cmove 14200 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 14208 */
- {.type FromH0, {.p C_allot}}, /* dd C_allot 14216 */
- {.type FromH0, {.p C_align}}, /* dd C_align 14224 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 14232 */
- {.type Header, {.hdr { 6, "string", /* C_string = 14248 */ colon }}}, /* CENTRY "string" string 6 h 14256 */
- {.type FromH0, {.p C_word}}, /* dd C_word 14264 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 14272 */
- {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 14280 */
- {.type FromH0, {.p C_1plus}}, /* dd C_1plus 14288 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush 14296 */
- {.type FromH0, {.p C_here}}, /* dd C_here 14304 */
- {.type FromH0, {.p M_rfetch}}, /* dd M_rfetch 14312 */
- {.type FromH0, {.p M_cmove}}, /* dd M_cmove 14320 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 14328 */
- {.type FromH0, {.p C_allot}}, /* dd C_allot 14336 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 14344 */
- {.type IHeader, {.hdr { 6, "[char]", /* CI_char_brackets = 14360 */ colon }}}, /* CIENTRY "[char]" char_brackets 6 h 14368 */
- {.type FromH0, {.p C_bl}}, /* dd C_bl 14376 */
- {.type FromH0, {.p C_word}}, /* dd C_word 14384 */
- {.type FromH0, {.p C_1plus}}, /* dd C_1plus 14392 */
- {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 14400 */
- {.type FromH0, {.p C_literal}}, /* dd C_literal 14408 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 14416 */
- {.type IHeader, {.hdr { 3, "[']", /* CI_quote_brackets = 14432 */ colon }}}, /* CIENTRY "[']" quote_brackets 3 h 14440 */
- {.type FromH0, {.p C_single_quote}}, /* dd C_single_quote 14448 */
- {.type FromH0, {.p C_literal}}, /* dd C_literal 14456 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 14464 */
- {.type IHeader, {.hdr { 1, "(", /* CI_openparen = 14480 */ colon }}}, /* CIENTRY "(" openparen 1 h 14488 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 14496 */
- {.type Absolute, {.p 41}}, /* dd 41 14504 */
- {.type FromH0, {.p C_parse}}, /* dd C_parse 14512 */
- {.type FromH0, {.p M_drop}}, /* dd M_drop 14520 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 14528 */
- {.type IHeader, {.hdr { 1, "\\", /* CI_backslash = 14544 */ colon }}}, /* CIENTRY "\\" backslash 1 h 14552 */
- {.type FromH0, {.p MV_Blk}}, /* dd MV_Blk 14560 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 14568 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 14576 */
- {.type FromH0, {.p L214}}, /* dd L214 14584 */
- {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 14592 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 14600 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 14608 */
- {.type Absolute, {.p 63}}, /* dd 63 14616 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus 14624 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 14632 */
- {.type Absolute, {.p 63}}, /* dd 63 14640 */
- {.type FromH0, {.p C_invert}}, /* dd C_invert 14648 */
- {.type FromH0, {.p M_binand}}, /* dd M_binand 14656 */
- {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 14664 */
- {.type FromH0, {.p M_store}}, /* dd M_store 14672 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 14680 */
- {.type FromH0, {.p L215}}, /* dd L215 14688 */
- {.type FromH0, {.p MV_toLimit}}, /* dd MV_toLimit 14696 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 14704 */
- {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 14712 */
- {.type FromH0, {.p M_store}}, /* dd M_store 14720 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 14728 */
- {.type Header, {.hdr { 8, "(?abort)", /* C_qabort_parens = 14752 */ colon }}}, /* CENTRY "(?abort)" qabort_parens 8 h 14760 */
- {.type FromH0, {.p MV_State}}, /* dd MV_State 14768 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 14776 */
- {.type FromH0, {.p L217}}, /* dd L217 14784 */
- {.type FromH0, {.p C_space}}, /* dd C_space 14792 */
- {.type FromH0, {.p C_type}}, /* dd C_type 14800 */
- {.type FromH0, {.p C_cr}}, /* dd C_cr 14808 */
- {.type FromH0, {.p C_abort}}, /* dd C_abort 14816 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 14824 */
- {.type FromH0, {.p L218}}, /* dd L218 14832 */
- {.type FromH0, {.p C_2drop}}, /* dd C_2drop 14840 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 14848 */
- {.type IHeader, {.hdr { 6, "abort\"", /* CI_abort_double_quote = 14864 */ colon }}}, /* CIENTRY "abort\"" abort_double_quote 6 h 14872 */
- {.type FromH0, {.p C_sliteral}}, /* dd C_sliteral 14880 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 14888 */
- {.type FromH0, {.p C_qabort_parens}}, /* dd C_qabort_parens 14896 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 14904 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 14912 */
- {.type Header, {.hdr { 1, "\"", /* C_double_quote = 14928 */ colon }}}, /* CENTRY "\"" double_quote 1 h 14936 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 14944 */
- {.type Absolute, {.p 34}}, /* dd 34 14952 */
- {.type FromH0, {.p C_word}}, /* dd C_word 14960 */
- {.type FromH0, {.p C_count}}, /* dd C_count 14968 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush 14976 */
- {.type FromH0, {.p C_here}}, /* dd C_here 14984 */
- {.type FromH0, {.p M_rfetch}}, /* dd M_rfetch 14992 */
- {.type FromH0, {.p M_cmove}}, /* dd M_cmove 15000 */
- {.type FromH0, {.p C_here}}, /* dd C_here 15008 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 15016 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 15024 */
- {.type FromH0, {.p C_allot}}, /* dd C_allot 15032 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15040 */
- {.type Header, {.hdr { 2, "c\"", /* C_cdouble_quote = 15056 */ colon }}}, /* CENTRY "c\"" cdouble_quote 2 h 15064 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 15072 */
- {.type Absolute, {.p 34}}, /* dd 34 15080 */
- {.type FromH0, {.p C_word}}, /* dd C_word 15088 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 15096 */
- {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 15104 */
- {.type FromH0, {.p C_1plus}}, /* dd C_1plus 15112 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush 15120 */
- {.type FromH0, {.p C_here}}, /* dd C_here 15128 */
- {.type FromH0, {.p M_rfetch}}, /* dd M_rfetch 15136 */
- {.type FromH0, {.p M_cmove}}, /* dd M_cmove 15144 */
- {.type FromH0, {.p C_here}}, /* dd C_here 15152 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 15160 */
- {.type FromH0, {.p C_allot}}, /* dd C_allot 15168 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15176 */
- {.type IHeader, {.hdr { 2, "s\"", /* CI_sdouble_quote = 15192 */ colon }}}, /* CIENTRY "s\"" sdouble_quote 2 h 15200 */
- {.type FromH0, {.p C_sliteral}}, /* dd C_sliteral 15208 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15216 */
- {.type IHeader, {.hdr { 2, ".\"", /* CI_dotstr = 15232 */ colon }}}, /* CIENTRY ".\"" dotstr 2 h 15240 */
- {.type FromH0, {.p C_sliteral}}, /* dd C_sliteral 15248 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 15256 */
- {.type FromH0, {.p C_type}}, /* dd C_type 15264 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 15272 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15280 */
- {.type IHeader, {.hdr { 2, "if", /* CI_if = 15296 */ colon }}}, /* CIENTRY "if" if 2 h 15304 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 15312 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 15320 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 15328 */
- {.type FromH0, {.p C_here}}, /* dd C_here 15336 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 15344 */
- {.type Absolute, {.p 0}}, /* dd 0 15352 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 15360 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15368 */
- {.type IHeader, {.hdr { 4, "else", /* CI_else = 15384 */ colon }}}, /* CIENTRY "else" else 4 h 15392 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 15400 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 15408 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 15416 */
- {.type FromH0, {.p C_here}}, /* dd C_here 15424 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush 15432 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 15440 */
- {.type Absolute, {.p 0}}, /* dd 0 15448 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 15456 */
- {.type FromH0, {.p C_here}}, /* dd C_here 15464 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 15472 */
- {.type FromH0, {.p M_store}}, /* dd M_store 15480 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 15488 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15496 */
- {.type IHeader, {.hdr { 4, "then", /* CI_then = 15512 */ colon }}}, /* CIENTRY "then" then 4 h 15520 */
- {.type FromH0, {.p C_here}}, /* dd C_here 15528 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 15536 */
- {.type FromH0, {.p M_store}}, /* dd M_store 15544 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15552 */
- {.type IHeader, {.hdr { 5, "begin", /* CI_begin = 15568 */ colon }}}, /* CIENTRY "begin" begin 5 h 15576 */
- {.type FromH0, {.p C_here}}, /* dd C_here 15584 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15592 */
- {.type IHeader, {.hdr { 5, "again", /* CI_again = 15608 */ colon }}}, /* CIENTRY "again" again 5 h 15616 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 15624 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 15632 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 15640 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 15648 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15656 */
- {.type IHeader, {.hdr { 5, "until", /* CI_until = 15672 */ colon }}}, /* CIENTRY "until" until 5 h 15680 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 15688 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 15696 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 15704 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 15712 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15720 */
- {.type IHeader, {.hdr { 5, "while", /* CI_while = 15736 */ colon }}}, /* CIENTRY "while" while 5 h 15744 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 15752 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 15760 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 15768 */
- {.type FromH0, {.p C_here}}, /* dd C_here 15776 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 15784 */
- {.type Absolute, {.p 0}}, /* dd 0 15792 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 15800 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15808 */
- {.type IHeader, {.hdr { 6, "repeat", /* CI_repeat = 15824 */ colon }}}, /* CIENTRY "repeat" repeat 6 h 15832 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 15840 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 15848 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 15856 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 15864 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 15872 */
- {.type FromH0, {.p C_here}}, /* dd C_here 15880 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 15888 */
- {.type FromH0, {.p M_store}}, /* dd M_store 15896 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15904 */
- {.type IHeader, {.hdr { 2, "do", /* CI_do = 15920 */ colon }}}, /* CIENTRY "do" do 2 h 15928 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 15936 */
- {.type FromH0, {.p M_doinit}}, /* dd M_doinit 15944 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 15952 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 15960 */
- {.type Absolute, {.p 0}}, /* dd 0 15968 */
- {.type FromH0, {.p C_here}}, /* dd C_here 15976 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15984 */
- {.type IHeader, {.hdr { 4, "loop", /* CI_loop = 16000 */ colon }}}, /* CIENTRY "loop" loop 4 h 16008 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 16016 */
- {.type FromH0, {.p M_doloop}}, /* dd M_doloop 16024 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 16032 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 16040 */
- {.type FromH0, {.p C_qdup}}, /* dd C_qdup 16048 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 16056 */
- {.type FromH0, {.p L234}}, /* dd L234 16064 */
- {.type FromH0, {.p C_here}}, /* dd C_here 16072 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 16080 */
- {.type FromH0, {.p M_store}}, /* dd M_store 16088 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16096 */
- {.type IHeader, {.hdr { 5, "+loop", /* CI_ploop = 16112 */ colon }}}, /* CIENTRY "+loop" ploop 5 h 16120 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 16128 */
- {.type FromH0, {.p M_doploop}}, /* dd M_doploop 16136 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 16144 */
- {.type FromH0, {.p C_comma}}, /* dd C_comma 16152 */
- {.type FromH0, {.p C_qdup}}, /* dd C_qdup 16160 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 16168 */
- {.type FromH0, {.p L236}}, /* dd L236 16176 */
- {.type FromH0, {.p C_here}}, /* dd C_here 16184 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 16192 */
- {.type FromH0, {.p M_store}}, /* dd M_store 16200 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16208 */
- {.type Header, {.hdr { 3, "w/o", /* C_wo = 16224 */ colon }}}, /* CENTRY "w/o" wo 3 h 16232 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 16240 */
- {.type Absolute, {.p 1}}, /* dd 1 16248 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 16256 */
- {.type Absolute, {.p 512}}, /* dd 512 16264 */
- {.type FromH0, {.p M_binor}}, /* dd M_binor 16272 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 16280 */
- {.type Absolute, {.p 64}}, /* dd 64 16288 */
- {.type FromH0, {.p M_binor}}, /* dd M_binor 16296 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16304 */
- {.type Header, {.hdr { 3, "r/o", /* C_ro = 16320 */ colon }}}, /* CENTRY "r/o" ro 3 h 16328 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 16336 */
- {.type Absolute, {.p 0}}, /* dd 0 16344 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16352 */
- {.type Header, {.hdr { 3, "r/w", /* C_rw = 16368 */ colon }}}, /* CENTRY "r/w" rw 3 h 16376 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 16384 */
- {.type Absolute, {.p 2}}, /* dd 2 16392 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16400 */
- {.type Header, {.hdr { 9, "open-file", /* C_open_file = 16424 */ colon }}}, /* CENTRY "open-file" open_file 9 h 16432 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush 16440 */
- {.type FromH0, {.p C_pad}}, /* dd C_pad 16448 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 16456 */
- {.type Absolute, {.p 1024}}, /* dd 1024 16464 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus 16472 */
- {.type FromH0, {.p M_xswap}}, /* dd M_xswap 16480 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 16488 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush 16496 */
- {.type FromH0, {.p M_cmove}}, /* dd M_cmove 16504 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 16512 */
- {.type Absolute, {.p 0}}, /* dd 0 16520 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 16528 */
- {.type FromH0, {.p C_pad}}, /* dd C_pad 16536 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus 16544 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 16552 */
- {.type Absolute, {.p 1024}}, /* dd 1024 16560 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus 16568 */
- {.type FromH0, {.p M_cstore}}, /* dd M_cstore 16576 */
- {.type FromH0, {.p C_pad}}, /* dd C_pad 16584 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 16592 */
- {.type Absolute, {.p 1024}}, /* dd 1024 16600 */
- {.type FromH0, {.p M_plus}}, /* dd M_plus 16608 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 16616 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 16624 */
- {.type Absolute, {.p 420}}, /* dd 420 16632 */
- {.type FromH0, {.p M_fthopen}}, /* dd M_fthopen 16640 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 16648 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 16656 */
- {.type Absolute, {.p -1}}, /* dd -1 16664 */
- {.type FromH0, {.p M_greater}}, /* dd M_greater 16672 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16680 */
- {.type Header, {.hdr { 10, "close-file", /* C_close_file = 16704 */ colon }}}, /* CENTRY "close-file" close_file 10 h 16712 */
- {.type FromH0, {.p M_fthclose}}, /* dd M_fthclose 16720 */
- {.type FromH0, {.p C_0eq}}, /* dd C_0eq 16728 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16736 */
- {.type Header, {.hdr { 9, "read-file", /* C_read_file = 16760 */ colon }}}, /* CENTRY "read-file" read_file 9 h 16768 */
- {.type FromH0, {.p M_fthread}}, /* dd M_fthread 16776 */
- {.type FromH0, {.p M_dup}}, /* dd M_dup 16784 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 16792 */
- {.type Absolute, {.p -1}}, /* dd -1 16800 */
- {.type FromH0, {.p C_neq}}, /* dd C_neq 16808 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16816 */
- {.type Header, {.hdr { 10, "write-file", /* C_write_file = 16840 */ colon }}}, /* CENTRY "write-file" write_file 10 h 16848 */
- {.type FromH0, {.p M_fthwrite}}, /* dd M_fthwrite 16856 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 16864 */
- {.type Absolute, {.p -1}}, /* dd -1 16872 */
- {.type FromH0, {.p C_neq}}, /* dd C_neq 16880 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16888 */
- {.type Header, {.hdr { 15, "reposition-file", /* C_reposition_file = 16912 */ colon }}}, /* CENTRY "reposition-file" reposition_file 15 h 16920 */
- {.type FromH0, {.p M_fthseek}}, /* dd M_fthseek 16928 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 16936 */
- {.type Absolute, {.p -1}}, /* dd -1 16944 */
- {.type FromH0, {.p C_neq}}, /* dd C_neq 16952 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16960 */
- {.type Header, {.hdr { 7, "?fcheck", /* C_qfcheck = 16976 */ colon }}}, /* CENTRY "?fcheck" qfcheck 7 h 16984 */
- {.type FromH0, {.p C_0eq}}, /* dd C_0eq 16992 */
- {.type FromH0, {.p M_cjump}}, /* dd M_cjump 17000 */
- {.type FromH0, {.p L246}}, /* dd L246 17008 */
- {.type FromH0, {.p C_space}}, /* dd C_space 17016 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 17024 */
- {.type FromH0, {.p L247}}, /* dd L247 17032 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 17040 */
- {.type Absolute, {.p 9}}, /* dd 9 17048 */
- {.type FromH0, {.p C_type}}, /* dd C_type 17056 */
- {.type FromH0, {.p C_cr}}, /* dd C_cr 17064 */
- {.type FromH0, {.p C_abort}}, /* dd C_abort 17072 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 17080 */
- {.type Header, {.hdr { 3, "bye", /* C_bye = 17096 */ colon }}}, /* CENTRY "bye" bye 3 h 17104 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 17112 */
- {.type Absolute, {.p 0}}, /* dd 0 17120 */
- {.type FromH0, {.p M_terminate}}, /* dd M_terminate 17128 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 17136 */
- {.type Header, {.hdr { 7, "include", /* C_include = 17152 */ colon }}}, /* CENTRY "include" include 7 h 17160 */
- {.type FromH0, {.p C_bl}}, /* dd C_bl 17168 */
- {.type FromH0, {.p C_word}}, /* dd C_word 17176 */
- {.type FromH0, {.p M_rpush}}, /* dd M_rpush 17184 */
- {.type FromH0, {.p MV_toLimit}}, /* dd MV_toLimit 17192 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 17200 */
- {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 17208 */
- {.type FromH0, {.p M_store}}, /* dd M_store 17216 */
- {.type FromH0, {.p C_save_input}}, /* dd C_save_input 17224 */
- {.type FromH0, {.p M_rpop}}, /* dd M_rpop 17232 */
- {.type FromH0, {.p C_count}}, /* dd C_count 17240 */
- {.type FromH0, {.p C_ro}}, /* dd C_ro 17248 */
- {.type FromH0, {.p C_open_file}}, /* dd C_open_file 17256 */
- {.type FromH0, {.p C_qfcheck}}, /* dd C_qfcheck 17264 */
- {.type FromH0, {.p MV_Infd}}, /* dd MV_Infd 17272 */
- {.type FromH0, {.p M_store}}, /* dd M_store 17280 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 17288 */
- {.type Header, {.hdr { 5, "crash", /* C_crash = 17304 */ colon }}}, /* CENTRY "crash" crash 5 h 17312 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 17320 */
- {.type FromH0, {.p L251}}, /* dd L251 17328 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 17336 */
- {.type Absolute, {.p 30}}, /* dd 30 17344 */
- {.type FromH0, {.p C_type}}, /* dd C_type 17352 */
- {.type FromH0, {.p C_cr}}, /* dd C_cr 17360 */
- {.type FromH0, {.p C_abort}}, /* dd C_abort 17368 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 17376 */
- {.type Header, {.hdr { 4, "quit", /* C_quit = 17392 */ colon }}}, /* CENTRY "quit" quit 4 ; interpreter loop h 17400 */
- {.type FromH0, {.p M_reset}}, /* dd M_reset ; initialize return stack 17408 */
- {.type FromH0, {.p M_clear}}, /* dd M_clear ; SP = sstack_end initialize data stack 17416 */
- {.type FromH0, {.p C_query}}, /* dd C_query 17424 */
- {.type FromH0, {.p MV_toLimit}}, /* dd MV_toLimit ; show the line read, for debugging 17432 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch 17440 */
- {.type FromH0, {.p M_Tib}}, /* dd M_Tib 17448 */
- {.type FromH0, {.p MC_STDOUT}}, /* dd MC_STDOUT 17456 */
- {.type FromH0, {.p M_fthwrite}}, /* dd M_fthwrite 17464 */
- {.type FromH0, {.p M_drop}}, /* dd M_drop ; drop the return value of write 17472 */
- {.type FromH0, {.p C_interpret}}, /* dd C_interpret 17480 */
- {.type FromH0, {.p M_jump}}, /* dd M_jump 17488 */
- {.type FromH0, {.p L253}}, /* dd L253 17496 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon ; why is this needed? 17504 */
- {.type Header, {.hdr { 7, "(abort)", /* C_parenabort = 17520 */ colon }}}, /* CENTRY "(abort)" parenabort 7 ; TODO correct below stack notations h 17528 */
- {.type FromH0, {.p MV_State}}, /* dd MV_State ; ( mv_State -- ) 17536 */
- {.type FromH0, {.p C_off}}, /* dd C_off ; off sets variable state = 0 17544 */
- {.type FromH0, {.p M_Tib}}, /* dd M_Tib ; constant puts address of tibuffer on the top of stack 17552 */
- {.type FromH0, {.p MV_Sourcebuf}}, /* dd MV_Sourcebuf ; variable sourcebuf 17560 */
- {.type FromH0, {.p M_store}}, /* dd M_store ; variable sourcebuf = address of tibuffer 17568 */
- {.type FromH0, {.p MV_Blk}}, /* dd MV_Blk ; variable blk 17576 */
- {.type FromH0, {.p C_off}}, /* dd C_off ; off variable blk = 0 17584 */
- {.type FromH0, {.p MC_STDIN}}, /* dd MC_STDIN 17592 */
- {.type FromH0, {.p MV_Infd}}, /* dd MV_Infd 17600 */
- {.type FromH0, {.p M_store}}, /* dd M_store 17608 */
- {.type FromH0, {.p MC_STDOUT}}, /* dd MC_STDOUT 17616 */
- {.type FromH0, {.p MV_Outfd}}, /* dd MV_Outfd 17624 */
- {.type FromH0, {.p M_store}}, /* dd M_store 17632 */
- {.type FromH0, {.p MC_STDERR}}, /* dd MC_STDERR 17640 */
- {.type FromH0, {.p MV_Errfd}}, /* dd MV_Errfd 17648 */
- {.type FromH0, {.p M_store}}, /* dd M_store 17656 */
- {.type FromH0, {.p C_quit}}, /* dd C_quit ; quit resets stacks and is the interpreter loop 17664 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon ; why is this needed? quit does not return unless it breaks 17672 */
- {.type Header, {.hdr { 7, "oldboot", /* C_oldboot = 17688 */ 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 17696 */
- {.type FromH0, {.p M_reset}}, /* dd M_reset 17704 */
- {.type FromH0, {.p M_clear}}, /* dd M_clear ; SP = sstack_end 17712 */
- {.type FromH0, {.p M_stackptr}}, /* dd M_stackptr ; (D -- FFEND) 17720 */
- {.type FromH0, {.p M_S0}}, /* dd M_S0 17728 */
- {.type FromH0, {.p M_store}}, /* dd M_store ; s0 = FFEND 17736 */
- {.type FromH0, {.p M_H0}}, /* dd M_H0 ; heaptop = heapend 17744 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch ; ( heapend -- ) 17752 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 17760 */
- {.type Absolute, {.p 1}}, /* dd 1 ; ( heapend 1 -- ) 17768 */
- {.type FromH0, {.p C_cells}}, /* dd C_cells ; cells ( heapend 8 -- ) 17776 */
- {.type FromH0, {.p M_minus}}, /* dd M_minus ; ( heapend-8 -- ) 17784 */
- {.type FromH0, {.p M_fetch}}, /* dd M_fetch ; ( contents_from_heapend-8 -- ) 17792 */
- {.type FromH0, {.p M_Args}}, /* dd M_Args ; variable args 17800 */
- {.type FromH0, {.p M_store}}, /* dd M_store ; args = contents_from_heapend-8 17808 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 17816 */
- {.type FromH0, {.p C_parenabort}}, /* dd C_parenabort ; ( (abort) -- ) 17824 */
- {.type FromH0, {.p MV_Abortvec}}, /* dd MV_Abortvec ; variable abortvec 17832 */
- {.type FromH0, {.p M_store}}, /* dd M_store ; variable abortvec = (abort) code address 17840 */
- {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb ; constant puts address of wordbuffer on the top of stack 17848 */
- {.type FromH0, {.p MV_Wordbuf}}, /* dd MV_Wordbuf ; variable wordbuf 17856 */
- {.type FromH0, {.p M_store}}, /* dd M_store ; variable wordbuf = address of wordbuffer 17864 */
- {.type FromH0, {.p M_Tib}}, /* dd M_Tib ; constant puts address of tibuffer on the top of stack 17872 */
- {.type FromH0, {.p MV_Sourcebuf}}, /* dd MV_Sourcebuf ; variable sourcebuf 17880 */
- {.type FromH0, {.p M_store}}, /* dd M_store ; variable sourcebuf = address of tibuffer 17888 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 17896 */
- {.type Absolute, {.p 0}}, /* dd 0 17904 */
- {.type FromH0, {.p MV_Infd}}, /* dd MV_Infd 17912 */
- {.type FromH0, {.p M_store}}, /* dd M_store ; stdin = 0 17920 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 17928 */
- {.type Absolute, {.p 1}}, /* dd 1 17936 */
- {.type FromH0, {.p MV_Outfd}}, /* dd MV_Outfd 17944 */
- {.type FromH0, {.p M_store}}, /* dd M_store ; stdout = 1 17952 */
- {.type FromH0, {.p MV_State}}, /* dd MV_State 17960 */
- {.type FromH0, {.p C_off}}, /* dd C_off ; off stores 0 at state 17968 */
- {.type FromH0, {.p C_decimal}}, /* dd C_decimal ; decimal setting base = 0 17976 */
- {.type FromH0, {.p C_quit}}, /* dd C_quit ; quit 17984 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 17992 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal ; test code 18000 */
- {.type Absolute, {.p 66}}, /* dd 66 18008 */
- {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb 18016 */
- {.type FromH0, {.p M_store}}, /* dd M_store 18024 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 18032 */
- {.type Absolute, {.p 1}}, /* dd 1 18040 */
- {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb 18048 */
- {.type FromH0, {.p MC_STDOUT}}, /* dd MC_STDOUT 18056 */
- {.type FromH0, {.p M_fthwrite}}, /* dd M_fthwrite 18064 */
- {.type FromH0, {.p M_drop}}, /* dd M_drop ; drop the return value of write 18072 */
- {.type FromH0, {.p M_literal}}, /* dd M_literal 18080 */
- {.type Absolute, {.p 1}}, /* dd 1 18088 */
- {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb 18096 */
- {.type FromH0, {.p MC_STDIN}}, /* dd MC_STDIN 18104 */
- {.type FromH0, {.p M_fthread}}, /* dd M_fthread 18112 */
- {.type FromH0, {.p M_drop}}, /* dd M_drop ; drop the return value of read 18120 */
- {.type Header, {.hdr { 4, "boot", /* C_boot = 18136 */ colon }}}, /* CENTRY "boot" boot 4 h 18144 */
- {.type FromH0, {.p M_reset}}, /* dd M_reset ; initialize return stack 18152 */
- {.type FromH0, {.p M_clear}}, /* dd M_clear ; SP = sstack_end initialize data stack 18160 */
-/* ; s0 puts FFEND on the stack *//* ; no args */ {.type FromH0, {.p M_literal}}, /* dd M_literal 18168 */
- {.type FromH0, {.p C_parenabort}}, /* dd C_parenabort ; ( (abort) -- ) 18176 */
- {.type FromH0, {.p MV_Abortvec}}, /* dd MV_Abortvec ; variable that puts (abort) code address on the stack 18184 */
- {.type FromH0, {.p M_store}}, /* dd M_store ; variable abortvec = (abort) code address 18192 */
- {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb ; variable puts address of wordbuffer on the top of stack 18200 */
- {.type FromH0, {.p MV_Wordbuf}}, /* dd MV_Wordbuf ; variable wordbuf 18208 */
- {.type FromH0, {.p M_store}}, /* dd M_store ; variable wordbuf = address of wordbuffer 18216 */
- {.type FromH0, {.p M_Tib}}, /* dd M_Tib ; constant puts address of tibuffer on the top of stack 18224 */
- {.type FromH0, {.p MV_Sourcebuf}}, /* dd MV_Sourcebuf ; variable sourcebuf 18232 */
- {.type FromH0, {.p M_store}}, /* dd M_store ; variable sourcebuf = address of tibuffer 18240 */
- {.type FromH0, {.p MC_STDIN}}, /* dd MC_STDIN 18248 */
- {.type FromH0, {.p MV_Infd}}, /* dd MV_Infd 18256 */
- {.type FromH0, {.p M_store}}, /* dd M_store ; stdin = 0 18264 */
- {.type FromH0, {.p MC_STDOUT}}, /* dd MC_STDOUT 18272 */
- {.type FromH0, {.p MV_Outfd}}, /* dd MV_Outfd 18280 */
- {.type FromH0, {.p M_store}}, /* dd M_store 18288 */
- {.type FromH0, {.p MC_STDERR}}, /* dd MC_STDERR 18296 */
- {.type FromH0, {.p MV_Errfd}}, /* dd MV_Errfd 18304 */
- {.type FromH0, {.p M_store}}, /* dd M_store 18312 */
- {.type FromH0, {.p MV_State}}, /* dd MV_State 18320 */
- {.type FromH0, {.p C_off}}, /* dd C_off ; off stores 0 at state 18328 */
- {.type FromH0, {.p C_decimal}}, /* dd C_decimal ; decimal sets base = 10 18336 */
- {.type FromH0, {.p C_quit}}, /* dd C_quit ; quit 18344 */
- {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 18352 */
- {.type Chars, {.str "unable to restore input"}}, /* 18376 */
- {.type Chars, {.str " Q?"}}, /* 18380 */
- {.type Chars, {.str " stack underflow"}}, /* 18397 */
- {.type Chars, {.str " I?"}}, /* 18401 */
- {.type Chars, {.str " C?"}}, /* 18405 */
- {.type Chars, {.str "I/O error"}}, /* 18415 */
- {.type Chars, {.str "uninitialized execution vector"}}, /* 18446 */
- {.type Chars, {.str " ok"}}, /* 18450 */
+ {.type FromH0, {.p L173}}, /* dd L173 11832 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 11840 */
+ {.type Absolute, {.p 16}}, /* dd 16 11848 */
+ {.type FromH0, {.p C_type}}, /* dd C_type 11856 */
+ {.type FromH0, {.p C_cr}}, /* dd C_cr 11864 */
+ {.type FromH0, {.p C_abort}}, /* dd C_abort 11872 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 11880 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup ; debug code to show the word found 11888 */
+ {.type FromH0, {.p C_count}}, /* dd C_count ; ( -- a n) 11896 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap ; ( -- n a) 11904 */
+ {.type FromH0, {.p MC_STDOUT}}, /* dd MC_STDOUT 11912 */
+ {.type FromH0, {.p M_fthwrite}}, /* dd M_fthwrite 11920 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop ; drop the return value of write 11928 */
+ {.type Header, {.hdr { 9, "interpret", /* C_interpret = 11952 */ colon }}}, /* CENTRY "interpret" interpret 9 ; there is stuff in TIB to be interpreted >In and >Limit are set h 11960 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 11968 */
+ {.type Absolute, {.p 73}}, /* dd 73 11976 */
+ {.type FromH0, {.p C_emit}}, /* dd C_emit 11984 */
+ {.type FromH0, {.p C_bl}}, /* dd C_bl 11992 */
+ {.type FromH0, {.p C_word}}, /* dd C_word ; ( bl -- a ) a = address of counted string 12000 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 12008 */
+ {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 12016 */
+ {.type FromH0, {.p C_0neq}}, /* dd C_0neq 12024 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 12032 */
+ {.type FromH0, {.p L176}}, /* dd L176 ; count at a = 0 12040 */
+ {.type FromH0, {.p C_find}}, /* dd C_find ; ( a -- a1 f ) a = address of counted string 12048 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 12056 */
+ {.type FromH0, {.p L177}}, /* dd L177 12064 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 12072 */
+ {.type Absolute, {.p 69}}, /* dd 69 12080 */
+ {.type FromH0, {.p C_emit}}, /* dd C_emit 12088 */
+ {.type FromH0, {.p M_execute}}, /* dd M_execute ; found in dictionary, execute 12096 */
+ {.type FromH0, {.p C_qstack}}, /* dd C_qstack 12104 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 12112 */
+ {.type FromH0, {.p L178}}, /* dd L178 12120 */
+ {.type FromH0, {.p C_count}}, /* dd C_count 12128 */
+ {.type FromH0, {.p C_number}}, /* dd C_number 12136 */
+ {.type FromH0, {.p C_0eq}}, /* dd C_0eq 12144 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 12152 */
+ {.type FromH0, {.p L179}}, /* dd L179 12160 */
+ {.type FromH0, {.p C_space}}, /* dd C_space 12168 */
+ {.type FromH0, {.p C_type}}, /* dd C_type 12176 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 12184 */
+ {.type FromH0, {.p L180}}, /* dd L180 ; error I? 12192 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 12200 */
+ {.type Absolute, {.p 3}}, /* dd 3 12208 */
+ {.type FromH0, {.p C_type}}, /* dd C_type 12216 */
+ {.type FromH0, {.p C_cr}}, /* dd C_cr 12224 */
+ {.type FromH0, {.p C_abort}}, /* dd C_abort 12232 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 12240 */
+ {.type Absolute, {.p 78}}, /* dd 78 12248 */
+ {.type FromH0, {.p C_emit}}, /* dd C_emit 12256 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 12264 */
+ {.type FromH0, {.p L175}}, /* dd L175 12272 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop ; count at a = 0 ( a -- ) 12280 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 12288 */
+ {.type Header, {.hdr { 6, "create", /* C_create = 12304 */ colon }}}, /* CENTRY "create" create 6 h 12312 */
+ {.type FromH0, {.p C_align}}, /* dd C_align 12320 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 12328 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush 12336 */
+ {.type FromH0, {.p M_Dp}}, /* dd M_Dp 12344 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 12352 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 12360 */
+ {.type FromH0, {.p C_bl}}, /* dd C_bl 12368 */
+ {.type FromH0, {.p C_word}}, /* dd C_word 12376 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 12384 */
+ {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 12392 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 12400 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 12408 */
+ {.type FromH0, {.p C_1plus}}, /* dd C_1plus 12416 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 12424 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush 12432 */
+ {.type FromH0, {.p M_cmove}}, /* dd M_cmove 12440 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 12448 */
+ {.type FromH0, {.p C_allot}}, /* dd C_allot 12456 */
+ {.type FromH0, {.p C_align}}, /* dd C_align 12464 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 12472 */
+ {.type FromH0, {.p M_variable}}, /* dd M_variable 12480 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 12488 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 12496 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 12504 */
+ {.type FromH0, {.p M_Dp}}, /* dd M_Dp 12512 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 12520 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 12528 */
+ {.type Header, {.hdr { 8, "variable", /* C_variable = 12552 */ colon }}}, /* CENTRY "variable" variable 8 h 12560 */
+ {.type FromH0, {.p C_create}}, /* dd C_create 12568 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 12576 */
+ {.type Absolute, {.p 0}}, /* dd 0 12584 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 12592 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 12600 */
+ {.type Header, {.hdr { 8, "constant", /* C_constant = 12624 */ colon }}}, /* CENTRY "constant" constant 8 h 12632 */
+ {.type FromH0, {.p C_create}}, /* dd C_create 12640 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 12648 */
+ {.type FromH0, {.p M_constant}}, /* dd M_constant 12656 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 12664 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 12672 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 12680 */
+ {.type Absolute, {.p 1}}, /* dd 1 12688 */
+ {.type FromH0, {.p C_cells}}, /* dd C_cells 12696 */
+ {.type FromH0, {.p M_minus}}, /* dd M_minus 12704 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 12712 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 12720 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 12728 */
+ {.type Header, {.hdr { 9, "immediate", /* C_immediate = 12752 */ colon }}}, /* CENTRY "immediate" immediate 9 h 12760 */
+ {.type FromH0, {.p M_Dp}}, /* dd M_Dp 12768 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 12776 */
+ {.type FromH0, {.p C_cellplus}}, /* dd C_cellplus 12784 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 12792 */
+ {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 12800 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 12808 */
+ {.type Absolute, {.p 128}}, /* dd 128 12816 */
+ {.type FromH0, {.p M_binor}}, /* dd M_binor 12824 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 12832 */
+ {.type FromH0, {.p M_cstore}}, /* dd M_cstore 12840 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 12848 */
+ {.type Header, {.hdr { 4, ">cfa", /* C_tocfa = 12864 */ colon }}}, /* CENTRY ">cfa" tocfa 4 h 12872 */
+ {.type FromH0, {.p C_count}}, /* dd C_count 12880 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 12888 */
+ {.type Absolute, {.p 63}}, /* dd 63 12896 */
+ {.type FromH0, {.p M_binand}}, /* dd M_binand 12904 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus 12912 */
+ {.type FromH0, {.p C_aligned}}, /* dd C_aligned 12920 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 12928 */
+ {.type Header, {.hdr { 7, "compile", /* C_compile = 12944 */ colon }}}, /* CENTRY "compile" compile 7 h 12952 */
+ {.type FromH0, {.p C_findname}}, /* dd C_findname 12960 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 12968 */
+ {.type FromH0, {.p L188}}, /* dd L188 12976 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 12984 */
+ {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 12992 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 13000 */
+ {.type Absolute, {.p 128}}, /* dd 128 13008 */
+ {.type FromH0, {.p M_binand}}, /* dd M_binand 13016 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 13024 */
+ {.type FromH0, {.p L189}}, /* dd L189 13032 */
+ {.type FromH0, {.p C_tocfa}}, /* dd C_tocfa ; immediate 13040 */
+ {.type FromH0, {.p M_execute}}, /* dd M_execute 13048 */
+ {.type FromH0, {.p C_qstack}}, /* dd C_qstack 13056 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 13064 */
+ {.type FromH0, {.p L190}}, /* dd L190 13072 */
+ {.type FromH0, {.p C_tocfa}}, /* dd C_tocfa 13080 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 13088 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 13096 */
+ {.type FromH0, {.p L191}}, /* dd L191 13104 */
+ {.type FromH0, {.p C_count}}, /* dd C_count 13112 */
+ {.type FromH0, {.p C_number}}, /* dd C_number 13120 */
+ {.type FromH0, {.p C_0eq}}, /* dd C_0eq 13128 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 13136 */
+ {.type FromH0, {.p L192}}, /* dd L192 13144 */
+ {.type FromH0, {.p C_space}}, /* dd C_space 13152 */
+ {.type FromH0, {.p C_type}}, /* dd C_type 13160 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 13168 */
+ {.type FromH0, {.p L193}}, /* dd L193 13176 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 13184 */
+ {.type Absolute, {.p 3}}, /* dd 3 13192 */
+ {.type FromH0, {.p C_type}}, /* dd C_type 13200 */
+ {.type FromH0, {.p C_cr}}, /* dd C_cr 13208 */
+ {.type FromH0, {.p C_abort}}, /* dd C_abort 13216 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 13224 */
+ {.type FromH0, {.p L194}}, /* dd L194 13232 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 13240 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 13248 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 13256 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 13264 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 13272 */
+ {.type Header, {.hdr { 1, "]", /* C_close_bracket = 13288 */ colon }}}, /* CENTRY "]" close_bracket 1 h 13296 */
+ {.type FromH0, {.p MV_State}}, /* dd MV_State 13304 */
+ {.type FromH0, {.p C_on}}, /* dd C_on 13312 */
+ {.type FromH0, {.p C_bl}}, /* dd C_bl 13320 */
+ {.type FromH0, {.p C_word}}, /* dd C_word 13328 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 13336 */
+ {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 13344 */
+ {.type FromH0, {.p C_0eq}}, /* dd C_0eq 13352 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 13360 */
+ {.type FromH0, {.p L197}}, /* dd L197 13368 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop 13376 */
+ {.type FromH0, {.p C_refill}}, /* dd C_refill 13384 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 13392 */
+ {.type FromH0, {.p L198}}, /* dd L198 13400 */
+ {.type FromH0, {.p C_compile}}, /* dd C_compile 13408 */
+ {.type FromH0, {.p MV_State}}, /* dd MV_State 13416 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 13424 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 13432 */
+ {.type FromH0, {.p L199}}, /* dd L199 13440 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 13448 */
+ {.type FromH0, {.p L196}}, /* dd L196 13456 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 13464 */
+ {.type IHeader, {.hdr { 1, "[", /* CI_open_bracket = 13480 */ colon }}}, /* CIENTRY "[" open_bracket 1 h 13488 */
+ {.type FromH0, {.p MV_State}}, /* dd MV_State 13496 */
+ {.type FromH0, {.p C_off}}, /* dd C_off 13504 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 13512 */
+ {.type Header, {.hdr { 6, "smudge", /* C_smudge = 13528 */ colon }}}, /* CENTRY "smudge" smudge 6 h 13536 */
+ {.type FromH0, {.p M_Dp}}, /* dd M_Dp 13544 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 13552 */
+ {.type FromH0, {.p C_cellplus}}, /* dd C_cellplus 13560 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 13568 */
+ {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 13576 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 13584 */
+ {.type Absolute, {.p 64}}, /* dd 64 13592 */
+ {.type FromH0, {.p M_binor}}, /* dd M_binor 13600 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 13608 */
+ {.type FromH0, {.p M_cstore}}, /* dd M_cstore 13616 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 13624 */
+ {.type Header, {.hdr { 6, "reveal", /* C_reveal = 13640 */ colon }}}, /* CENTRY "reveal" reveal 6 h 13648 */
+ {.type FromH0, {.p M_Dp}}, /* dd M_Dp 13656 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 13664 */
+ {.type FromH0, {.p C_cellplus}}, /* dd C_cellplus 13672 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 13680 */
+ {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 13688 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 13696 */
+ {.type Absolute, {.p 64}}, /* dd 64 13704 */
+ {.type FromH0, {.p C_invert}}, /* dd C_invert 13712 */
+ {.type FromH0, {.p M_binand}}, /* dd M_binand 13720 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 13728 */
+ {.type FromH0, {.p M_cstore}}, /* dd M_cstore 13736 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 13744 */
+ {.type Header, {.hdr { 1, ":", /* C_colon = 13760 */ colon }}}, /* CENTRY ":" colon 1 h 13768 */
+ {.type FromH0, {.p C_create}}, /* dd C_create 13776 */
+ {.type FromH0, {.p C_smudge}}, /* dd C_smudge 13784 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 13792 */
+ {.type FromH0, {.p M_colon}}, /* dd M_colon 13800 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 13808 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 13816 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 13824 */
+ {.type Absolute, {.p 1}}, /* dd 1 13832 */
+ {.type FromH0, {.p C_cells}}, /* dd C_cells 13840 */
+ {.type FromH0, {.p M_minus}}, /* dd M_minus 13848 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 13856 */
+ {.type FromH0, {.p C_close_bracket}}, /* dd C_close_bracket 13864 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 13872 */
+ {.type IHeader, {.hdr { 1, ";", /* CI_semicolon = 13888 */ colon }}}, /* CIENTRY ";" semicolon 1 h 13896 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 13904 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 13912 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 13920 */
+ {.type FromH0, {.p MV_State}}, /* dd MV_State 13928 */
+ {.type FromH0, {.p C_off}}, /* dd C_off 13936 */
+ {.type FromH0, {.p C_reveal}}, /* dd C_reveal 13944 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 13952 */
+ {.type IHeader, {.hdr { 7, "recurse", /* CI_recurse = 13968 */ colon }}}, /* CIENTRY "recurse" recurse 7 h 13976 */
+ {.type FromH0, {.p M_Dp}}, /* dd M_Dp 13984 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 13992 */
+ {.type FromH0, {.p C_cellplus}}, /* dd C_cellplus 14000 */
+ {.type FromH0, {.p C_tocfa}}, /* dd C_tocfa 14008 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 14016 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 14024 */
+ {.type Header, {.hdr { 4, "char", /* C_L206 = 14040 */ colon }}}, /* CENTRY "char" L206 4 h 14048 */
+ {.type FromH0, {.p C_bl}}, /* dd C_bl 14056 */
+ {.type FromH0, {.p C_word}}, /* dd C_word 14064 */
+ {.type FromH0, {.p C_1plus}}, /* dd C_1plus 14072 */
+ {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 14080 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 14088 */
+ {.type Header, {.hdr { 7, "literal", /* C_literal = 14104 */ colon }}}, /* CENTRY "literal" literal 7 h 14112 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 14120 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 14128 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 14136 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 14144 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 14152 */
+ {.type Header, {.hdr { 8, "sliteral", /* C_sliteral = 14176 */ colon }}}, /* CENTRY "sliteral" sliteral 8 h 14184 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 14192 */
+ {.type FromH0, {.p M_sliteral}}, /* dd M_sliteral 14200 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 14208 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 14216 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 14224 */
+ {.type Absolute, {.p 34}}, /* dd 34 14232 */
+ {.type FromH0, {.p C_parse}}, /* dd C_parse 14240 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 14248 */
+ {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 14256 */
+ {.type FromH0, {.p C_1plus}}, /* dd C_1plus 14264 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush 14272 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 14280 */
+ {.type FromH0, {.p M_rfetch}}, /* dd M_rfetch 14288 */
+ {.type FromH0, {.p M_cmove}}, /* dd M_cmove 14296 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 14304 */
+ {.type FromH0, {.p C_allot}}, /* dd C_allot 14312 */
+ {.type FromH0, {.p C_align}}, /* dd C_align 14320 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 14328 */
+ {.type Header, {.hdr { 6, "string", /* C_string = 14344 */ colon }}}, /* CENTRY "string" string 6 h 14352 */
+ {.type FromH0, {.p C_word}}, /* dd C_word 14360 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 14368 */
+ {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 14376 */
+ {.type FromH0, {.p C_1plus}}, /* dd C_1plus 14384 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush 14392 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 14400 */
+ {.type FromH0, {.p M_rfetch}}, /* dd M_rfetch 14408 */
+ {.type FromH0, {.p M_cmove}}, /* dd M_cmove 14416 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 14424 */
+ {.type FromH0, {.p C_allot}}, /* dd C_allot 14432 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 14440 */
+ {.type IHeader, {.hdr { 6, "[char]", /* CI_char_brackets = 14456 */ colon }}}, /* CIENTRY "[char]" char_brackets 6 h 14464 */
+ {.type FromH0, {.p C_bl}}, /* dd C_bl 14472 */
+ {.type FromH0, {.p C_word}}, /* dd C_word 14480 */
+ {.type FromH0, {.p C_1plus}}, /* dd C_1plus 14488 */
+ {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 14496 */
+ {.type FromH0, {.p C_literal}}, /* dd C_literal 14504 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 14512 */
+ {.type IHeader, {.hdr { 3, "[']", /* CI_quote_brackets = 14528 */ colon }}}, /* CIENTRY "[']" quote_brackets 3 h 14536 */
+ {.type FromH0, {.p C_single_quote}}, /* dd C_single_quote 14544 */
+ {.type FromH0, {.p C_literal}}, /* dd C_literal 14552 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 14560 */
+ {.type IHeader, {.hdr { 1, "(", /* CI_openparen = 14576 */ colon }}}, /* CIENTRY "(" openparen 1 h 14584 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 14592 */
+ {.type Absolute, {.p 41}}, /* dd 41 14600 */
+ {.type FromH0, {.p C_parse}}, /* dd C_parse 14608 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop 14616 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 14624 */
+ {.type IHeader, {.hdr { 1, "\\", /* CI_backslash = 14640 */ colon }}}, /* CIENTRY "\\" backslash 1 h 14648 */
+ {.type FromH0, {.p MV_Blk}}, /* dd MV_Blk 14656 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 14664 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 14672 */
+ {.type FromH0, {.p L214}}, /* dd L214 14680 */
+ {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 14688 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 14696 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 14704 */
+ {.type Absolute, {.p 63}}, /* dd 63 14712 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus 14720 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 14728 */
+ {.type Absolute, {.p 63}}, /* dd 63 14736 */
+ {.type FromH0, {.p C_invert}}, /* dd C_invert 14744 */
+ {.type FromH0, {.p M_binand}}, /* dd M_binand 14752 */
+ {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 14760 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 14768 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 14776 */
+ {.type FromH0, {.p L215}}, /* dd L215 14784 */
+ {.type FromH0, {.p MV_toLimit}}, /* dd MV_toLimit 14792 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 14800 */
+ {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 14808 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 14816 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 14824 */
+ {.type Header, {.hdr { 8, "(?abort)", /* C_qabort_parens = 14848 */ colon }}}, /* CENTRY "(?abort)" qabort_parens 8 h 14856 */
+ {.type FromH0, {.p MV_State}}, /* dd MV_State 14864 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 14872 */
+ {.type FromH0, {.p L217}}, /* dd L217 14880 */
+ {.type FromH0, {.p C_space}}, /* dd C_space 14888 */
+ {.type FromH0, {.p C_type}}, /* dd C_type 14896 */
+ {.type FromH0, {.p C_cr}}, /* dd C_cr 14904 */
+ {.type FromH0, {.p C_abort}}, /* dd C_abort 14912 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 14920 */
+ {.type FromH0, {.p L218}}, /* dd L218 14928 */
+ {.type FromH0, {.p C_2drop}}, /* dd C_2drop 14936 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 14944 */
+ {.type IHeader, {.hdr { 6, "abort\"", /* CI_abort_double_quote = 14960 */ colon }}}, /* CIENTRY "abort\"" abort_double_quote 6 h 14968 */
+ {.type FromH0, {.p C_sliteral}}, /* dd C_sliteral 14976 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 14984 */
+ {.type FromH0, {.p C_qabort_parens}}, /* dd C_qabort_parens 14992 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 15000 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15008 */
+ {.type Header, {.hdr { 1, "\"", /* C_double_quote = 15024 */ colon }}}, /* CENTRY "\"" double_quote 1 h 15032 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 15040 */
+ {.type Absolute, {.p 34}}, /* dd 34 15048 */
+ {.type FromH0, {.p C_word}}, /* dd C_word 15056 */
+ {.type FromH0, {.p C_count}}, /* dd C_count 15064 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush 15072 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 15080 */
+ {.type FromH0, {.p M_rfetch}}, /* dd M_rfetch 15088 */
+ {.type FromH0, {.p M_cmove}}, /* dd M_cmove 15096 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 15104 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 15112 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 15120 */
+ {.type FromH0, {.p C_allot}}, /* dd C_allot 15128 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15136 */
+ {.type Header, {.hdr { 2, "c\"", /* C_cdouble_quote = 15152 */ colon }}}, /* CENTRY "c\"" cdouble_quote 2 h 15160 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 15168 */
+ {.type Absolute, {.p 34}}, /* dd 34 15176 */
+ {.type FromH0, {.p C_word}}, /* dd C_word 15184 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 15192 */
+ {.type FromH0, {.p M_cfetch}}, /* dd M_cfetch 15200 */
+ {.type FromH0, {.p C_1plus}}, /* dd C_1plus 15208 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush 15216 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 15224 */
+ {.type FromH0, {.p M_rfetch}}, /* dd M_rfetch 15232 */
+ {.type FromH0, {.p M_cmove}}, /* dd M_cmove 15240 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 15248 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 15256 */
+ {.type FromH0, {.p C_allot}}, /* dd C_allot 15264 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15272 */
+ {.type IHeader, {.hdr { 2, "s\"", /* CI_sdouble_quote = 15288 */ colon }}}, /* CIENTRY "s\"" sdouble_quote 2 h 15296 */
+ {.type FromH0, {.p C_sliteral}}, /* dd C_sliteral 15304 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15312 */
+ {.type IHeader, {.hdr { 2, ".\"", /* CI_dotstr = 15328 */ colon }}}, /* CIENTRY ".\"" dotstr 2 h 15336 */
+ {.type FromH0, {.p C_sliteral}}, /* dd C_sliteral 15344 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 15352 */
+ {.type FromH0, {.p C_type}}, /* dd C_type 15360 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 15368 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15376 */
+ {.type IHeader, {.hdr { 2, "if", /* CI_if = 15392 */ colon }}}, /* CIENTRY "if" if 2 h 15400 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 15408 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 15416 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 15424 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 15432 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 15440 */
+ {.type Absolute, {.p 0}}, /* dd 0 15448 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 15456 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15464 */
+ {.type IHeader, {.hdr { 4, "else", /* CI_else = 15480 */ colon }}}, /* CIENTRY "else" else 4 h 15488 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 15496 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 15504 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 15512 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 15520 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush 15528 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 15536 */
+ {.type Absolute, {.p 0}}, /* dd 0 15544 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 15552 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 15560 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 15568 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 15576 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 15584 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15592 */
+ {.type IHeader, {.hdr { 4, "then", /* CI_then = 15608 */ colon }}}, /* CIENTRY "then" then 4 h 15616 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 15624 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 15632 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 15640 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15648 */
+ {.type IHeader, {.hdr { 5, "begin", /* CI_begin = 15664 */ colon }}}, /* CIENTRY "begin" begin 5 h 15672 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 15680 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15688 */
+ {.type IHeader, {.hdr { 5, "again", /* CI_again = 15704 */ colon }}}, /* CIENTRY "again" again 5 h 15712 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 15720 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 15728 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 15736 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 15744 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15752 */
+ {.type IHeader, {.hdr { 5, "until", /* CI_until = 15768 */ colon }}}, /* CIENTRY "until" until 5 h 15776 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 15784 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 15792 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 15800 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 15808 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15816 */
+ {.type IHeader, {.hdr { 5, "while", /* CI_while = 15832 */ colon }}}, /* CIENTRY "while" while 5 h 15840 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 15848 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 15856 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 15864 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 15872 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 15880 */
+ {.type Absolute, {.p 0}}, /* dd 0 15888 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 15896 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 15904 */
+ {.type IHeader, {.hdr { 6, "repeat", /* CI_repeat = 15920 */ colon }}}, /* CIENTRY "repeat" repeat 6 h 15928 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 15936 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 15944 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 15952 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 15960 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 15968 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 15976 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 15984 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 15992 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16000 */
+ {.type IHeader, {.hdr { 2, "do", /* CI_do = 16016 */ colon }}}, /* CIENTRY "do" do 2 h 16024 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 16032 */
+ {.type FromH0, {.p M_doinit}}, /* dd M_doinit 16040 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 16048 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 16056 */
+ {.type Absolute, {.p 0}}, /* dd 0 16064 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 16072 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16080 */
+ {.type IHeader, {.hdr { 4, "loop", /* CI_loop = 16096 */ colon }}}, /* CIENTRY "loop" loop 4 h 16104 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 16112 */
+ {.type FromH0, {.p M_doloop}}, /* dd M_doloop 16120 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 16128 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 16136 */
+ {.type FromH0, {.p C_qdup}}, /* dd C_qdup 16144 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 16152 */
+ {.type FromH0, {.p L234}}, /* dd L234 16160 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 16168 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 16176 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 16184 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16192 */
+ {.type IHeader, {.hdr { 5, "+loop", /* CI_ploop = 16208 */ colon }}}, /* CIENTRY "+loop" ploop 5 h 16216 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 16224 */
+ {.type FromH0, {.p M_doploop}}, /* dd M_doploop 16232 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 16240 */
+ {.type FromH0, {.p C_comma}}, /* dd C_comma 16248 */
+ {.type FromH0, {.p C_qdup}}, /* dd C_qdup 16256 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 16264 */
+ {.type FromH0, {.p L236}}, /* dd L236 16272 */
+ {.type FromH0, {.p C_here}}, /* dd C_here 16280 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 16288 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 16296 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16304 */
+ {.type Header, {.hdr { 3, "w/o", /* C_wo = 16320 */ colon }}}, /* CENTRY "w/o" wo 3 h 16328 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 16336 */
+ {.type Absolute, {.p 1}}, /* dd 1 16344 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 16352 */
+ {.type Absolute, {.p 512}}, /* dd 512 16360 */
+ {.type FromH0, {.p M_binor}}, /* dd M_binor 16368 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 16376 */
+ {.type Absolute, {.p 64}}, /* dd 64 16384 */
+ {.type FromH0, {.p M_binor}}, /* dd M_binor 16392 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16400 */
+ {.type Header, {.hdr { 3, "r/o", /* C_ro = 16416 */ colon }}}, /* CENTRY "r/o" ro 3 h 16424 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 16432 */
+ {.type Absolute, {.p 0}}, /* dd 0 16440 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16448 */
+ {.type Header, {.hdr { 3, "r/w", /* C_rw = 16464 */ colon }}}, /* CENTRY "r/w" rw 3 h 16472 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 16480 */
+ {.type Absolute, {.p 2}}, /* dd 2 16488 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16496 */
+ {.type Header, {.hdr { 9, "open-file", /* C_open_file = 16520 */ colon }}}, /* CENTRY "open-file" open_file 9 h 16528 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush 16536 */
+ {.type FromH0, {.p C_pad}}, /* dd C_pad 16544 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 16552 */
+ {.type Absolute, {.p 1024}}, /* dd 1024 16560 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus 16568 */
+ {.type FromH0, {.p M_xswap}}, /* dd M_xswap 16576 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 16584 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush 16592 */
+ {.type FromH0, {.p M_cmove}}, /* dd M_cmove 16600 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 16608 */
+ {.type Absolute, {.p 0}}, /* dd 0 16616 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 16624 */
+ {.type FromH0, {.p C_pad}}, /* dd C_pad 16632 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus 16640 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 16648 */
+ {.type Absolute, {.p 1024}}, /* dd 1024 16656 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus 16664 */
+ {.type FromH0, {.p M_cstore}}, /* dd M_cstore 16672 */
+ {.type FromH0, {.p C_pad}}, /* dd C_pad 16680 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 16688 */
+ {.type Absolute, {.p 1024}}, /* dd 1024 16696 */
+ {.type FromH0, {.p M_plus}}, /* dd M_plus 16704 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 16712 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 16720 */
+ {.type Absolute, {.p 420}}, /* dd 420 16728 */
+ {.type FromH0, {.p M_fthopen}}, /* dd M_fthopen 16736 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 16744 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 16752 */
+ {.type Absolute, {.p -1}}, /* dd -1 16760 */
+ {.type FromH0, {.p M_greater}}, /* dd M_greater 16768 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16776 */
+ {.type Header, {.hdr { 10, "close-file", /* C_close_file = 16800 */ colon }}}, /* CENTRY "close-file" close_file 10 h 16808 */
+ {.type FromH0, {.p M_fthclose}}, /* dd M_fthclose 16816 */
+ {.type FromH0, {.p C_0eq}}, /* dd C_0eq 16824 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16832 */
+ {.type Header, {.hdr { 9, "read-file", /* C_read_file = 16856 */ colon }}}, /* CENTRY "read-file" read_file 9 h 16864 */
+ {.type FromH0, {.p M_fthread}}, /* dd M_fthread 16872 */
+ {.type FromH0, {.p M_dup}}, /* dd M_dup 16880 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 16888 */
+ {.type Absolute, {.p -1}}, /* dd -1 16896 */
+ {.type FromH0, {.p C_neq}}, /* dd C_neq 16904 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16912 */
+ {.type Header, {.hdr { 10, "write-file", /* C_write_file = 16936 */ colon }}}, /* CENTRY "write-file" write_file 10 h 16944 */
+ {.type FromH0, {.p M_fthwrite}}, /* dd M_fthwrite 16952 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 16960 */
+ {.type Absolute, {.p -1}}, /* dd -1 16968 */
+ {.type FromH0, {.p C_neq}}, /* dd C_neq 16976 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 16984 */
+ {.type Header, {.hdr { 15, "reposition-file", /* C_reposition_file = 17008 */ colon }}}, /* CENTRY "reposition-file" reposition_file 15 h 17016 */
+ {.type FromH0, {.p M_fthseek}}, /* dd M_fthseek 17024 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 17032 */
+ {.type Absolute, {.p -1}}, /* dd -1 17040 */
+ {.type FromH0, {.p C_neq}}, /* dd C_neq 17048 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 17056 */
+ {.type Header, {.hdr { 7, "?fcheck", /* C_qfcheck = 17072 */ colon }}}, /* CENTRY "?fcheck" qfcheck 7 h 17080 */
+ {.type FromH0, {.p C_0eq}}, /* dd C_0eq 17088 */
+ {.type FromH0, {.p M_cjump}}, /* dd M_cjump 17096 */
+ {.type FromH0, {.p L246}}, /* dd L246 17104 */
+ {.type FromH0, {.p C_space}}, /* dd C_space 17112 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 17120 */
+ {.type FromH0, {.p L247}}, /* dd L247 17128 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 17136 */
+ {.type Absolute, {.p 9}}, /* dd 9 17144 */
+ {.type FromH0, {.p C_type}}, /* dd C_type 17152 */
+ {.type FromH0, {.p C_cr}}, /* dd C_cr 17160 */
+ {.type FromH0, {.p C_abort}}, /* dd C_abort 17168 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 17176 */
+ {.type Header, {.hdr { 3, "bye", /* C_bye = 17192 */ colon }}}, /* CENTRY "bye" bye 3 h 17200 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 17208 */
+ {.type Absolute, {.p 0}}, /* dd 0 17216 */
+ {.type FromH0, {.p M_terminate}}, /* dd M_terminate 17224 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 17232 */
+ {.type Header, {.hdr { 7, "include", /* C_include = 17248 */ colon }}}, /* CENTRY "include" include 7 h 17256 */
+ {.type FromH0, {.p C_bl}}, /* dd C_bl 17264 */
+ {.type FromH0, {.p C_word}}, /* dd C_word 17272 */
+ {.type FromH0, {.p M_rpush}}, /* dd M_rpush 17280 */
+ {.type FromH0, {.p MV_toLimit}}, /* dd MV_toLimit 17288 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 17296 */
+ {.type FromH0, {.p MV_toIn}}, /* dd MV_toIn 17304 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 17312 */
+ {.type FromH0, {.p C_save_input}}, /* dd C_save_input 17320 */
+ {.type FromH0, {.p M_rpop}}, /* dd M_rpop 17328 */
+ {.type FromH0, {.p C_count}}, /* dd C_count 17336 */
+ {.type FromH0, {.p C_ro}}, /* dd C_ro 17344 */
+ {.type FromH0, {.p C_open_file}}, /* dd C_open_file 17352 */
+ {.type FromH0, {.p C_qfcheck}}, /* dd C_qfcheck 17360 */
+ {.type FromH0, {.p MV_Infd}}, /* dd MV_Infd 17368 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 17376 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 17384 */
+ {.type Header, {.hdr { 5, "crash", /* C_crash = 17400 */ colon }}}, /* CENTRY "crash" crash 5 h 17408 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 17416 */
+ {.type FromH0, {.p L251}}, /* dd L251 17424 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 17432 */
+ {.type Absolute, {.p 30}}, /* dd 30 17440 */
+ {.type FromH0, {.p C_type}}, /* dd C_type 17448 */
+ {.type FromH0, {.p C_cr}}, /* dd C_cr 17456 */
+ {.type FromH0, {.p C_abort}}, /* dd C_abort 17464 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 17472 */
+ {.type Header, {.hdr { 4, "quit", /* C_quit = 17488 */ colon }}}, /* CENTRY "quit" quit 4 ; interpreter loop h 17496 */
+ {.type FromH0, {.p M_reset}}, /* dd M_reset ; initialize return stack 17504 */
+ {.type FromH0, {.p M_clear}}, /* dd M_clear ; SP = sstack_end initialize data stack 17512 */
+ {.type FromH0, {.p C_query}}, /* dd C_query 17520 */
+ {.type FromH0, {.p MV_toLimit}}, /* dd MV_toLimit ; show the line read, for debugging 17528 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch 17536 */
+ {.type FromH0, {.p M_Tib}}, /* dd M_Tib 17544 */
+ {.type FromH0, {.p MC_STDOUT}}, /* dd MC_STDOUT 17552 */
+ {.type FromH0, {.p M_fthwrite}}, /* dd M_fthwrite 17560 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop ; drop the return value of write 17568 */
+ {.type FromH0, {.p C_interpret}}, /* dd C_interpret 17576 */
+ {.type FromH0, {.p M_jump}}, /* dd M_jump 17584 */
+ {.type FromH0, {.p L253}}, /* dd L253 17592 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon ; why is this needed? 17600 */
+ {.type Header, {.hdr { 7, "(abort)", /* C_parenabort = 17616 */ colon }}}, /* CENTRY "(abort)" parenabort 7 ; TODO correct below stack notations h 17624 */
+ {.type FromH0, {.p MV_State}}, /* dd MV_State ; ( mv_State -- ) 17632 */
+ {.type FromH0, {.p C_off}}, /* dd C_off ; off sets variable state = 0 17640 */
+ {.type FromH0, {.p M_Tib}}, /* dd M_Tib ; constant puts address of tibuffer on the top of stack 17648 */
+ {.type FromH0, {.p MV_Sourcebuf}}, /* dd MV_Sourcebuf ; variable sourcebuf 17656 */
+ {.type FromH0, {.p M_store}}, /* dd M_store ; variable sourcebuf = address of tibuffer 17664 */
+ {.type FromH0, {.p MV_Blk}}, /* dd MV_Blk ; variable blk 17672 */
+ {.type FromH0, {.p C_off}}, /* dd C_off ; off variable blk = 0 17680 */
+ {.type FromH0, {.p MC_STDIN}}, /* dd MC_STDIN 17688 */
+ {.type FromH0, {.p MV_Infd}}, /* dd MV_Infd 17696 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 17704 */
+ {.type FromH0, {.p MC_STDOUT}}, /* dd MC_STDOUT 17712 */
+ {.type FromH0, {.p MV_Outfd}}, /* dd MV_Outfd 17720 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 17728 */
+ {.type FromH0, {.p MC_STDERR}}, /* dd MC_STDERR 17736 */
+ {.type FromH0, {.p MV_Errfd}}, /* dd MV_Errfd 17744 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 17752 */
+ {.type FromH0, {.p C_quit}}, /* dd C_quit ; quit resets stacks and is the interpreter loop 17760 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon ; why is this needed? quit does not return unless it breaks 17768 */
+ {.type Header, {.hdr { 7, "oldboot", /* C_oldboot = 17784 */ 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 17792 */
+ {.type FromH0, {.p M_reset}}, /* dd M_reset 17800 */
+ {.type FromH0, {.p M_clear}}, /* dd M_clear ; SP = sstack_end 17808 */
+ {.type FromH0, {.p M_stackptr}}, /* dd M_stackptr ; (D -- FFEND) 17816 */
+ {.type FromH0, {.p M_S0}}, /* dd M_S0 17824 */
+ {.type FromH0, {.p M_store}}, /* dd M_store ; s0 = FFEND 17832 */
+ {.type FromH0, {.p M_H0}}, /* dd M_H0 ; heaptop = heapend 17840 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch ; ( heapend -- ) 17848 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 17856 */
+ {.type Absolute, {.p 1}}, /* dd 1 ; ( heapend 1 -- ) 17864 */
+ {.type FromH0, {.p C_cells}}, /* dd C_cells ; cells ( heapend 8 -- ) 17872 */
+ {.type FromH0, {.p M_minus}}, /* dd M_minus ; ( heapend-8 -- ) 17880 */
+ {.type FromH0, {.p M_fetch}}, /* dd M_fetch ; ( contents_from_heapend-8 -- ) 17888 */
+ {.type FromH0, {.p M_Args}}, /* dd M_Args ; variable args 17896 */
+ {.type FromH0, {.p M_store}}, /* dd M_store ; args = contents_from_heapend-8 17904 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 17912 */
+ {.type FromH0, {.p C_parenabort}}, /* dd C_parenabort ; ( (abort) -- ) 17920 */
+ {.type FromH0, {.p MV_Abortvec}}, /* dd MV_Abortvec ; variable abortvec 17928 */
+ {.type FromH0, {.p M_store}}, /* dd M_store ; variable abortvec = (abort) code address 17936 */
+ {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb ; constant puts address of wordbuffer on the top of stack 17944 */
+ {.type FromH0, {.p MV_Wordbuf}}, /* dd MV_Wordbuf ; variable wordbuf 17952 */
+ {.type FromH0, {.p M_store}}, /* dd M_store ; variable wordbuf = address of wordbuffer 17960 */
+ {.type FromH0, {.p M_Tib}}, /* dd M_Tib ; constant puts address of tibuffer on the top of stack 17968 */
+ {.type FromH0, {.p MV_Sourcebuf}}, /* dd MV_Sourcebuf ; variable sourcebuf 17976 */
+ {.type FromH0, {.p M_store}}, /* dd M_store ; variable sourcebuf = address of tibuffer 17984 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 17992 */
+ {.type Absolute, {.p 0}}, /* dd 0 18000 */
+ {.type FromH0, {.p MV_Infd}}, /* dd MV_Infd 18008 */
+ {.type FromH0, {.p M_store}}, /* dd M_store ; stdin = 0 18016 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 18024 */
+ {.type Absolute, {.p 1}}, /* dd 1 18032 */
+ {.type FromH0, {.p MV_Outfd}}, /* dd MV_Outfd 18040 */
+ {.type FromH0, {.p M_store}}, /* dd M_store ; stdout = 1 18048 */
+ {.type FromH0, {.p MV_State}}, /* dd MV_State 18056 */
+ {.type FromH0, {.p C_off}}, /* dd C_off ; off stores 0 at state 18064 */
+ {.type FromH0, {.p C_decimal}}, /* dd C_decimal ; decimal setting base = 0 18072 */
+ {.type FromH0, {.p C_quit}}, /* dd C_quit ; quit 18080 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 18088 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal ; test code 18096 */
+ {.type Absolute, {.p 66}}, /* dd 66 18104 */
+ {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb 18112 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 18120 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 18128 */
+ {.type Absolute, {.p 1}}, /* dd 1 18136 */
+ {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb 18144 */
+ {.type FromH0, {.p MC_STDOUT}}, /* dd MC_STDOUT 18152 */
+ {.type FromH0, {.p M_fthwrite}}, /* dd M_fthwrite 18160 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop ; drop the return value of write 18168 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 18176 */
+ {.type Absolute, {.p 1}}, /* dd 1 18184 */
+ {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb 18192 */
+ {.type FromH0, {.p MC_STDIN}}, /* dd MC_STDIN 18200 */
+ {.type FromH0, {.p M_fthread}}, /* dd M_fthread 18208 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop ; drop the return value of read 18216 */
+ {.type Header, {.hdr { 4, "boot", /* C_boot = 18232 */ colon }}}, /* CENTRY "boot" boot 4 h 18240 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal ; test code 18248 */
+ {.type Absolute, {.p 65}}, /* dd 65 18256 */
+ {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb 18264 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 18272 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 18280 */
+ {.type Absolute, {.p 1}}, /* dd 1 18288 */
+ {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb 18296 */
+ {.type FromH0, {.p MC_STDOUT}}, /* dd MC_STDOUT 18304 */
+ {.type FromH0, {.p M_fthwrite}}, /* dd M_fthwrite 18312 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop ; drop the return value of write 18320 */
+ {.type FromH0, {.p M_reset}}, /* dd M_reset ; initialize return stack 18328 */
+ {.type FromH0, {.p M_clear}}, /* dd M_clear ; SP = sstack_end initialize data stack 18336 */
+/* ; s0 puts FFEND on the stack *//* ; no args */ {.type FromH0, {.p M_literal}}, /* dd M_literal ; test code 18344 */
+ {.type Absolute, {.p 66}}, /* dd 66 18352 */
+ {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb 18360 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 18368 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 18376 */
+ {.type Absolute, {.p 1}}, /* dd 1 18384 */
+ {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb 18392 */
+ {.type FromH0, {.p MC_STDOUT}}, /* dd MC_STDOUT 18400 */
+ {.type FromH0, {.p M_fthwrite}}, /* dd M_fthwrite 18408 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop ; drop the return value of write 18416 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 18424 */
+ {.type FromH0, {.p C_parenabort}}, /* dd C_parenabort ; ( (abort) -- ) 18432 */
+ {.type FromH0, {.p MV_Abortvec}}, /* dd MV_Abortvec ; variable that puts (abort) code address on the stack 18440 */
+ {.type FromH0, {.p M_store}}, /* dd M_store ; variable abortvec = (abort) code address 18448 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal ; test code 18456 */
+ {.type Absolute, {.p 67}}, /* dd 67 18464 */
+ {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb 18472 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 18480 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 18488 */
+ {.type Absolute, {.p 1}}, /* dd 1 18496 */
+ {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb 18504 */
+ {.type FromH0, {.p MC_STDOUT}}, /* dd MC_STDOUT 18512 */
+ {.type FromH0, {.p M_fthwrite}}, /* dd M_fthwrite 18520 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop ; drop the return value of write 18528 */
+ {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb ; variable puts address of wordbuffer on the top of stack 18536 */
+ {.type FromH0, {.p MV_Wordbuf}}, /* dd MV_Wordbuf ; variable wordbuf 18544 */
+ {.type FromH0, {.p M_store}}, /* dd M_store ; variable wordbuf = address of wordbuffer 18552 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal ; test code 18560 */
+ {.type Absolute, {.p 68}}, /* dd 68 18568 */
+ {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb 18576 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 18584 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 18592 */
+ {.type Absolute, {.p 1}}, /* dd 1 18600 */
+ {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb 18608 */
+ {.type FromH0, {.p MC_STDOUT}}, /* dd MC_STDOUT 18616 */
+ {.type FromH0, {.p M_fthwrite}}, /* dd M_fthwrite 18624 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop ; drop the return value of write 18632 */
+ {.type FromH0, {.p M_Tib}}, /* dd M_Tib ; constant puts address of tibuffer on the top of stack 18640 */
+ {.type FromH0, {.p MV_Sourcebuf}}, /* dd MV_Sourcebuf ; variable sourcebuf 18648 */
+ {.type FromH0, {.p M_store}}, /* dd M_store ; variable sourcebuf = address of tibuffer 18656 */
+ {.type FromH0, {.p MC_STDIN}}, /* dd MC_STDIN 18664 */
+ {.type FromH0, {.p MV_Infd}}, /* dd MV_Infd 18672 */
+ {.type FromH0, {.p M_store}}, /* dd M_store ; stdin = 0 18680 */
+ {.type FromH0, {.p MC_STDOUT}}, /* dd MC_STDOUT 18688 */
+ {.type FromH0, {.p MV_Outfd}}, /* dd MV_Outfd 18696 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 18704 */
+ {.type FromH0, {.p MC_STDERR}}, /* dd MC_STDERR 18712 */
+ {.type FromH0, {.p MV_Errfd}}, /* dd MV_Errfd 18720 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 18728 */
+ {.type FromH0, {.p MV_State}}, /* dd MV_State 18736 */
+ {.type FromH0, {.p C_off}}, /* dd C_off ; off stores 0 at state 18744 */
+ {.type FromH0, {.p C_decimal}}, /* dd C_decimal ; decimal sets base = 10 18752 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal ; test code 18760 */
+ {.type Absolute, {.p 69}}, /* dd 69 18768 */
+ {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb 18776 */
+ {.type FromH0, {.p M_store}}, /* dd M_store 18784 */
+ {.type FromH0, {.p M_literal}}, /* dd M_literal 18792 */
+ {.type Absolute, {.p 1}}, /* dd 1 18800 */
+ {.type FromH0, {.p M_Wordb}}, /* dd M_Wordb 18808 */
+ {.type FromH0, {.p MC_STDOUT}}, /* dd MC_STDOUT 18816 */
+ {.type FromH0, {.p M_fthwrite}}, /* dd M_fthwrite 18824 */
+ {.type FromH0, {.p M_drop}}, /* dd M_drop ; drop the return value of write 18832 */
+ {.type FromH0, {.p C_quit}}, /* dd C_quit ; quit 18840 */
+ {.type FromH0, {.p M_exitcolon}}, /* dd M_exitcolon 18848 */
+ {.type Chars, {.str "unable to restore input"}}, /* 18872 */
+ {.type Chars, {.str " Q?"}}, /* 18876 */
+ {.type Chars, {.str " stack underflow"}}, /* 18893 */
+ {.type Chars, {.str " I?"}}, /* 18897 */
+ {.type Chars, {.str " C?"}}, /* 18901 */
+ {.type Chars, {.str "I/O error"}}, /* 18911 */
+ {.type Chars, {.str "uninitialized execution vector"}}, /* 18942 */
+ {.type Chars, {.str " ok"}}, /* 18946 */
};
--- a/os/pc64/mkdict.awk
+++ b/os/pc64/mkdict.awk
@@ -48,12 +48,12 @@
}
$1 == "CENTRY" {
name = $2
- gsub(/^c_/,"", $3)
+ gsub(/^C_/,"", $3)
header($4, name, "C_", $3, "colon")
}
$1 == "CIENTRY" {
name = $2
- gsub(/^ci_/,"", $3)
+ gsub(/^CI_/,"", $3)
header($4, name, "CI_", $3, "colon", 1)
}
$1 == "dd" && $2 ~ literal {
--- a/os/pc64/mkfile
+++ b/os/pc64/mkfile
@@ -64,10 +64,11 @@
i$CONF: $OBJ $CONF.c $CONF.root.h $LIBNAMES
$CC $CFLAGS '-DKERNDATE='$KERNDATE $CONF.c
+ $LD -v -a -o $target -T$KTZERO -R4096 -l $OBJ $CONF.$O $LIBFILES > $target.loader >[2=1]
$LD -o $target -T$KTZERO -R4096 -l $OBJ $CONF.$O $LIBFILES
$KSIZE $target
-install:V: i$CONF
+install:V: i$CONF # i$CONF.acid
cp i$CONF $INSTALLDIR/i$CONF
test -d /amd64/ && cp i$CONF /amd64/i$CONF
--- a/os/pc64/trap.c
+++ b/os/pc64/trap.c
@@ -163,6 +163,9 @@
else if(vno <= nelem(excname) && up->type == Interp){
spllo();
sprint(buf, "sys: trap: %s pc 0x%zx", excname[vno], ureg->pc);
+ print(buf);
+ dumpregs(ureg);
+ _dumpstack(ureg);
error(buf);
}
else if(vno >= VectorPIC && vno != VectorSYSCALL){
@@ -312,8 +315,9 @@
{
uintptr l, v, i, estack;
extern uintptr etext;
+ int onlypc = 0;
- print("ktrace /kernel/path %.8zux %.8zux\n", ureg->pc, ureg->sp);
+ print("ktrace /kernel/path pc 0x%zux sp 0x%zux &l 0x%zux\n", ureg->pc, ureg->sp, &l);
i = 0;
if(up &&
(uintptr)&l >= (uintptr)up->kstack &&
@@ -327,14 +331,19 @@
for(l=(uintptr)&l; l<estack; l+=sizeof(intptr)){
v = *(uintptr*)l;
- if(KTZERO < v && v < (uintptr)&etext){
- /*
- * we could Pick off general CALL (((uchar*)v)[-5] == 0xE8)
- * and CALL indirect through AX (((uchar*)v)[-2] == 0xFF && ((uchar*)v)[-2] == 0xD0),
- * but this is too clever and misses faulting address.
- */
- print("%.8zux=%.8zux ", l, v);
- i++;
+ if(onlypc){
+ if(KTZERO < v && v < (uintptr)&etext){
+ /*
+ * we could Pick off general CALL (((uchar*)v)[-5] == 0xE8)
+ * and CALL indirect through AX (((uchar*)v)[-2] == 0xFF && ((uchar*)v)[-2] == 0xD0),
+ * but this is too clever and misses faulting address.
+ */
+ print("%.8zux=%.8zux ", l, v);
+ i++;
+ }
+ }else{
+ print("%.8zux=%.8zux ", l, v);
+ i++;
}
if(i == 4){
i = 0;
@@ -393,8 +402,11 @@
return;
read = !(ureg->ecode & 2);
spllo();
- snprint(buf, sizeof(buf), "trap: fault %s pc=0x%zux addr=0x%zux",
+ snprint(buf, sizeof(buf), "trap: fault %s pc=0x%zux addr=0x%zux\n",
read ? "read" : "write", ureg->pc, addr);
+print(buf);
+ dumpregs(ureg);
+dumpstack();
if(up->type == Interp)
disfault(ureg, buf);
dumpregs(ureg);
--- a/os/pc64/words-nasm.s
+++ b/os/pc64/words-nasm.s
@@ -1,33 +1,33 @@
-CENTRY "false" c_false 5
+CENTRY "false" C_false 5
dd M_literal
dd 0
dd M_exitcolon
-CENTRY "true" c_true 4
+CENTRY "true" C_true 4
dd M_literal
dd -1
dd M_exitcolon
-CENTRY "bl" c_bl 2
+CENTRY "bl" C_bl 2
dd M_literal
dd 32
dd M_exitcolon
-CENTRY "on" c_on 2 ; ( a -- ) (G stores -1 at a )
+CENTRY "on" C_on 2 ; ( a -- ) (G stores -1 at a )
dd M_literal
dd -1
dd M_xswap
dd M_store
dd M_exitcolon
-CENTRY "off" c_off 3 ; ( a -- ) (G stores 0 at a )
+CENTRY "off" C_off 3 ; ( a -- ) (G stores 0 at a )
dd M_literal
dd 0
dd M_xswap
dd M_store
dd M_exitcolon
-CENTRY ">body" c_tobody 5
+CENTRY ">body" C_tobody 5
dd M_literal
dd 8
dd M_plus
dd M_exitcolon
-CENTRY "aligned" c_aligned 7
+CENTRY "aligned" C_aligned 7
dd M_literal
dd 7
dd M_plus
@@ -35,18 +35,18 @@
dd -8
dd M_binand
dd M_exitcolon
-CENTRY "cells" c_cells 5
+CENTRY "cells" C_cells 5
dd M_literal
dd 3 ; (index << 2) -> (index << 3)for amd64
dd M_lshift
dd M_exitcolon
-CENTRY "cell+" c_cellplus 5
+CENTRY "cell+" C_cellplus 5
dd M_literal
dd 1
dd C_cells
dd M_plus
dd M_exitcolon
-CENTRY "depth" c_depth 5
+CENTRY "depth" C_depth 5
dd M_S0
dd M_stackptr
dd M_minus
@@ -57,35 +57,35 @@
dd 1
dd M_minus
dd M_exitcolon
-CENTRY "nip" c_nip 3
+CENTRY "nip" C_nip 3
dd M_xswap
dd M_drop
dd M_exitcolon
-CENTRY "rot" c_rot 3
+CENTRY "rot" C_rot 3
dd M_rpush
dd M_xswap
dd M_rpop
dd M_xswap
dd M_exitcolon
-CENTRY "2drop" c_2drop 5
+CENTRY "2drop" C_2drop 5
dd M_drop
dd M_drop
dd M_exitcolon
-CENTRY "2dup" c_2dup 4
+CENTRY "2dup" C_2dup 4
dd M_over
dd M_over
dd M_exitcolon
-CENTRY "2nip" c_2nip 4
+CENTRY "2nip" C_2nip 4
dd C_nip
dd C_nip
dd M_exitcolon
-CENTRY "2swap" c_2swap 5
+CENTRY "2swap" C_2swap 5
dd C_rot
dd M_rpush
dd C_rot
dd M_rpop
dd M_exitcolon
-CENTRY "?dup" c_qdup 4 ; if (tos != 0) dup ( n -- ) TODO correct stack notations
+CENTRY "?dup" C_qdup 4 ; if (tos != 0) dup ( n -- ) TODO correct stack notations
dd M_dup ; ( n n -- )
dd M_dup ; ( n n n -- )
dd M_literal
@@ -96,7 +96,7 @@
dd M_drop ; tos == 0 ( n -- )
L20: ; tos != 0 ( n n -- )
dd M_exitcolon
-CENTRY "pick" c_pick 4
+CENTRY "pick" C_pick 4
dd C_qdup
dd M_cjump
dd L22
@@ -113,17 +113,17 @@
dd M_dup
L23:
dd M_exitcolon
-CENTRY "tuck" c_tuck 4
+CENTRY "tuck" C_tuck 4
dd M_dup
dd M_rpush
dd M_xswap
dd M_rpop
dd M_exitcolon
-CENTRY "/" c_divides 1
+CENTRY "/" C_divides 1
dd M_slashmod
dd C_nip
dd M_exitcolon
-CENTRY "+!" c_plusstore 2
+CENTRY "+!" C_plusstore 2
dd M_dup
dd M_fetch
dd C_rot
@@ -131,66 +131,66 @@
dd M_xswap
dd M_store
dd M_exitcolon
-CENTRY "invert" c_invert 6
+CENTRY "invert" C_invert 6
dd M_literal
dd -1
dd M_binxor
dd M_exitcolon
-CENTRY "mod" c_mod 3
+CENTRY "mod" C_mod 3
dd M_slashmod
dd M_drop
dd M_exitcolon
-CENTRY "1+" c_1plus 2
+CENTRY "1+" C_1plus 2
dd M_literal
dd 1
dd M_plus
dd M_exitcolon
-CENTRY "1-" c_1minus 2
+CENTRY "1-" C_1minus 2
dd M_literal
dd 1
dd M_minus
dd M_exitcolon
-CENTRY "negate" c_negate 6
+CENTRY "negate" C_negate 6
dd M_literal
dd 0
dd M_xswap
dd M_minus
dd M_exitcolon
-CENTRY "2*" c_2multiplies 2
+CENTRY "2*" C_2multiplies 2
dd M_literal
dd 1
dd M_lshift
dd M_exitcolon
-CENTRY "2/" c_2divides 2
+CENTRY "2/" C_2divides 2
dd M_literal
dd 1
dd M_rshifta
dd M_exitcolon
-CENTRY "0=" c_0eq 2
+CENTRY "0=" C_0eq 2
dd M_literal
dd 0
dd M_equal
dd M_exitcolon
-CENTRY "0<" c_0lt 2
+CENTRY "0<" C_0lt 2
dd M_literal
dd 0
dd M_less
dd M_exitcolon
-CENTRY "0>" c_0gt 2
+CENTRY "0>" C_0gt 2
dd M_literal
dd 0
dd M_greater
dd M_exitcolon
-CENTRY "<>" c_neq 2
+CENTRY "<>" C_neq 2
dd M_equal
dd C_invert
dd M_exitcolon
-CENTRY "0<>" c_0neq 3
+CENTRY "0<>" C_0neq 3
dd M_literal
dd 0
dd C_neq
dd M_exitcolon
-CENTRY "max" c_max 3
+CENTRY "max" C_max 3
dd C_2dup
dd M_greater
dd M_cjump
@@ -202,7 +202,7 @@
dd C_nip
L41:
dd M_exitcolon
-CENTRY "min" c_min 3
+CENTRY "min" C_min 3
dd C_2dup
dd M_less
dd M_cjump
@@ -214,7 +214,7 @@
dd C_nip
L44:
dd M_exitcolon
-CENTRY "signum" c_signum 6
+CENTRY "signum" C_signum 6
dd M_dup
dd C_0gt
dd M_cjump
@@ -238,7 +238,7 @@
L49:
L47:
dd M_exitcolon
-CENTRY "within" c_within 6
+CENTRY "within" C_within 6
dd M_rpush
dd M_over
dd M_greater
@@ -249,7 +249,7 @@
dd C_0eq
dd M_binand
dd M_exitcolon
-CENTRY "abs" c_abs 3
+CENTRY "abs" C_abs 3
dd M_dup
dd C_0lt
dd M_cjump
@@ -258,7 +258,7 @@
L52:
dd M_exitcolon
-CENTRY "key" c_key 3 ; ( -- c ) (G read a single character from the input onto the stack )
+CENTRY "key" C_key 3 ; ( -- c ) (G read a single character from the input onto the stack )
dd M_literal
dd 1 ; ( 1 -- )
dd MV_Iobuf ; variable iobuf to store the character read
@@ -280,7 +280,7 @@
L79:
dd M_exitcolon
-CENTRY "emit" c_emit 4 ; ( character -- )
+CENTRY "emit" C_emit 4 ; ( character -- )
dd MV_Iobuf ; variable iobuf address
dd M_cstore ; variable iobuf has character
dd MV_Iobuf ; variable iobuf address
@@ -293,7 +293,7 @@
dd M_drop ; drop the return value of write
dd M_exitcolon
-CENTRY "type" c_type 4 ; ( addr n -- )
+CENTRY "type" C_type 4 ; ( addr n -- )
dd M_xswap ; ( addr n -- n addr )
dd M_literal
dd 1 ; stdout
@@ -301,16 +301,16 @@
dd M_drop ; drop the return value of write
dd M_exitcolon
-CENTRY "cr" c_cr 2
+CENTRY "cr" C_cr 2
dd M_literal
dd 10 ; ascii value of carriage return
dd C_emit ; emit
dd M_exitcolon
-CENTRY "space" c_space 5
+CENTRY "space" C_space 5
dd C_bl
dd C_emit
dd M_exitcolon
-CENTRY "emits" c_emits 5
+CENTRY "emits" C_emits 5
L85:
dd C_qdup
dd M_cjump
@@ -323,12 +323,12 @@
L86:
dd M_drop
dd M_exitcolon
-CENTRY "spaces" c_spaces 6
+CENTRY "spaces" C_spaces 6
dd C_bl
dd M_xswap
dd C_emits
dd M_exitcolon
-CENTRY "count" c_count 5 ; ( a -- a+1 n ) a = counted string
+CENTRY "count" C_count 5 ; ( a -- a+1 n ) a = counted string
dd C_1plus
dd M_dup
dd C_1minus
@@ -335,9 +335,9 @@
dd M_cfetch
dd M_exitcolon
-
dd C_2dup ; debug show the word name to search
dd C_type
+dd C_space
dd M_rpush ; debug show the dictionary entry
dd M_rpush
@@ -345,8 +345,9 @@
dd C_type
dd M_rpop
dd M_rpop
+dd C_cr
-CENTRY "compare" c_compare 7 ; ( a1 n1 a2 n2 -- f ) a1 = dictionary entry a2 = word name to search
+CENTRY "compare" C_compare 7 ; ( a1 n1 a2 n2 -- f ) a1 = dictionary entry a2 = word name to search
dd C_rot ; ( a1 n1 a2 n2 -- a1 a2 n2 n1 )
dd C_2dup ; ( -- a1 a2 n2 n1 n2 n1 )
dd M_rpush ; ( -- a1 a2 n2 n1 n2 ) (R n1 -- )
@@ -383,7 +384,7 @@
dd C_signum
dd M_exitcolon
-CENTRY "erase" c_erase 5
+CENTRY "erase" C_erase 5
dd M_literal
dd 0
dd M_doinit
@@ -397,7 +398,7 @@
dd L58
dd M_drop
dd M_exitcolon
-CENTRY "fill" c_fill 4
+CENTRY "fill" C_fill 4
dd M_xswap
dd M_literal
dd 0
@@ -412,11 +413,11 @@
dd L60
dd C_2drop
dd M_exitcolon
-CENTRY "blank" c_blank 5
+CENTRY "blank" C_blank 5
dd C_bl
dd C_fill
dd M_exitcolon
-CENTRY "search" c_search 6
+CENTRY "search" C_search 6
dd MV_Searchlen
dd M_store
dd M_xswap
@@ -460,11 +461,11 @@
dd M_rpop
dd C_false
dd M_exitcolon
-CENTRY "here" c_here 4
+CENTRY "here" C_here 4
dd M_H0
dd M_fetch
dd M_exitcolon
-CENTRY "," c_comma 1
+CENTRY "," C_comma 1
dd C_here
dd M_store
dd M_literal
@@ -472,7 +473,7 @@
dd M_H0
dd C_plusstore
dd M_exitcolon
-CENTRY "c," c_c 2
+CENTRY "c," C_c 2
dd C_here
dd M_cstore
dd M_literal
@@ -480,29 +481,29 @@
dd M_H0
dd C_plusstore
dd M_exitcolon
-CENTRY "allot" c_allot 5
+CENTRY "allot" C_allot 5
dd M_H0
dd C_plusstore
dd M_exitcolon
-CENTRY "pad" c_pad 3
+CENTRY "pad" C_pad 3
dd C_here
dd M_literal
dd 256
dd M_plus
dd M_exitcolon
-CENTRY "align" c_align 5
+CENTRY "align" C_align 5
dd C_here
dd C_aligned
dd M_H0
dd M_store
dd M_exitcolon
-CENTRY "unused" c_unused 6
+CENTRY "unused" C_unused 6
dd M_H0
dd M_fetch
dd C_here
dd M_minus
dd M_exitcolon
-CENTRY "<#" c_fromhash 2
+CENTRY "<#" C_fromhash 2
dd C_pad
dd M_literal
dd 1024
@@ -510,7 +511,7 @@
dd MV_toNum
dd M_store
dd M_exitcolon
-CENTRY "#" c_hash 1
+CENTRY "#" C_hash 1
dd MV_Base
dd M_fetch
dd M_uslashmod
@@ -542,7 +543,7 @@
dd M_store
dd M_cstore
dd M_exitcolon
-CENTRY "#s" c_hashs 2
+CENTRY "#s" C_hashs 2
L95:
dd C_hash
dd M_dup
@@ -552,7 +553,7 @@
dd L95
L96:
dd M_exitcolon
-CENTRY "#>" c_hashfrom 2
+CENTRY "#>" C_hashfrom 2
dd M_drop
dd MV_toNum
dd M_fetch
@@ -564,7 +565,7 @@
dd M_xswap
dd M_minus
dd M_exitcolon
-CENTRY "hold" c_hold 4
+CENTRY "hold" C_hold 4
dd MV_toNum
dd M_fetch
dd C_1minus
@@ -575,7 +576,7 @@
dd MV_toNum
dd M_store
dd M_exitcolon
-CENTRY "sign" c_sign 4
+CENTRY "sign" C_sign 4
dd C_0lt
dd M_cjump
dd L100
@@ -584,7 +585,7 @@
dd C_hold
L100:
dd M_exitcolon
-CENTRY "." c_dot 1
+CENTRY "." C_dot 1
dd M_dup
dd C_abs
dd C_fromhash
@@ -595,7 +596,7 @@
dd C_type
dd C_space
dd M_exitcolon
-CENTRY ".r" c_dotr 2
+CENTRY ".r" C_dotr 2
dd M_rpush
dd M_dup
dd C_abs
@@ -613,13 +614,13 @@
dd C_spaces
dd C_type
dd M_exitcolon
-CENTRY "hex" c_hex 3
+CENTRY "hex" C_hex 3
dd M_literal
dd 16
dd MV_Base
dd M_store
dd M_exitcolon
-CENTRY "decimal" c_decimal 7
+CENTRY "decimal" C_decimal 7
dd M_literal
dd 10
dd MV_Base
@@ -626,7 +627,7 @@
dd M_store
dd M_exitcolon
-CENTRY "digit" c_digit 5 ; c --
+CENTRY "digit" C_digit 5 ; c --
dd M_dup
dd M_literal
dd 65
@@ -690,7 +691,7 @@
L113:
dd M_exitcolon
-CENTRY "number" c_number 6 ; ( a n1 -- n2 -1 | a n1 0 )
+CENTRY "number" C_number 6 ; ( a n1 -- n2 -1 | a n1 0 )
dd M_xswap ; ( a n1 -- n1 a )
dd M_dup ; ( n1 a -- n1 a a )
dd M_cfetch ; ( n1 a a -- n1 a c )
@@ -754,16 +755,16 @@
dd C_true
dd M_exitcolon
-CENTRY "abort" c_abort 5
+CENTRY "abort" C_abort 5
dd MV_Abortvec
dd M_fetch
dd M_execute
dd M_exitcolon
-CENTRY "source" c_source 6
+CENTRY "source" C_source 6
dd MV_Sourcebuf
dd M_fetch
dd M_exitcolon
-CENTRY "current-input" c_current_input 13 ; ( -- c ) read the next character from the location in Sourcebuf
+CENTRY "current-input" C_current_input 13 ; ( -- c ) read the next character from the location in Sourcebuf
dd MV_toIn
dd M_fetch
dd C_source
@@ -770,7 +771,7 @@
dd M_plus ; Sourcebuf + >In
dd M_cfetch
dd M_exitcolon
-CENTRY "save-input" c_save_input 10
+CENTRY "save-input" C_save_input 10
dd MV_Infd
dd MV_toIn
dd M_fetch
@@ -783,7 +784,7 @@
dd M_literal
dd 5
dd M_exitcolon
-CENTRY "default-input" c_default_input 13
+CENTRY "default-input" C_default_input 13
dd MC_STDIN
dd MV_toIn
dd C_off
@@ -795,7 +796,7 @@
dd MV_Blk
dd C_off
dd M_exitcolon
-CENTRY "restore-input" c_restore_input 13 ; ( -- f )
+CENTRY "restore-input" C_restore_input 13 ; ( -- f )
dd MV_Eof
dd C_off
dd M_literal
@@ -822,7 +823,7 @@
L134:
dd M_exitcolon
-CENTRY "?restore-input" c_qrestore_input 14 ; ( -- )
+CENTRY "?restore-input" C_qrestore_input 14 ; ( -- )
dd C_restore_input
dd C_0eq
dd M_cjump
@@ -838,7 +839,7 @@
L136:
dd M_exitcolon
-CENTRY "next-input" c_next_input 10 ; when >In < >Limit ( -- true c ). ( -- 0 false ) otherwise
+CENTRY "next-input" C_next_input 10 ; when >In < >Limit ( -- true c ). ( -- 0 false ) otherwise
dd MV_toIn
dd M_fetch
dd MV_toLimit
@@ -857,7 +858,7 @@
L140:
dd M_exitcolon
-CENTRY "parse" c_parse 5 ; ( c -- a ) Place the counted string in the address in Wordbuf and return that address. c = word delimiter.
+CENTRY "parse" C_parse 5 ; ( c -- a ) Place the counted string in the address in Wordbuf and return that address. c = word delimiter.
dd M_rpush ; ( c -- ) (R -- c )
dd MV_Wordbuf
dd M_fetch ; ( -- Wordb )
@@ -897,7 +898,7 @@
dd M_rpop ; ( -- Wordb) (R Wordb -- )
dd M_exitcolon
-CENTRY "word" c_word 4 ; ( c -- a ) skip the c"s. Placed the counted string in a (as in Wordbuf)
+CENTRY "word" C_word 4 ; ( c -- a ) skip the c"s. Placed the counted string in a (as in Wordbuf)
dd M_rpush ; ( -- ) (R -- c )
L145:
dd C_next_input ; ( -- f c2 ) (R c1 -- )
@@ -917,7 +918,7 @@
dd C_parse
dd M_exitcolon
-CENTRY "accept" c_accept 6 ; ( a n -- n ) get line or n chars or EOF from input and store at a
+CENTRY "accept" C_accept 6 ; ( a n -- n ) get line or n chars or EOF from input and store at a
dd M_xswap ; ( n a -- )
dd M_dup ; ( n a a -- )
dd M_rpush
@@ -958,7 +959,7 @@
dd M_minus ; ( a2 a1 -- a2-a1 )
dd M_exitcolon
-CENTRY "query" c_query 5 ; read from input stream into the Text Input Buffer
+CENTRY "query" C_query 5 ; read from input stream into the Text Input Buffer
dd MV_Eof
dd C_off ; clear EOF flag
dd M_Tib ; constant puts address of tibuffer on the top
@@ -972,8 +973,7 @@
dd M_binand ; n == 0 && EOF
dd M_cjump
dd L152 ; false condition
-; get out instead of M_drop and then C_qrestore_input
-dd M_terminate ; dd M_drop ; n == 0 && EOF ( n -- )
+dd M_drop ; n == 0 && EOF ( n -- )
dd C_qrestore_input
dd M_jump
dd L153
@@ -985,7 +985,7 @@
L153:
dd M_exitcolon
-CENTRY "refill" c_refill 6
+CENTRY "refill" C_refill 6
dd MV_Blk
dd M_fetch
dd M_cjump
@@ -999,7 +999,7 @@
L156:
dd M_exitcolon
-CENTRY "findname" c_findname 8 ; ( a1 -- a2 f ) ; loop through the dictionary names
+CENTRY "findname" C_findname 8 ; ( a1 -- a2 f ) ; loop through the dictionary names
dd MV_Findadr
dd M_store
dd M_Dtop
@@ -1047,7 +1047,7 @@
dd C_false
dd M_exitcolon
-CENTRY "find" c_find 4 ; ( a1 -- a2 f )?
+CENTRY "find" C_find 4 ; ( a1 -- a2 f )?
dd C_findname
dd M_cjump
dd L164
@@ -1083,7 +1083,7 @@
L167:
dd M_exitcolon
-CENTRY "'" c_single_quote 1
+CENTRY "'" C_single_quote 1
dd C_bl
dd C_word
dd C_find
@@ -1102,7 +1102,7 @@
dd C_abort
L169:
dd M_exitcolon
-CENTRY "?stack" c_qstack 6
+CENTRY "?stack" C_qstack 6
dd M_stackptr
dd M_S0
dd M_greater
@@ -1126,7 +1126,12 @@
dd M_fthwrite
dd M_drop ; drop the return value of write
-CENTRY "interpret" c_interpret 9 ; there is stuff in TIB to be interpreted >In and >Limit are set
+CENTRY "interpret" C_interpret 9 ; there is stuff in TIB to be interpreted >In and >Limit are set
+
+dd M_literal
+dd 73
+dd C_emit
+
L175:
dd C_bl
dd C_word ; ( bl -- a ) a = address of counted string
@@ -1138,7 +1143,12 @@
dd C_find ; ( a -- a1 f ) a = address of counted string
dd M_cjump
dd L177
-d M_execute ; found in dictionary, execute
+
+dd M_literal
+dd 69
+dd C_emit
+
+dd M_execute ; found in dictionary, execute
dd C_qstack
dd M_jump
dd L178
@@ -1158,6 +1168,11 @@
dd C_cr
dd C_abort
L179: ; is a number
+
+dd M_literal
+dd 78
+dd C_emit
+
L178:
dd M_jump
dd L175
@@ -1165,7 +1180,7 @@
dd M_drop ; count at a = 0 ( a -- )
dd M_exitcolon
-CENTRY "create" c_create 6
+CENTRY "create" C_create 6
dd C_align
dd C_here
dd M_rpush
@@ -1193,13 +1208,13 @@
dd M_Dp
dd M_store
dd M_exitcolon
-CENTRY "variable" c_variable 8
+CENTRY "variable" C_variable 8
dd C_create
dd M_literal
dd 0
dd C_comma
dd M_exitcolon
-CENTRY "constant" c_constant 8
+CENTRY "constant" C_constant 8
dd C_create
dd M_literal
dd M_constant
@@ -1212,7 +1227,7 @@
dd M_store
dd C_comma
dd M_exitcolon
-CENTRY "immediate" c_immediate 9
+CENTRY "immediate" C_immediate 9
dd M_Dp
dd M_fetch
dd C_cellplus
@@ -1224,7 +1239,7 @@
dd M_xswap
dd M_cstore
dd M_exitcolon
-CENTRY ">cfa" c_tocfa 4
+CENTRY ">cfa" C_tocfa 4
dd C_count
dd M_literal
dd 63
@@ -1232,7 +1247,7 @@
dd M_plus
dd C_aligned
dd M_exitcolon
-CENTRY "compile" c_compile 7
+CENTRY "compile" C_compile 7
dd C_findname
dd M_cjump
dd L188
@@ -1279,7 +1294,7 @@
L194:
L191:
dd M_exitcolon
-CENTRY "]" c_close_bracket 1
+CENTRY "]" C_close_bracket 1
dd MV_State
dd C_on
L196:
@@ -1305,11 +1320,11 @@
dd L196
L199:
dd M_exitcolon
-CIENTRY "[" ci_open_bracket 1
+CIENTRY "[" CI_open_bracket 1
dd MV_State
dd C_off
dd M_exitcolon
-CENTRY "smudge" c_smudge 6
+CENTRY "smudge" C_smudge 6
dd M_Dp
dd M_fetch
dd C_cellplus
@@ -1321,7 +1336,7 @@
dd M_xswap
dd M_cstore
dd M_exitcolon
-CENTRY "reveal" c_reveal 6
+CENTRY "reveal" C_reveal 6
dd M_Dp
dd M_fetch
dd C_cellplus
@@ -1334,7 +1349,7 @@
dd M_xswap
dd M_cstore
dd M_exitcolon
-CENTRY ":" c_colon 1
+CENTRY ":" C_colon 1
dd C_create
dd C_smudge
dd M_literal
@@ -1348,7 +1363,7 @@
dd M_store
dd C_close_bracket
dd M_exitcolon
-CIENTRY ";" ci_semicolon 1
+CIENTRY ";" CI_semicolon 1
dd M_literal
dd M_exitcolon
dd C_comma
@@ -1356,7 +1371,7 @@
dd C_off
dd C_reveal
dd M_exitcolon
-CIENTRY "recurse" ci_recurse 7
+CIENTRY "recurse" CI_recurse 7
dd M_Dp
dd M_fetch
dd C_cellplus
@@ -1369,13 +1384,13 @@
dd C_1plus
dd M_cfetch
dd M_exitcolon
-CENTRY "literal" c_literal 7
+CENTRY "literal" C_literal 7
dd M_literal
dd M_literal
dd C_comma
dd C_comma
dd M_exitcolon
-CENTRY "sliteral" c_sliteral 8
+CENTRY "sliteral" C_sliteral 8
dd M_literal
dd M_sliteral
dd C_comma
@@ -1394,7 +1409,7 @@
dd C_allot
dd C_align
dd M_exitcolon
-CENTRY "string" c_string 6
+CENTRY "string" C_string 6
dd C_word
dd M_dup
dd M_cfetch
@@ -1406,7 +1421,7 @@
dd M_rpop
dd C_allot
dd M_exitcolon
-CIENTRY "[char]" ci_char_brackets 6
+CIENTRY "[char]" CI_char_brackets 6
dd C_bl
dd C_word
dd C_1plus
@@ -1413,17 +1428,17 @@
dd M_cfetch
dd C_literal
dd M_exitcolon
-CIENTRY "[']" ci_quote_brackets 3
+CIENTRY "[']" CI_quote_brackets 3
dd C_single_quote
dd C_literal
dd M_exitcolon
-CIENTRY "(" ci_openparen 1
+CIENTRY "(" CI_openparen 1
dd M_literal
dd 41
dd C_parse
dd M_drop
dd M_exitcolon
-CIENTRY "\\" ci_backslash 1
+CIENTRY "\\" CI_backslash 1
dd MV_Blk
dd M_fetch
dd M_cjump
@@ -1448,7 +1463,7 @@
dd M_store
L215:
dd M_exitcolon
-CENTRY "(?abort)" c_qabort_parens 8
+CENTRY "(?abort)" C_qabort_parens 8
dd MV_State
dd M_cjump
dd L217
@@ -1462,13 +1477,13 @@
dd C_2drop
L218:
dd M_exitcolon
-CIENTRY "abort\"" ci_abort_double_quote 6
+CIENTRY "abort\"" CI_abort_double_quote 6
dd C_sliteral
dd M_literal
dd C_qabort_parens
dd C_comma
dd M_exitcolon
-CENTRY "\"" c_double_quote 1
+CENTRY "\"" C_double_quote 1
dd M_literal
dd 34
dd C_word
@@ -1482,7 +1497,7 @@
dd M_dup
dd C_allot
dd M_exitcolon
-CENTRY "c\"" c_cdouble_quote 2
+CENTRY "c\"" C_cdouble_quote 2
dd M_literal
dd 34
dd C_word
@@ -1497,16 +1512,16 @@
dd M_rpop
dd C_allot
dd M_exitcolon
-CIENTRY "s\"" ci_sdouble_quote 2
+CIENTRY "s\"" CI_sdouble_quote 2
dd C_sliteral
dd M_exitcolon
-CIENTRY ".\"" ci_dotstr 2
+CIENTRY ".\"" CI_dotstr 2
dd C_sliteral
dd M_literal
dd C_type
dd C_comma
dd M_exitcolon
-CIENTRY "if" ci_if 2
+CIENTRY "if" CI_if 2
dd M_literal
dd M_cjump
dd C_comma
@@ -1515,7 +1530,7 @@
dd 0
dd C_comma
dd M_exitcolon
-CIENTRY "else" ci_else 4
+CIENTRY "else" CI_else 4
dd M_literal
dd M_jump
dd C_comma
@@ -1529,27 +1544,27 @@
dd M_store
dd M_rpop
dd M_exitcolon
-CIENTRY "then" ci_then 4
+CIENTRY "then" CI_then 4
dd C_here
dd M_xswap
dd M_store
dd M_exitcolon
-CIENTRY "begin" ci_begin 5
+CIENTRY "begin" CI_begin 5
dd C_here
dd M_exitcolon
-CIENTRY "again" ci_again 5
+CIENTRY "again" CI_again 5
dd M_literal
dd M_jump
dd C_comma
dd C_comma
dd M_exitcolon
-CIENTRY "until" ci_until 5
+CIENTRY "until" CI_until 5
dd M_literal
dd M_cjump
dd C_comma
dd C_comma
dd M_exitcolon
-CIENTRY "while" ci_while 5
+CIENTRY "while" CI_while 5
dd M_literal
dd M_cjump
dd C_comma
@@ -1558,7 +1573,7 @@
dd 0
dd C_comma
dd M_exitcolon
-CIENTRY "repeat" ci_repeat 6
+CIENTRY "repeat" CI_repeat 6
dd M_literal
dd M_jump
dd C_comma
@@ -1568,7 +1583,7 @@
dd M_xswap
dd M_store
dd M_exitcolon
-CIENTRY "do" ci_do 2
+CIENTRY "do" CI_do 2
dd M_literal
dd M_doinit
dd C_comma
@@ -1576,7 +1591,7 @@
dd 0
dd C_here
dd M_exitcolon
-CIENTRY "loop" ci_loop 4
+CIENTRY "loop" CI_loop 4
dd M_literal
dd M_doloop
dd C_comma
@@ -1589,7 +1604,7 @@
dd M_store
L234:
dd M_exitcolon
-CIENTRY "+loop" ci_ploop 5
+CIENTRY "+loop" CI_ploop 5
dd M_literal
dd M_doploop
dd C_comma
@@ -1602,7 +1617,7 @@
dd M_store
L236:
dd M_exitcolon
-CENTRY "w/o" c_wo 3
+CENTRY "w/o" C_wo 3
dd M_literal
dd 1
dd M_literal
@@ -1612,15 +1627,15 @@
dd 64
dd M_binor
dd M_exitcolon
-CENTRY "r/o" c_ro 3
+CENTRY "r/o" C_ro 3
dd M_literal
dd 0
dd M_exitcolon
-CENTRY "r/w" c_rw 3
+CENTRY "r/w" C_rw 3
dd M_literal
dd 2
dd M_exitcolon
-CENTRY "open-file" c_open_file 9
+CENTRY "open-file" C_open_file 9
dd M_rpush
dd C_pad
dd M_literal
@@ -1652,11 +1667,11 @@
dd -1
dd M_greater
dd M_exitcolon
-CENTRY "close-file" c_close_file 10
+CENTRY "close-file" C_close_file 10
dd M_fthclose
dd C_0eq
dd M_exitcolon
-CENTRY "read-file" c_read_file 9
+CENTRY "read-file" C_read_file 9
dd M_fthread
dd M_dup
dd M_literal
@@ -1663,19 +1678,19 @@
dd -1
dd C_neq
dd M_exitcolon
-CENTRY "write-file" c_write_file 10
+CENTRY "write-file" C_write_file 10
dd M_fthwrite
dd M_literal
dd -1
dd C_neq
dd M_exitcolon
-CENTRY "reposition-file" c_reposition_file 15
+CENTRY "reposition-file" C_reposition_file 15
dd M_fthseek
dd M_literal
dd -1
dd C_neq
dd M_exitcolon
-CENTRY "?fcheck" c_qfcheck 7
+CENTRY "?fcheck" C_qfcheck 7
dd C_0eq
dd M_cjump
dd L246
@@ -1689,13 +1704,13 @@
dd C_abort
L246:
dd M_exitcolon
-CENTRY "bye" c_bye 3
+CENTRY "bye" C_bye 3
dd M_literal
dd 0
dd M_terminate
dd M_exitcolon
-CENTRY "include" c_include 7
+CENTRY "include" C_include 7
dd C_bl
dd C_word
dd M_rpush
@@ -1713,7 +1728,7 @@
dd M_store
dd M_exitcolon
-CENTRY "crash" c_crash 5
+CENTRY "crash" C_crash 5
dd M_literal
dd L251
dd M_literal
@@ -1723,7 +1738,7 @@
dd C_abort
dd M_exitcolon
-CENTRY "quit" c_quit 4 ; interpreter loop
+CENTRY "quit" C_quit 4 ; interpreter loop
dd M_reset ; initialize return stack
dd M_clear ; SP = sstack_end initialize data stack
L253:
@@ -1741,7 +1756,7 @@
dd L253
dd M_exitcolon ; why is this needed?
-CENTRY "(abort)" c_parenabort 7 ; TODO correct below stack notations
+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
@@ -1761,7 +1776,7 @@
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
-CENTRY "oldboot" c_oldboot 7 ; TODO correct below stack notations and this is obsolete. leaving it here for reference until it all works well
+CENTRY "oldboot" C_oldboot 7 ; TODO correct below stack notations and this is obsolete. leaving it here for reference until it all works well
dd M_reset
dd M_clear ; SP = sstack_end
dd M_stackptr ; (D -- FFEND)
@@ -1818,22 +1833,69 @@
dd M_fthread
dd M_drop ; drop the return value of read
-CENTRY "boot" c_boot 4
+CENTRY "boot" C_boot 4
+dd M_literal ; test code
+dd 65
+dd M_Wordb
+dd M_store
+dd M_literal
+dd 1
+dd M_Wordb
+dd MC_STDOUT
+dd M_fthwrite
+dd M_drop ; drop the return value of write
+
dd M_reset ; initialize return stack
dd M_clear ; SP = sstack_end initialize data stack
; s0 puts FFEND on the stack
; no args
+
+dd M_literal ; test code
+dd 66
+dd M_Wordb
+dd M_store
dd M_literal
+dd 1
+dd M_Wordb
+dd MC_STDOUT
+dd M_fthwrite
+dd M_drop ; drop the return value of write
+
+dd M_literal
dd C_parenabort ; ( (abort) -- )
dd MV_Abortvec ; variable that puts (abort) code address on the stack
dd M_store ; variable abortvec = (abort) code address
+
+dd M_literal ; test code
+dd 67
+dd M_Wordb
+dd M_store
+dd M_literal
+dd 1
+dd M_Wordb
+dd MC_STDOUT
+dd M_fthwrite
+dd M_drop ; drop the return value of write
+
dd M_Wordb ; variable puts address of wordbuffer on the top of stack
dd MV_Wordbuf ; variable wordbuf
dd M_store ; variable wordbuf = address of wordbuffer
+
+dd M_literal ; test code
+dd 68
+dd M_Wordb
+dd M_store
+dd M_literal
+dd 1
+dd M_Wordb
+dd MC_STDOUT
+dd M_fthwrite
+dd M_drop ; drop the return value of write
+
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
@@ -1851,6 +1913,19 @@
dd MV_State
dd C_off ; off stores 0 at state
dd C_decimal ; decimal sets base = 10
+
+
+dd M_literal ; test code
+dd 69
+dd M_Wordb
+dd M_store
+dd M_literal
+dd 1
+dd M_Wordb
+dd MC_STDOUT
+dd M_fthwrite
+dd M_drop ; drop the return value of write
+
dd C_quit ; quit
dd M_exitcolon
--- a/os/port/chan.c
+++ b/os/port/chan.c
@@ -56,35 +56,30 @@
return p[0]=='.' && p[1]=='.' && p[2]=='\0';
}
-/*
- * sticking with inferno's definition of Ref
- * as it keeps the incref() and decref() simple
- * and also puts the proc on the fast path by the
- * scheduler's priorities (PriLock)
- */
int
incref(Ref *r)
{
- int x;
+ s32 old, new;
- lock(&r->l);
- x = ++r->ref;
- unlock(&r->l);
- return x;
+ do {
+ old = r->ref;
+ new = old+1;
+ } while(cmpswap(&r->ref, old, new) == 0);
+ return new;
}
int
decref(Ref *r)
{
- int x;
+ long old, new;
- lock(&r->l);
- x = --r->ref;
- unlock(&r->l);
- if(x < 0)
- panic("decref, pc=0x%zux", getcallerpc(&r));
-
- return x;
+ do {
+ old = r->ref;
+ if(old <= 0)
+ panic("decref pc=%#p", getcallerpc(&r));
+ new = old-1;
+ } while(cmpswap(&r->ref, old, new) == 0);
+ return new;
}
/*
@@ -535,11 +530,11 @@
void
cclose(Chan *c)
{
- if(c == nil)
- return;
- if(c->ref < 1 || c->flag&CFREE)
+ if(c == nil || c->ref < 1 || c->flag&CFREE){
+ print("cclose before panic\n");
panic("cclose %#p c->path %s c->ref %d c->flag 0x%ux",
getcallerpc(&c), chanpath(c), c->ref, c->flag);
+ }
if(decref(c))
return;
@@ -1150,7 +1145,7 @@
nexterror();
}
for(f = m->mount; f; f = f->next) {
- if(f->mflag&MCREATE) {
+ if((f->mflag&MCREATE) != 0) {
nc = cclone(f->to);
runlock(&m->lock);
poperror();
@@ -1174,9 +1169,9 @@
int *inew;
enum { Delta = 8 };
- if(e->nelems % Delta == 0){
+ if((e->nelems % Delta) == 0){
new = smalloc((e->nelems+Delta) * sizeof(char*));
- memmove(new, e->elems, e->nelems*sizeof(char*));
+ memmove(new, e->elems, (e->nelems+1)*sizeof(char*));
free(e->elems);
e->elems = new;
inew = smalloc((e->nelems+Delta+1) * sizeof(int));
--- a/os/port/devforth.c
+++ b/os/port/devforth.c
@@ -7,7 +7,7 @@
#include "forth.h"
-static int debug = 1;
+static int debug = 0;
extern Fentry fentries[];
/*
@@ -15,6 +15,9 @@
2. pipe data between the readers and writers of #f/forth/pid/(stdin stdout stderr)
do not do this. too much work. use the existing mechanism.
use the parent's Fgrp - easy, simple and it works fine
+ -- the above is wrong. It is hard to separate out the process if it is using the parent's fd's.
+ For now, use the stdin, stdout and stderr mechanism.
+ If the performance is good enough, add more syscalls and then replace dis/init with forth
*/
enum
{
@@ -27,6 +30,9 @@
Qfprocdir,
Qctl,
Qvars,
+ Qstdin,
+ Qstdout,
+ Qstderr,
/* Qlisten, might be good to have later on for servers */
};
@@ -136,7 +142,7 @@
}
*(intptr*)(fmem + HERE) = (intptr)h;
*(intptr*)(fmem + DTOP) = (intptr)dtop;
- DBG("loadforthdictionary fmem 0x%zx h 0x%zx dtop 0x%zx"
+ print("loadforthdictionary fmem 0x%zx h 0x%zx dtop 0x%zx\n"
" (intptr*)(fmem + DTOP) 0x%zx *(intptr*)(fmem + DTOP) 0x%zx\n",
fmem, (intptr)h, (intptr)dtop, (intptr*)(fmem + DTOP), *(intptr*)(fmem + DTOP));
}
@@ -151,11 +157,15 @@
loadforthdictionary((u8*)fmem);
/* load dictionary */
- print("fentries[0].name %s\n", fentries[0].hdr.name);
- print("fentries[1].name %s nfentries %d\n", fentries[1].hdr.name, nelem(fentries));
- if(waserror())
- print("forthentry waserror(): %r\n");
- forthmain((u8*)fmem);
+ print("forthentry pid %d forthmem 0x%zx end 0x%zx forthmem+RSTACK_END 0x%zx\n",
+ up->pid, (intptr)fmem, ((intptr*)fmem)[1], (intptr)fmem+RSTACK_END);
+ DBG("fentries[0].name %s\n", fentries[0].hdr.name);
+ DBG("fentries[1].name %s nfentries %d\n", fentries[1].hdr.name, nelem(fentries));
+ if(waserror()){
+ print("forthentry error: %r\n");
+ poperror();
+ }else
+ forthmain((u8*)fmem);
print("after forthmain\n");
free(fmem);
@@ -169,16 +179,21 @@
}
nforthprocs--;
funlock();
+ qfree(up->frq);
+ qfree(up->fwq);
+ qfree(up->ferrq);
+ print("before pexit\n");
pexit("exit", 0);
}
Proc *
-newforthproc(void)
+newforthproc(Chan *cin, Chan *cout, Chan *cerr)
{
Proc *p;
Pgrp *pg;
Fgrp *fg;
Egrp *eg;
+ s32 slot;
while((p = newproc()) == nil){
/* TODO freebroken(); */
@@ -194,17 +209,42 @@
kstrdup(&p->env->user, up->env->user);
- pg = up->env->pgrp;
+ pg = newpgrp();
+ pgrpcpy(pg, up->env->pgrp);
if(pg == nil)
panic("newforthproc: nil process group\n");
- incref(pg);
p->env->pgrp = pg;
- fg = up->env->fgrp;
- if(fg != nil)
- incref(fg);
+ fg = dupfgrp(up->env->fgrp);
+ if(fg == nil)
+ panic("newforthproc: nil file descriptor group\n");
p->env->fgrp = fg;
+ fg->fd[0]->mode = up->env->fgrp->fd[0]->mode;
+ fg->fd[1]->mode = up->env->fgrp->fd[1]->mode;
+ fg->fd[2]->mode = up->env->fgrp->fd[2]->mode;
+ cclose(fg->fd[0]);
+ cclose(fg->fd[1]);
+ cclose(fg->fd[2]);
+ cin->mode = up->env->fgrp->fd[0]->mode;
+ cout->mode = up->env->fgrp->fd[1]->mode;
+ cerr->mode = up->env->fgrp->fd[2]->mode;
+ slot = procindex(p->pid);
+ if(slot < 0)
+ panic("forthopen");
+ mkqid(&cin->qid, Qstdin|(slot+1)<<QSHIFT, p->pid, QTFILE);
+ mkqid(&cout->qid, Qstdout|(slot+1)<<QSHIFT, p->pid, QTFILE);
+ mkqid(&cerr->qid, Qstderr|(slot+1)<<QSHIFT, p->pid, QTFILE);
+ /* need a waserror() around these */
+ /* not bothering with kick() functions */
+ p->frq = qopen(QMAX, Qcoalesce, nil, nil);
+ p->fwq = qopen(QMAX, Qkick, nil, nil);
+ if(p->frq == nil || p->fwq == nil)
+ error(Enomem);
+ p->ferrq = qopen(1024, Qmsg, 0, 0);
+ if(p->ferrq == nil)
+ error(Enomem);
+
eg = up->env->egrp;
if(eg != nil)
incref(eg);
@@ -228,7 +268,8 @@
/* 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 */
- flock();
+
+ /* already under flock() */
if(fhead == nil){
fhead = ftail = p;
}else{
@@ -237,7 +278,6 @@
ftail = p;
}
nforthprocs++;
- funlock();
/* p->kpfun = func;
p->kparg = arg;
@@ -322,13 +362,13 @@
case Qforthdir:
if(s == 0){
case Qnew: /* this label is just a comment(?), has no purpose */
- mkqid(&q, Qnew, 0, QTFILE);
- devdir(c, q, "new", 0, eve, 0666, dp);
- DBG("forthgen Qforthdir c->path %s name %s s %d mode 0x%ux c->qid.path 0x%zux "
- "slot %d qid %d c->qid.vers %d c->qid.type %d 0x%ux\n",
- chanpath(c), name, s, c->mode, c->qid.path, SLOT(c->qid),
- QID(c->qid), c->qid.vers, c->qid.type, c->qid.type);
- return 1;
+ mkqid(&q, Qnew, 0, QTFILE);
+ devdir(c, q, "new", 0, eve, 0666, dp);
+ DBG("forthgen Qforthdir c->path %s name %s s %d mode 0x%ux c->qid.path 0x%zux "
+ "slot %d qid %d c->qid.vers %d c->qid.type %d 0x%ux\n",
+ chanpath(c), name, s, c->mode, c->qid.path, SLOT(c->qid),
+ QID(c->qid), c->qid.vers, c->qid.type, c->qid.type);
+ return 1;
}
DBG("forthgen Qforthdir name %s s %d nforthprocs %d\n", name, s, nforthprocs);
@@ -368,10 +408,10 @@
return -1;
mkqid(&q, ((slot+1)<<QSHIFT)|Qfprocdir, pid, QTDIR);
devdir(c, q, up->genbuf, 0, p->env->user, 0555, dp);
- DBG("forthgen pid dir c->path %s name %s s %d mode 0x%ux c->qid.path 0x%zux "
- "slot %d qid %d c->qid.vers %d c->qid.type %d 0x%ux\n",
- chanpath(c), name, s, c->mode, c->qid.path, SLOT(c->qid),
- QID(c->qid), c->qid.vers, c->qid.type, c->qid.type);
+ DBG("forthgen pid dir c->path %s name %s s %d mode 0x%ux c->qid.path 0x%zux "
+ "slot %d qid %d c->qid.vers %d c->qid.type %d 0x%ux\n",
+ chanpath(c), name, s, c->mode, c->qid.path, SLOT(c->qid),
+ QID(c->qid), c->qid.vers, c->qid.type, c->qid.type);
return 1;
}
@@ -389,6 +429,18 @@
mkqid(&q, path|Qvars, c->qid.vers, QTFILE);
devdir(c, q, "vars", 0, p->env->user, 0600, dp);
break;
+ case 2:
+ mkqid(&q, path|Qstdin, c->qid.vers, QTFILE);
+ devdir(c, q, "stdin", 0, p->env->user, 0600, dp);
+ break;
+ case 3:
+ mkqid(&q, path|Qstdout, c->qid.vers, QTFILE);
+ devdir(c, q, "stdout", 0, p->env->user, 0600, dp);
+ break;
+ case 4:
+ mkqid(&q, path|Qstderr, c->qid.vers, QTFILE);
+ devdir(c, q, "stderr", 0, p->env->user, 0600, dp);
+ break;
default:
return -1;
}
@@ -458,10 +510,10 @@
{
Proc *p;
Chan *tc;
- u32 pid;
+ u32 pid, omode;
s32 slot;
- int omode;
Proc *f;
+ Chan *cin, *cout, *cerr;
if(c->qid.type & QTDIR){
DBG("forthopen c->qid.type & QTDIR c->path %s mode 0x%ux omode0 0x%ux c->qid.path 0x%zux "
@@ -475,7 +527,7 @@
QID(tc->qid), tc->qid.vers, tc->qid.type, tc->qid.type);
return tc;
}
-
+
flock();
if(waserror()){
funlock();
@@ -483,16 +535,18 @@
}
if(QID(c->qid) == Qnew){
/* TODO set path */
-print("forthopen called by pid %d text %s\n", up->pid, up->text);
- f = newforthproc();
+ cin = devclone(c);
+ cout = devclone(c);
+ cerr = devclone(c);
+ f = newforthproc(cin, cout, cerr);
if(f == nil)
error(Enodev);
-print("forthopen completed by pid %d text %s\n", up->pid, up->text);
slot = procindex(f->pid);
if(slot < 0)
panic("forthopen");
mkqid(&c->qid, Qctl|(slot+1)<<QSHIFT, f->pid, QTFILE);
- DBG("forthopen: new proc pid %d\n", f->pid);
+ DBG("forthopen: new proc pid %d slot %d SLOT(c->qid) %d\n",
+ f->pid, slot, SLOT(c->qid));
}
funlock();
poperror();
@@ -504,8 +558,10 @@
nexterror();
}
pid = PID(c->qid);
- if(p->pid != pid)
+ if(p->pid != pid){
+ print("forthopen Eprocdied\n");
error(Eprocdied);
+ }
omode = openmode(omode0);
@@ -518,20 +574,26 @@
if(p->kp || p->privatemem)
error(Eperm);
break;
-
+ case Qstdin:
+ case Qstdout:
+ case Qstderr:
+ break;
default:
- print("forthopen %#ux\n", QID(c->qid));
+ print("forthopen error Egreg %#ux\n", QID(c->qid));
error(Egreg);
}
nonone(p);
/* Affix pid to qid */
- if(pid == 0)
+ if(pid == 0){
+ print("forthopen Eprocdied\n");
error(Eprocdied);
+ }
c->qid.vers = pid;
tc = devopen(c, omode, 0, 0, forthgen);
if(waserror()){
+ print("forthopen cclose(tc) waserror() loop\n");
cclose(tc);
nexterror();
}
@@ -539,7 +601,9 @@
qunlock(&p->debug);
poperror(); /* eqlock */
- DBG("forthopen returning tc->path %s omode0 0x%ux tc->qid.vers %d up->pid %d\n", chanpath(tc), omode, tc->qid.vers, up->pid);
+ DBG("forthopen returning tc->path %s omode0 0x%ux "
+ "omode 0x%ux tc->qid.vers %d up->pid %d\n",
+ chanpath(tc), omode, omode, tc->qid.vers, up->pid);
return tc;
}
@@ -546,7 +610,7 @@
static void
forthclose(Chan *c)
{
- DBG("forthclose c->path %s up->pid %d\n", chanpath(c), up->pid);
+ DBG("forthclose c->path %s up->pid %d c->ref %d\n", chanpath(c), up->pid, c->ref);
/* TODO close the Chan*? */
return;
}
@@ -567,14 +631,14 @@
if(p->pid != PID(c->qid)){
DBG("forthread prodied returning nil c->path %s up->pid %d PID(c->qid) %d\n",
chanpath(c), up->pid, PID(c->qid));
- return readstr(off, buf, n, "");
+ return readstr(off, buf, n, nil);
}
- eqlock(&p->debug);
+/* eqlock(&p->debug);
if(waserror()){
qunlock(&p->debug);
nexterror();
- }
+ }*/
switch(QID(c->qid)){
case Qctl:
buf = smalloc(16);
@@ -584,25 +648,35 @@
break;
case Qvars: /* TODO */
error(Ebadarg);
+ case Qstdin:
+ rv = qread(f->frq, buf, n);
+ break;
+ case Qstdout:
+ rv = qread(f->fwq, buf, n);
+ break;
+ case Qstderr:
+ rv = qread(f->ferrq, buf, n);
+ break;
default:
print("unknown qid in forthread\n");
error(Egreg);
}
- qunlock(&p->debug);
- poperror();
+/* qunlock(&p->debug);
+ poperror();*/
DBG("forthread returning rv %d bytes\n", rv);
return rv;
}
static s32
-forthwrite(Chan *c, void *a, s32 n, s64)
+forthwrite(Chan *c, void *buf, s32 n, s64)
{
Proc *p, *f;
+ s32 rv;
DBG("forthwrite c->path %s\n", chanpath(c));
if(c->qid.type & QTDIR)
- return devdirread(c, a, n, nil, 0, forthgen);
+ return devdirread(c, buf, n, nil, 0, forthgen);
f = c->aux;
p = proctab(SLOT(c->qid));
@@ -609,11 +683,11 @@
if(p->pid != PID(c->qid))
error(Eprocdied);
- eqlock(&p->debug);
+/* eqlock(&p->debug);
if(waserror()){
qunlock(&p->debug);
nexterror();
- }
+ }*/
switch(QID(c->qid)){
case Qctl:
print("forthwrite: writing to Qctl, ignored\n");
@@ -620,15 +694,24 @@
break;
case Qvars: /* TODO */
error(Ebadarg);
+ case Qstdin:
+ rv = qwrite(f->frq, buf, n);
+ break;
+ case Qstdout:
+ rv = qwrite(f->fwq, buf, n);
+ break;
+ case Qstderr:
+ rv = qwrite(f->ferrq, buf, n);
+ break;
default:
print("unknown qid in forthwriten");
error(Egreg);
}
- qunlock(&p->debug);
- poperror();
+/* qunlock(&p->debug);
+ poperror();*/
DBG("forthwrite returning n %d bytes\n", n);
- return n;
+ return rv;
}
Dev forthdevtab = {
--- a/os/port/portdat.h
+++ b/os/port/portdat.h
@@ -737,18 +737,19 @@
Osenv *env;
Osenv defenv;
s32 swipend; /* software interrupt pending for Prog TODO replace with notepending? */
- Lock sysio; /* note handler lock */
+ Lock sysio; /* note handler lock */
/* inferno specific fields that are obsolete? */
int fpstate;
int killed; /* by swiproc */
Proc *tlink;
- ulong movetime; /* next time process should switch processors */
+ ulong movetime; /* next time process should switch processors */
int dbgstop; /* don't run this kproc */
/* forth specific fields */
Proc *fprev, *fnext;
void *fmem;
+ Queue *frq, *fwq, *ferrq; /* forth read, write and error queue */
};
enum
--- a/os/port/portfns.h
+++ b/os/port/portfns.h
@@ -204,7 +204,7 @@
int nrand(int);
uvlong ns2fastticks(uvlong);
int okaddr(ulong, ulong, int);
-int openmode(ulong);
+u32 openmode(u32);
Block* packblock(Block*);
Block* padblock(Block*, int);
void panic(char*, ...);
--- a/os/port/proc.c
+++ b/os/port/proc.c
@@ -880,26 +880,142 @@
}
void
-pexit(char*, int)
+pexit(char *exitstr, int freemem)
{
- Osenv *o;
+ Proc *p;
+/* Segment **s;*/
+ ulong utime, stime;
+/* Waitq *wq;*/
+ Fgrp *fgrp;
+ Egrp *egrp;
+ Rgrp *rgrp;
+ Pgrp *pgrp;
+/* Chan *dot;*/
+ void (*pt)(Proc*, int, vlong);
+ up->fpstate &= ~FPillegal;
up->alarm = 0;
+ timerdel(up);
+ pt = proctrace;
+/* if(pt != nil)
+ pt(up, SDead, 0);*/
- o = up->env;
- if(o != nil){
- closefgrp(o->fgrp);
- closepgrp(o->pgrp);
- closeegrp(o->egrp);
- closesigs(o->sigs);
+ /* nil out all the resources under lock (free later) */
+ qlock(&up->debug);
+ fgrp = up->env->fgrp;
+ up->env->fgrp = nil;
+ egrp = up->env->egrp;
+ up->env->egrp = nil;
+ rgrp = up->env->rgrp;
+ up->env->rgrp = nil;
+ pgrp = up->env->pgrp;
+ up->env->pgrp = nil;
+/* dot = up->dot;
+ up->dot = nil;*/
+ qunlock(&up->debug);
+
+ if(fgrp != nil)
+ closefgrp(fgrp);
+ if(egrp != nil)
+ closeegrp(egrp);
+/* if(rgrp != nil)
+ closergrp(rgrp);
+ if(dot != nil)
+ cclose(dot);*/
+ if(pgrp != nil)
+ closepgrp(pgrp);
+
+/* if(up->parentpid == 0){
+ if(exitstr == nil)
+ exitstr = "unknown";
+ panic("boot process died: %s", exitstr);
+ }*/
+
+/* p = up->parent;
+ if(p != nil && p->pid == up->parentpid && p->state != Broken){
+ wq = smalloc(sizeof(Waitq));
+ wq->w.pid = up->pid;
+ utime = up->time[TUser] + up->time[TCUser];
+ stime = up->time[TSys] + up->time[TCSys];
+ wq->w.time[TUser] = tk2ms(utime);
+ wq->w.time[TSys] = tk2ms(stime);
+ wq->w.time[TReal] = tk2ms(MACHP(0)->ticks - up->time[TReal]);
+ if(exitstr != nil && exitstr[0])
+ snprint(wq->w.msg, sizeof(wq->w.msg), "%s %lud: %s", up->text, up->pid, exitstr);
+ else
+ wq->w.msg[0] = '\0';
+
+ lock(&p->exl);
+ \/*
+ * Check that parent is still alive.
+ *\/
+ if(p->pid == up->parentpid && p->state != Broken) {
+ p->nchild--;
+ p->time[TCUser] += utime;
+ p->time[TCSys] += stime;
+ \/*
+ * If there would be more than 128 wait records
+ * processes for my parent, then don't leave a wait
+ * record behind. This helps prevent badly written
+ * daemon processes from accumulating lots of wait
+ * records.
+ *\/
+ if(p->nwait < 128) {
+ wq->next = p->waitq;
+ p->waitq = wq;
+ p->nwait++;
+ wq = nil;
+ wakeup(&p->waitr);
+ }
+ }
+ unlock(&p->exl);
+ if(wq != nil)
+ free(wq);
}
-/*
- edfstop(up);
+ if(!freemem)
+ addbroken();
*/
qlock(&up->debug);
+
+/* lock(&up->exl); \/* Prevent my children from leaving waits *\/
pidfree(up);
+ up->parent = nil;
+ up->nchild = up->nwait = 0;
+ wakeup(&up->waitr);
+ unlock(&up->exl);
+
+ while((wq = up->waitq) != nil){
+ up->waitq = wq->next;
+ free(wq);
+ }
+*/
+ /* release debuggers */
+ if(up->pdbg != nil) {
+ wakeup(&up->pdbg->sleep);
+ up->pdbg = nil;
+ }
+/* if(up->syscalltrace != nil) {
+ free(up->syscalltrace);
+ up->syscalltrace = nil;
+ }*/
+ if(up->watchpt != nil){
+ free(up->watchpt);
+ up->watchpt = nil;
+ }
+ up->nwatchpt = 0;
qunlock(&up->debug);
+
+/* qlock(&up->seglock);
+ for(s = up->seg; s < &up->seg[NSEG]; s++) {
+ if(*s != nil) {
+ putseg(*s);
+ *s = nil;
+ }
+ }
+ qunlock(&up->seglock);*/
+
+/* edfstop(up); */
up->state = Moribund;
sched();
panic("pexit");
@@ -1059,11 +1175,11 @@
panic("error: nil parameter");
kstrcpy(up->env->errstr, err, ERRMAX);
if(emptystr(err) == 1){
- DBG("error nil error err %s caller 0x%p\n", err, getcallerpc(&err));
+ DBG("error nil error err %s caller 0x%p up->pid %d\n", err, getcallerpc(&err), up->pid);
up->env->errpc = 0;
/* showerrlabs("error == nil"); */
}else{
- DBG("error err %s caller 0x%p\n", err, getcallerpc(&err));
+ DBG("error err %s caller 0x%p up->pid %d\n", err, getcallerpc(&err), up->pid);
up->env->errpc = getcallerpc(&err);
/* proactively show issues */
/* print("up->nerrlab %d error %s raised by 0x%zx\n",
--- a/os/port/sysfile.c
+++ b/os/port/sysfile.c
@@ -145,6 +145,7 @@
lock(f);
if(fd<0 || f->maxfd<fd || (c = f->fd[fd])==nil) {
unlock(f);
+ print("fdtochan Ebadfd\n");
error(Ebadfd);
}
if(iref)
@@ -154,6 +155,7 @@
if(chkmnt && (c->flag&CMSG)) {
if(iref)
cclose(c);
+ print("fdtochan Ebadusefd 1\n");
error(Ebadusefd);
}
@@ -163,6 +165,7 @@
if((mode&OTRUNC) && c->mode==OREAD) {
if(iref)
cclose(c);
+ print("fdtochan Ebadusefd 2\n");
error(Ebadusefd);
}
@@ -169,6 +172,8 @@
if((mode&~OTRUNC) != c->mode) {
if(iref)
cclose(c);
+ print("fdtochan Ebadusefd 3 mode 0x%x mode&~OTRUNC 0x%x c->mode 0x%x\n",
+ mode, mode&~OTRUNC, c->mode);
error(Ebadusefd);
}
@@ -197,8 +202,8 @@
return r;
}
-int
-openmode(ulong o)
+u32
+openmode(u32 o)
{
if(o >= (OTRUNC|OCEXEC|ORCLOSE|OEXEC))
error(Ebadarg);
@@ -250,8 +255,9 @@
int
kfgrpclose(Fgrp *f, int fd)
{
- if(waserror())
+ if(waserror()){
return -1;
+ }
/*
* Take no reference on the chan because we don't really need the
@@ -1000,7 +1006,8 @@
c->devoffset = 0;
}
mountrewind(c);
- unionrewind(c);
+ if(c->umc != nil)
+ unionrewind(c);
}
if(c->qid.type & QTDIR){
@@ -1226,7 +1233,10 @@
n = 0;
c = fdtochan(up->env->fgrp, fd, OWRITE, 1, 1);
+ if(c == nil)
+ print("rwrite fdtochan nil %r\n");
if(waserror()) {
+ print("rwrite waserror loop %r\n");
if(offp == nil){
lock(c);
c->offset -= n;