- (data (i32.const 800) "\06\00\00\00") ;; DUP
- (data (i32.const 804) "\15\00\00\00") ;; DICT_GET
- (data (i32.const 808) "\06\00\00\00") ;; DUP
- (data (i32.const 812) "\0e\00\00\00") ;; JZ:
- (data (i32.const 816) "\44\03\00\00") ;; donum (832)
- (data (i32.const 820) "\1a\00\00\00") ;; SWAP
- (data (i32.const 824) "\10\00\00\00") ;; DROP
- (data (i32.const 828) "\0c\00\00\00") ;; EXECUTE
- (data (i32.const 832) "\01\00\00\00") ;; RET
- (data (i32.const 836) "\10\00\00\00") ;; DROP (xt from dictionary)
- (data (i32.const 840) "\16\00\00\00") ;; NUMBER <-- donum, pushes NUM, UNPARSED
- (data (i32.const 844) "\06\00\00\00") ;; DUP
- (data (i32.const 848) "\0f\00\00\00") ;; JNZ:
- (data (i32.const 852) "\60\03\00\00") ;; donum_err (864)
- (data (i32.const 856) "\10\00\00\00") ;; DROP
- (data (i32.const 860) "\01\00\00\00") ;; RET
- (data (i32.const 864) "\10\00\00\00") ;; PARSE_ERR <-- donum_err
- (data (i32.const 868) "\10\00\00\00") ;; ( DROP DROP )
- (data (i32.const 872) "\19\00\00\00") ;; BYE
- (; : definition ;)
- (data (i32.const 900) "\b8\02\00\00") ;; WORD
- (data (i32.const 904) "\1c\00\00\00") ;; HERE
- (data (i32.const 908) "\1d\00\00\00") ;; VOCAB_SET
- (data (i32.const 912) "\01\00\00\00") ;; RET
- (data (i32.const 1000) "\08\00\00\00") ;; "word" size
- (data (i32.const 1004) "w\00o\00r\00d\00") ;; utf16
- (data (i32.const 1012) "\12\00\00\00") ;; "interpret" size
- (data (i32.const 1016) "i\00n\00t\00e\00r\00p\00r\00e\00t\00") ;; utf16
- (data (i32.const 1034) "\00\00") ;; align 32-bit
- (data (i32.const 1036) "\08\00\00\00") ;; "quit" size
- (data (i32.const 1040) "q\00u\00i\00t\00") ;; utf16
- (;HERE ---> 1048;)
+ (data (i32.const 16680) "\1e\00\00\00") ;; 2DUP
+ (data (i32.const 16684) "\15\00\00\00") ;; DICT_GET
+ (data (i32.const 16688) "\06\00\00\00") ;; DUP
+ (data (i32.const 16692) "\0e\00\00\00") ;; JZ:
+ (data (i32.const 16696) "\4c\41\00\00") ;; donum -1 (16716)
+ (data (i32.const 16700) "\1f\00\00\00") ;; ROT
+ (data (i32.const 16704) "\20\00\00\00") ;; 2DROP
+ (data (i32.const 16708) "\0c\00\00\00") ;; EXECUTE
+ (data (i32.const 16712) "\01\00\00\00") ;; RET
+ (data (i32.const 16716) "\10\00\00\00") ;; DROP (xt from dictionary)
+ (data (i32.const 16720) "\16\00\00\00") ;; NUMBER <-- donum, pushes NUM, UNPARSED
+ (data (i32.const 16724) "\06\00\00\00") ;; DUP
+ (data (i32.const 16728) "\0f\00\00\00") ;; JNZ:
+ (data (i32.const 16732) "\68\41\00\00") ;; donum_err (16744)
+ (data (i32.const 16736) "\10\00\00\00") ;; DROP
+ (data (i32.const 16740) "\01\00\00\00") ;; RET
+ (data (i32.const 16744) "\20\00\00\00") ;; 2DROP <-- donum_err
+ (data (i32.const 16748) "\02\00\00\00") ;; LIT
+ (data (i32.const 16752) "\00\00\00\00") ;; 0
+ (data (i32.const 16756) "\02\00\00\00") ;; LIT
+ (data (i32.const 16760) "\04\30\00\00") ;; INBUFSIZE LOCATION
+ (data (i32.const 16764) "\0b\00\00\00") ;; !
+ (data (i32.const 16768) "\19\00\00\00") ;; BYE
+ (data (i32.const 16772) "\00\00\00\00") ;;
+ (data (i32.const 16776) "\00\00\00\00") ;;
+ (data (i32.const 16780) "\00\00\00\00") ;;
+ (data (i32.const 16784) "\00\00\00\00") ;;
+ (; Do Backslash ;)
+ (data (i32.const 16788) "\05\00\00\00") ;; KEY
+ (data (i32.const 16792) "\11\00\00\00") ;; WS?
+ (data (i32.const 16796) "\0f\00\00\00") ;; JNZ:
+ (data (i32.const 16800) "\c8\41\00\00") ;; addr of DO_COMMENT_REENTRY
+ (data (i32.const 16804) "\cc\40\00\00") ;; WORDLOOP_REENTRY (call)
+ (data (i32.const 16808) "\28\41\00\00") ;; EXECUTE-MODE
+ (data (i32.const 16812) "\01\00\00\00") ;; RET
+ (; Do Comment ;)
+ (data (i32.const 16828) "\18\00\00\00") ;; j-1: <-- keypump
+ (data (i32.const 16832) "\e0\41\00\00") ;; addr of DC_END
+ (data (i32.const 16836) "\05\00\00\00") ;; KEY <-- DO_COMMENT
+ (data (i32.const 16840) "\02\00\00\00") ;; LIT <-- DO_COMMENT_REENTRY
+ (data (i32.const 16844) "\0a\00\00\00") ;; 10 (line feed)
+ (data (i32.const 16848) "\25\00\00\00") ;; =?
+ (data (i32.const 16852) "\0e\00\00\00") ;; JZ:
+ (data (i32.const 16856) "\bc\41\00\00") ;; addr of keypump
+ (data (i32.const 16860) "\10\00\00\00") ;; DROP
+ (data (i32.const 16864) "\01\00\00\00") ;; RET <-- DC_END
+ (; Channel Table ;)
+ (; 1 FLAGS: AWAITER | RUNNING ]LSB ;)
+ (; 1 reserved ;)
+ (; 1 AWAITER CHANNEL ;)
+ (; 1 OUT CHANNEL ;)
+ (; 8 START | START-DEFAULT ;)
+ (; 16 BUFFER ADDRESSES: BASE, TAIL, HEAD, BOUND ;)
+ (global $channel_table_p i32 (i32.const 16900))
+ (global $channel_entry_size i32 (i32.const 28))
+ (global $channel_max i32 (i32.const 255))
+ (data (i32.const 16900) "\00\00\00\01") ;; STDIN (COUT: 1)
+ (data (i32.const 16904) "\00\40\00\00") ;; STDIN-START (QUIT)
+ (data (i32.const 16908) "\00\40\00\00") ;; STDIN-START-DEFAULT
+ (data (i32.const 16912) "\00\30\00\00") ;; STDIN-BUFFER-BASE
+ (data (i32.const 16916) "\00\30\00\00") ;; STDIN-BUFFER-TAIL
+ (data (i32.const 16920) "\00\30\00\00") ;; STDIN-BUFFER-HEAD
+ (data (i32.const 16924) "\00\38\00\00") ;; STDIN-BUFFER-BOUND
+ (data (i32.const 16928) "\00\00\00\00") ;; STDOUT
+ (data (i32.const 16932) "\00\00\00\00") ;; STDOUT (TODO: error handler)
+ (data (i32.const 16936) "\00\00\00\00") ;; STDOUT
+ (data (i32.const 16940) "\00\00\00\00") ;; STDOUT
+ (data (i32.const 16944) "\00\00\00\00") ;; STDOUT
+ (data (i32.const 16948) "\00\00\00\00") ;; STDOUT
+ (data (i32.const 16952) "\00\00\00\00") ;; STDOUT
+ (data (i32.const 16956) "\00\00\00\00") ;; STDERR (null)
+ (data (i32.const 16960) "\00\00\00\00") ;; STDERR (TODO: error handler)
+ (; 16900 + ((4 * 7)=>28 * 256)=>7168 = 24068 | 0x5e04 === HERE ;)