{{ Copyright (c) 2009 Sal Sanci Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Yet Another Forth PropForth is built on SpinForth and is really rev 2 of SpinForth. There have been many changes. As opposed to describing them all, suffice it to say PropForth is really tuned to freeing up as many cog longs as possible. Found this was the resource that was of most limit. Of course this is always traded against performance, and the performance considered was compile performance. This forth is case sensitive!!!!!! BIG CHANGE! By default there are now 161 longs free in the cog. The stacks are still in the cogs, and this takes up 64 longs, 32 for the data stack and 32 for the return stack. Found this tradeoff to be worth it. The core of function is kept small, and functions like debugging can be loaded in if they are needed. There is a forth time slicer available for background tasks, and it can respond to items that are need service on the order of hundreds of milliseconds or more. It is a cooperative time slicer and works by long running routines calling _fslice. The forth kernel words key? emit? all call _fslice. When PropForth starts, cog 0 is the spin cog which starts everything up, and then loads the serial driver (57.6Kb if you need different modify in the main spin startup routine), in cog 7 and starts cog 6 as a PropForth cogs. There is a coopreative time slicer for the assembler, aslicer. An example of this is the serial driver which load into cog 7. aslicer slices up between forth, the bit receive, the bit transmit, and the circular buffer manager for received characters. The forth slicer which runs, and monitors for CTLa, CTLb and CTLc. Cog 7 still has juice left over! 57.6K Baud is ok no delays necessary. THIS IS NOT AN ANSI FORTH! It is a minimal forth tuned for the propeller. However most words adhere to the ANSI standard. Locks 0 - 1 are allocated by the spin startup code are by forth. 0 - the forth dictionary 1 - the eeprom Forth is a language which I like for microcontrollers. It is intended to allow interactive development on the microcontroller. The Propeller architecture is different enough from the norm to require a slightly different Forth. So this is uniquely developed for the propeller. If you don't like it, the source follows. Indulge yourself. Names are case unique in THIS forth, so aCount and acount are NOT the same, in this implementation the max length for a name is 31 characters. Names are stored as a counted string. 1 byte for the length, and up to 31 bytes for the name. The upper bits are used as follows. $80 - 0 - this is an assembler word 1 - this is a forth word $40 - 0 - this is not an immediate word 1 - this is an immediate word $20 - 0 - do not execute in interactive mode if the immediate word flag is set 1 - execute this word in intercactive mode if the immediate flag is set Be sure these flags are masked if you are manipulating names with the counted string routines. The cog memory is used for the assembler code and variables to run Forth, a 32 long stack, and a 32 long return stack. There are about 160 free registers for code and data in each cog running forth. Memory accesses in forth are ! (store) and @ (fetch). All memory access to the cog are long. They are done via ! and @ Naming conventions: cog: a_xxx - a forth word, an address poiting to code which can be executed as forth word c_xxx - cog code, point to code, but can not be executed as a forth word, for instance a subroutine v_xxx - a cog long, points to a variable The execption to this is the special cog registers, which are named exactly as they are in the propeller documentation. eg par, phsa, ctra, etc. Of course given the nature of self-modifying code, these names may be used otherwise cogdata: Each cog has a 256 byte area assigned to it, and this area is used forth cog specific data. Though this are is in main memory there is an agreed upon isolation. When a cog is started the par register points to this 256 byte area. cogdata long mc ex mcCount (main cog) m! m@ word mcw ex mcwCount (main cog word) w! w@ char mcc ex mccCount (main cog char) c! c@ The forth dictionary is stored in main memory and is shared. So updating the dictionary requires it be locked so only one cog at a time can update the dictionary. Variables can be defined in the dictionary or in the cog. In the cog, there is only a long variable. In main memory, variables can be a long (32 bits), a word (16 bits). The most efficient are words. This forth is implemented using words. Longs need to be long aligned and can waste bytes. main memory: Main memory can be accessed as a long, m! m@, a word, w! w@, and as a character c! c@ , There is an area of main memory reserved for each cog, the cogdata area. The PAR register is initialized with the start of the 256 bytes allocated to each cog. This area is where IO communcation is done, and system variables for each cog are stored. Naming convention: cog long a ex aCount ! @ cogdata long mc ex mcCount (main cog) m! m@ word mcw ex mcwCount (main cog word) w! w@ char mcc ex mccCount (main cog char) c! c@ dictionary long ms ex msCount (main shared) m! m@ word msw ex mswCount (main shared word) w! w@ char msc ex mscCount (main shared char) c! c@ This is done to clearly differentiate how a variable should be accessed. Strange bugs happen if these are confused and the naming convention helps. There is stack and return stack checking for overflow and underflow. For the stack, this only occurs on words which access more then the top item on the stack. So using c@ with an empty stack will return a value and not trigger stack checking. However c! with an empty stack will trigger a stack underflow. Trade between size performance and error checking, seemed reasonable. 2009 AUG 14, on vacation had time for a few changes. The assembler divide is now a 64bit divided by 32 bits and yields a 32 bit result and remainder. Very useful in conjuction with the 64 bit multiply, allows scaling of counter values easily. Added underflow/overflow detection, useful for understanding what is going on. Fixed a few minor bugs. }} CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 _cogDataSize = 256 _wordMASK = $FFFF _buffer_length = 256 'can be 2, 4, 8, 16, 32, 64, 128, 256 _buffer_mask = _buffer_length - 1 VAR OBJ PUB Main | key {{ Start the serial port rx pin - 31, tx pin - 30, 115KBaud If ok start forth, providing we can can a lock resource }} key := locknew key := locknew stPtr := ((@stTop - @a_base) /4) - 1 ' and initialize values for forth rsPtr := ((@rsTop - @a_base) /4) - 1 IP := WORD[ @cm_fstartPFA + 2] WORD[ @mswDictendPFA + 2] := @ForthDictEnd WORD[ @mswMemendPFA + 2] := @ForthMemoryEnd WORD[ @ffcogPFA + 2] := 6 WORD[ @lfcogPFA + 2] := 6 v_bitticks := clkfreq / 57600 v_rxmask := 1 << 31 v_txmask := 1 << 30 v_rxbuff := @serentryPFA v_in := @inCONPFA + 2 v_out := @outCONPFA + 2 coginit(7, @serentryPFA, @cogdataPFA + (7 * _cogDataSize)) coginit(6, @entryPFA, @cogdataPFA + (6 * _cogDataSize)) {{ Stop cog zero, or comment this out to keep spin running }} cogstop( 0) DAT '*********************************** '* Assembly language serial driver * '*********************************** org 0 ' ' ' Entry ' serentryPFA mov task1Ptr,#transmit mov task2Ptr,#task2Code or dira , v_txmask ' ' Receive ' receive jmpret task0Ptr, task1Ptr 'run a chunk of transmit code, then return test v_rxmask , ina wz if_nz jmp # receive mov rxbits , # 9 'ready to receive byte mov rxcnt , v_bitticks mov rxcnt , cnt '+ the current clock :bit add rxcnt , v_bitticks 'ready for the middle of the bit period :wait jmpret task0Ptr, task1Ptr 'run a chuck of transmit code, then return mov t1 , rxcnt 'check if bit receive period done sub t1 , cnt cmps t1 , # 0 wc if_nc jmp #:wait test v_rxmask , ina wc 'receive bit on rx pin into carry rcr rxdata , # 1 'shift carry into receiver djnz rxbits , # :bit 'go get another bit till done if_nc jmp # receive 'abort if no stop bit shr rxdata , # 32-9 'justify and trim received byte and rxdata , # $FF add v_rxh , v_rxbuff 'plus the buffer offset wrbyte rxdata , v_rxh 'write the byte sub v_rxh , v_rxbuff add v_rxh ,# 1 'update rx_head and v_rxh , # _buffer_mask jmp # receive 'byte done, receive next byte ' ' ' Transmit ' transmit jmpret task1Ptr, task2Ptr 'run a chunk of receive code, then return rdword txdata, v_in test txdata, #$100 wz if_nz jmp #transmit mov t1 , #$100 wrword t1 , v_in or txdata,#$100 'or in a stop bit shl txdata,#2 or txdata,#1 'or in a idle line state and a start bit mov txbits,#11 mov txcnt,cnt :bit shr txdata,#1 wc muxc outa , v_txmask add txcnt , v_bitticks 'ready next cnt :wait jmpret task1Ptr, task2Ptr 'run a chunk of receive code, then return mov t1,txcnt 'check if bit transmit period done sub t1,cnt cmps t1,#0 wc if_nc jmp #:wait djnz txbits,#:bit 'another bit to transmit? jmp #transmit 'byte done, transmit next byte task2Code jmpret task2Ptr, task0Ptr cmp v_rxh , v_rxt wz if_z jmp #task2Code mov t1 , v_out rdword t2 , t1 wz if_nz rdword t3 , t2 if_nz test t3 , # $100 wz if_z jmp #task2Code add v_rxt , v_rxbuff 'plus the buffer offset rdbyte t3 , v_rxt 'write the byte sub v_rxt , v_rxbuff add v_rxt ,# 1 wrword t3 , t2 'update rx_head and v_rxt , # _buffer_mask jmp #task2Code v_rxh long 0 v_rxt long 0 v_bitticks long 0 v_rxmask long 0 v_txmask long 0 v_rxbuff long 0 v_in long 0 v_out long 0 ' ' Uninitialized data ' task0Ptr res 1 task1Ptr res 1 task2Ptr res 1 t1 res 1 t2 res 1 t3 res 1 rxdata res 1 rxbits res 1 rxcnt res 1 txbuff res 1 txdata res 1 txbits res 1 txcnt res 1 a_base org 0 {{ Assembler Code entry - abs is effectively a nop on stTOS initialized to zero Assembler routines which correspond to forth words are documented in the forth area }} entryPFA jmp #a_next a_ifunc rdword treg1, IP movi a_ifunci, treg1 add IP, #2 call #a_stpoptreg a_ifunci and stTOS, treg1 jmp #a_next a_ifuncone rdword treg1, IP movi a_ifunc1i, treg1 add IP, #2 a_ifunc1i abs stTOS, stTOS jmp #a_next a_ifunctwo rdword treg1, IP movi a_ifunc2i, treg1 add IP, #2 call #a_stpoptreg a_ifunc2i abs stTOS, treg1 a_drop call #a_stPop jmp #a_next a_at movs a_atget, stTOS nop ' necessary, really needs to be documented a_atget mov stTOS, stTOS jmp #a_next a_bang movd a_bangput, stTOS call #a_stPop a_bangput mov stTOS, stTOS jmp #a_drop a_branch rdword treg1,IP ' the next word add IP, treg1 ' add the offset and IP , fAddrMask jmp #a_next a_doconw call #a_stPush rdword stTOS, IP jmp #a_exit a_dovar add IP, #3 andn IP, #3 ' align to a long boundary a_dovarw call #a_stPush mov stTOS, IP jmp #a_exit a_literal call #a_stPush add IP, #3 andn IP, #3 ' align to a long boundary rdlong stTOS, IP add IP, #4 jmp #a_next a_docon call #a_stPush add IP, #3 andn IP, #3 ' align to a long boundary rdlong stTOS, IP jmp #a_exit a_dup call #a_stPush jmp #a_next ' treg1 - cstr2 (name) ' stTOS - cstr1 (name) ' uses treg2, treg4, and treg5 ' z flag set if strings are equal c_streq c_streq5 mov treg4 , # $1F ' length of cstr2 (name) rdbyte treg2 , treg1 wz ' length of cstr2 (name) - truncate to appropriate length if_nz and treg2 , treg4 wz ' length of cstr1 (name) if_nz rdbyte treg5 , stTOS wz ' length of cstr1 (name) - truncate to appropriate length if_nz and treg5 , treg4 wz ' if either length is 0, move -1 into length of cstr1 to cause a mismatch if_z mov treg5 , fLongMask cmp treg2 , treg5 wz if_nz jmp # c_streq7 a_cstreqloop add stTOS , # 1 rdbyte treg4 , stTOS add treg1 , # 1 a_cstreqlp if_never jmpret a_stPop_ret, # a_stPop_ret ' when task manager is loaded these addresses wil be patched rdbyte treg5 , treg1 cmp treg4 , treg5 wz if_z djnz treg2 , # a_cstreqloop c_streq7 c_streq_ret ret ' a_nameeq (name name -- t/f) a_nameeq movs c_streq5 , # $1F jmp # a_nameeq4 ' a_cstreq (cstr1 cstr2 -- t/f) a_cstreq movs c_streq5 , # $FF a_nameeq4 call #a_stpoptreg ' treg1 - cstr2 ' stTOS - dict cstr1 jmpret c_streq_ret , # c_streq muxz stTOS , fLongMask jmp # a_next a_fin call #a_stpoptreg mov treg6 , treg1 mov treg3 , stTOS movs c_streq5 , # $1F ' treg6 - cstr ' treg3 - nfa a_finlp if_never jmpret a_stPop_ret, # a_stPop_ret ' when task manager is loaded these addresses wil be patched ' treg1 - nfa ' stTOS - cstr mov treg1 , treg6 mov stTOS , treg3 jmpret c_streq_ret , # c_streq if_nz jmp # a_fin2 a_fin1 mov stTOS , treg3 jmp # a_next a_fin2 mov treg2 , treg3 sub treg2 , # 2 rdword treg3 , treg2 wz if_z jmp # a_fin1 jmp # a_finlp a_eq call #a_stpoptreg cmp treg1, stTOS wz, wc muxz stTOS, fLongMask jmp #a_next a_gt '( n1 n2 -- flag ) call #a_stpoptreg ' flag is true if and only if n1 is greater than n2 cmps stTOS, treg1 wz, wc if_a neg stTOS, #1 if_be mov stTOS, #0 jmp #a_next a_hubop call #a_stpoptreg hubop stTOS, treg1 wr,wc muxc treg1, fLongMask call #a_stPush mov stTOS, treg1 jmp #a_next a_litw call #a_stPush rdword stTOS, IP a_litw1 add IP, #2 jmp #a_next a_lt '( n1 n2 -- flag ) call #a_stpoptreg ' flag is true if and only if n1 is less than n2 cmps stTOS, treg1 wz, wc if_b neg stTOS, #1 if_ae mov stTOS, #0 jmp #a_next a_exit call #a_rsPop mov IP, treg5 ' jmp #a_next SINCE WE ARE ALREADY THERE a_next if_never jmpret a_stPop_ret, # a_stPop_ret ' when task manager is loaded these addresses wil be patched a_debugonoff if_never jmpret a_dum_ret, # a_dum ' when debug is loaded this address will be patched rdword treg1,IP ' the next word test treg1, fMask wz if_z add IP, #2 ' if the one of the hi bits is not set, it is an assembler word, inc IP if_z jmp treg1 rdword treg1, IP ' otherwise it is a forth word mov treg5, IP add treg5, #2 mov IP, treg1 call #a_rsPush jmp #a_next a_over call #a_stpoptreg mov treg2, stTOS call #a_stPush mov stTOS, treg1 call #a_stPush mov stTOS, treg2 jmp #a_next a_mpx and stTOS, ina wz muxnz stTOS, fLongMask jmp # a_next a_mpxh jmp # a_mpxex wz a_mpxl test stTOS, #0 wz a_mpxex muxnz outa, stTOS jmp # a_drop a_rot call #a_stpoptreg mov treg2, stTOS call #a_stPop mov treg3, stTOS mov stTOS, treg2 call #a_stPush mov stTOS, treg1 call #a_stPush mov stTOS, treg3 jmp #a_next a_rgt call #a_rsPop call #a_stPush mov stTOS, treg5 jmp #a_next a_twogtr mov treg5, stTOS call #a_stPop call #a_rsPush a_gtr mov treg5, stTOS call #a_stPop call #a_rsPush jmp #a_next a_lparenlooprparen mov treg1, #1 jmp #a_lparenpluslooprparen1 a_lparenpluslooprparen call #a_stpoptreg a_lparenpluslooprparen1 call #a_rsPop mov treg2, treg5 call #a_rsPop add treg5, treg1 cmp treg2, treg5 wc ,wz if_a call #a_rsPush ' branch if_a mov treg5, treg2 ' branch if_a call #a_rsPush ' branch if_a jmp #a_branch jmp #a_litw1 a_swap call #a_stpoptreg mov treg2, stTOS mov stTOS, treg1 call #a_stPush mov stTOS, treg2 jmp #a_next a_umstar call #a_stpoptreg mov treg4, #0 mov treg2, #0 mov treg3, #0 a_umstarlp if_never jmpret a_stPop_ret, # a_stPop_ret ' when task manager is loaded these addresses wil be patched shr stTOS, #1 wz,wc if_nc jmp #a_umstar1 add treg4, treg1 wc addx treg2, treg3 a_umstar1 shl treg1, #1 wc rcl treg3, #1 if_nz jmp #a_umstarlp mov stTOS, treg4 call #a_stPush mov stTOS, treg2 jmp #a_next a_umslashmod call #a_stpoptreg mov treg6, stTOS call #a_stPop mov treg3, #$40 mov treg2, #0 a_umslashmodlp if_never jmpret a_stPop_ret, # a_stPop_ret ' when task manager is loaded these addresses wil be patched shl stTOS, #1 wc ' dividend rcl treg6, #1 wc rcl treg2, #1 wc ' hi bit from dividend if_c sub treg2, treg1 if_nc cmpsub treg2, treg1 wc ' cmp divisor rcl treg4, #1 ' treg1 - quotient djnz treg3, #a_umslashmodlp mov stTOS, treg2 call #a_stPush mov stTOS, treg4 jmp #a_next a_zbranch call #a_stpoptreg cmp treg1, #0 wz ' is the TOS zero? if_z jmp #a_branch jmp #a_litw1 a_reset if_never jmpret a_stPop_ret, # a_stPop_ret ' when task manager is loaded these addresses will be patched wrlong fLongMask , par wrword treg6 , par coginit resetDreg {{ a_stPush - push stTOS on to stack }} a_stPush if_never jmpret a_stPop_ret, # a_stPop_ret ' when task manager is loaded these addresses wil be patched movd a_stPush1, stPtr cmp stPtr, #stBot wc if_b mov treg6 , # $11 if_b jmp # a_reset a_stPush1 mov stPtr, stTOS sub stPtr, #1 a_stPush_ret ret {{ a_rsPush - push treg5 on to return stack }} a_rsPush if_never jmpret a_stPop_ret, # a_stPop_ret ' when task manager is loaded these addresses wil be patched movd a_rsPush1, rsPtr cmp rsPtr, #rsBot wc if_b mov treg6 , # $12 if_b jmp # a_reset a_rsPush1 mov treg1, treg5 sub rsPtr, #1 a_rsPush_ret ret {{ a_stpoptreg - move stTOS to treg1, and pop stTOS from stack }} a_stpoptreg mov treg1, stTOS {{ a_stPop - pop stTOS from stack }} a_stPop if_never jmpret a_stPop_ret, # a_stPop_ret ' when task manager is loaded these addresses wil be patched add stPtr, #1 movs a_stPop1, stPtr cmp stPtr, #stTop wc,wz if_ae mov treg6 , # $21 if_ae jmp # a_reset a_stPop1 mov stTOS, stPtr a_stPop_ret a_stpoptreg_ret ret {{ a_rsPop - pop treg5 from return stack }} a_rsPop if_never jmpret a_stPop_ret, # a_stPop_ret ' when task manager is loaded these addresses wil be patched add rsPtr, #1 movs a_rsPop1, rsPtr cmp rsPtr, #rsTop wc,wz if_ae mov treg6 , # $22 if_ae jmp # a_reset a_rsPop1 a_dum mov treg5, treg1 a_dum_ret a_rsPop_ret ret ' ' variables used by the forth interpreter, do not change the order or size -- or if you do, be really careful and update the forth code ' varStart fMask long $FE00 ' 0 fAddrMask long $7FFF ' 1 fLongMask long $FFFFFFFF ' 2 resetDreg long 0 ' 3 IP long 0 ' 4 stPtr long 0 ' 5 rsPtr long 0 ' 6 stTOS long 0 ' 7 treg1 long 0 ' 8 working reg treg2 long 0 ' 9 working reg treg3 long 0 ' a working reg treg4 long 0 ' b working reg treg5 long 0 ' c working reg / call parameter reg treg6 long 0 ' d working reg stBot ' e {{ These variables are overlapped with the cog data area variables to save space }} cogdataPFA long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 ' e long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 ' 1e stTop ' 2e rsBot long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 ' 2e long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 ' 3e rsTop ' 4e varEnd {{ cogdata This data area is used for 2 purposes. The first is for inByte, outByte, debugCmd and debugValue - these are used to commincate with the spin program which routes IO to/from the serial port. They can also be used between forths running on different cogs. The second purpose is for variables which are unique to each instance of forth, like >in, pad, etc... Variables can be defined here for each forth or in cog memory. Since cog memory is at a premium, "slow" variables are defined here. }} 'cogdataPFA long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 ' 256 bytes cog 0 ' long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 ' long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 ' long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 ' 256 bytes cog 1 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 ' 256 bytes cog 2 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 ' 256 bytes cog 3 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 ' 256 bytes cog 4 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 ' 256 bytes cog 5 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 ' 256 bytes cog 6 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 ' 256 bytes cog 7 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 {{ Start of the Forth Dicitonary Dictionary Entry Structure - there is no code pointer, it is inherent LinkField - points to the previous name field in the dictionary word NameField byte - length of the name field (lo 5 bits) - bit 7 ($80) set if it is a forth word - bit 6 ($40) set if it is an immediate word - bit 4 ($20) set if it is an eXecute word - execute this word in interactive mode as well if the immediate flag is set bytes - the actual name - if the name is a word constant, and it starts with ca_ the spinMaker assumes it to be a reference to the cog data space and sets the constant to be (name - a_base) /4. If it starts with cm_ it is assumed to be a main memory reference and the constant is set to be namePFA +$10 (SPIN BUG? requires the +$10) if the name is an assembler word the address is set to (a_name - a_base)/4 assembler names are not constants, they are a different type of dictionary entry ParameterField - the list of addresses to execute, and literals for a forth word - if it is a forth word one ofthe hi bit ($FE00) will be set - assembler addresses are always < 512 - this of course means that the ForthDictStart must have at least 512 bytes used before it, since this is only 128 longs, and the assembler code, and forth stacks are before this, this is not an issue - if it is an assembler word there is only 1 word and it is the assembler address Generated form forth code from here on in - written in forth spin generated *************************************************************************************************************** *************************************************************************************************************** *************************************************************************************************************** }} ForthDictStart word 0 mswHereNFA byte $87,"mswHere" mswHerePFA word (@a_dovarw - @a_base)/4 word $0000 word @mswHereNFA + $10 mswDictendNFA byte $8A,"mswDictend" mswDictendPFA word (@a_dovarw - @a_base)/4 word $7FFF word @mswDictendNFA + $10 mswMemendNFA byte $89,"mswMemend" mswMemendPFA word (@a_dovarw - @a_base)/4 word $7FFF word @mswMemendNFA + $10 vxcogNFA byte $85,"vxcog" vxcogPFA word (@a_dovarw - @a_base)/4 word $FFFF word @vxcogNFA + $10 ffcogNFA byte $85,"ffcog" ffcogPFA word (@a_dovarw - @a_base)/4 word $0005 word @ffcogNFA + $10 lfcogNFA byte $85,"lfcog" lfcogPFA word (@a_dovarw - @a_base)/4 word $0006 word @lfcogNFA + $10 cm_serentryNFA byte $8B,"cm_serentry" cm_serentryPFA word (@a_doconw - @a_base)/4 word @serentryPFA + $10 word @cm_serentryNFA + $10 cm_entryNFA byte $88,"cm_entry" cm_entryPFA word (@a_doconw - @a_base)/4 word @entryPFA + $10 word @cm_entryNFA + $10 cm_cogdataNFA byte $8A,"cm_cogdata" cm_cogdataPFA word (@a_doconw - @a_base)/4 word @cogdataPFA + $10 word @cm_cogdataNFA + $10 cm_cqNFA byte $85,"cm_cq" cm_cqPFA word (@a_doconw - @a_base)/4 word @cqPFA + $10 word @cm_cqNFA + $10 cm_dqNFA byte $85,"cm_dq" cm_dqPFA word (@a_doconw - @a_base)/4 word @dqPFA + $10 word @cm_dqNFA + $10 ca_a_exitNFA byte $89,"ca_a_exit" ca_a_exitPFA word (@a_doconw - @a_base)/4 word (@a_exit - @a_base)/4 word @ca_a_exitNFA + $10 ca_a_dovarwNFA byte $8B,"ca_a_dovarw" ca_a_dovarwPFA word (@a_doconw - @a_base)/4 word (@a_dovarw - @a_base)/4 word @ca_a_dovarwNFA + $10 ca_a_doconwNFA byte $8B,"ca_a_doconw" ca_a_doconwPFA word (@a_doconw - @a_base)/4 word (@a_doconw - @a_base)/4 word @ca_a_doconwNFA + $10 ca_a_branchNFA byte $8B,"ca_a_branch" ca_a_branchPFA word (@a_doconw - @a_base)/4 word (@a_branch - @a_base)/4 word @ca_a_branchNFA + $10 ca_a_litwNFA byte $89,"ca_a_litw" ca_a_litwPFA word (@a_doconw - @a_base)/4 word (@a_litw - @a_base)/4 word @ca_a_litwNFA + $10 ca_a_twogtrNFA byte $88,"ca_a_2>r" ca_a_twogtrPFA word (@a_doconw - @a_base)/4 word (@a_twogtr - @a_base)/4 word @ca_a_twogtrNFA + $10 ca_a_lparenlooprparenNFA byte $8B,"ca_a_(loop)" ca_a_lparenlooprparenPFA word (@a_doconw - @a_base)/4 word (@a_lparenlooprparen - @a_base)/4 word @ca_a_lparenlooprparenNFA + $10 ca_a_lparenpluslooprparenNFA byte $8C,"ca_a_(+loop)" ca_a_lparenpluslooprparenPFA word (@a_doconw - @a_base)/4 word (@a_lparenpluslooprparen - @a_base)/4 word @ca_a_lparenpluslooprparenNFA + $10 ca_a_zbranchNFA byte $8C,"ca_a_0branch" ca_a_zbranchPFA word (@a_doconw - @a_base)/4 word (@a_zbranch - @a_base)/4 word @ca_a_zbranchNFA + $10 ca_a_dovarNFA byte $8A,"ca_a_dovar" ca_a_dovarPFA word (@a_doconw - @a_base)/4 word (@a_dovar - @a_base)/4 word @ca_a_dovarNFA + $10 ca_a_doconNFA byte $8A,"ca_a_docon" ca_a_doconPFA word (@a_doconw - @a_base)/4 word (@a_docon - @a_base)/4 word @ca_a_doconNFA + $10 ca_a_literalNFA byte $8C,"ca_a_literal" ca_a_literalPFA word (@a_doconw - @a_base)/4 word (@a_literal - @a_base)/4 word @ca_a_literalNFA + $10 ca_a_debugonoffNFA byte $8F,"ca_a_debugonoff" ca_a_debugonoffPFA word (@a_doconw - @a_base)/4 word (@a_debugonoff - @a_base)/4 word @ca_a_debugonoffNFA + $10 ca_a_resetNFA byte $8A,"ca_a_reset" ca_a_resetPFA word (@a_doconw - @a_base)/4 word (@a_reset - @a_base)/4 word @ca_a_resetNFA + $10 ca_a_ifuncNFA byte $8A,"ca_a_ifunc" ca_a_ifuncPFA word (@a_doconw - @a_base)/4 word (@a_ifunc - @a_base)/4 word @ca_a_ifuncNFA + $10 ca_a_ifunconeNFA byte $8B,"ca_a_ifunc1" ca_a_ifunconePFA word (@a_doconw - @a_base)/4 word (@a_ifuncone - @a_base)/4 word @ca_a_ifunconeNFA + $10 ca_a_ifunctwoNFA byte $8B,"ca_a_ifunc2" ca_a_ifunctwoPFA word (@a_doconw - @a_base)/4 word (@a_ifunctwo - @a_base)/4 word @ca_a_ifunctwoNFA + $10 ca_a_umstarlpNFA byte $8D,"ca_a_umstarlp" ca_a_umstarlpPFA word (@a_doconw - @a_base)/4 word (@a_umstarlp - @a_base)/4 word @ca_a_umstarlpNFA + $10 ca_a_umslashmodlpNFA byte $91,"ca_a_umslashmodlp" ca_a_umslashmodlpPFA word (@a_doconw - @a_base)/4 word (@a_umslashmodlp - @a_base)/4 word @ca_a_umslashmodlpNFA + $10 ca_a_cstreqlpNFA byte $8D,"ca_a_cstreqlp" ca_a_cstreqlpPFA word (@a_doconw - @a_base)/4 word (@a_cstreqlp - @a_base)/4 word @ca_a_cstreqlpNFA + $10 ca_a_finlpNFA byte $8A,"ca_a_finlp" ca_a_finlpPFA word (@a_doconw - @a_base)/4 word (@a_finlp - @a_base)/4 word @ca_a_finlpNFA + $10 ca_a_stPushNFA byte $8B,"ca_a_stPush" ca_a_stPushPFA word (@a_doconw - @a_base)/4 word (@a_stPush - @a_base)/4 word @ca_a_stPushNFA + $10 ca_a_stPush_retNFA byte $8F,"ca_a_stPush_ret" ca_a_stPush_retPFA word (@a_doconw - @a_base)/4 word (@a_stPush_ret - @a_base)/4 word @ca_a_stPush_retNFA + $10 ca_a_rsPushNFA byte $8B,"ca_a_rsPush" ca_a_rsPushPFA word (@a_doconw - @a_base)/4 word (@a_rsPush - @a_base)/4 word @ca_a_rsPushNFA + $10 ca_a_rsPush_retNFA byte $8F,"ca_a_rsPush_ret" ca_a_rsPush_retPFA word (@a_doconw - @a_base)/4 word (@a_rsPush_ret - @a_base)/4 word @ca_a_rsPush_retNFA + $10 ca_a_stPopNFA byte $8A,"ca_a_stPop" ca_a_stPopPFA word (@a_doconw - @a_base)/4 word (@a_stPop - @a_base)/4 word @ca_a_stPopNFA + $10 ca_a_stPoptregNFA byte $8E,"ca_a_stPoptreg" ca_a_stPoptregPFA word (@a_doconw - @a_base)/4 word (@a_stPoptreg - @a_base)/4 word @ca_a_stPoptregNFA + $10 ca_a_stPop_retNFA byte $8E,"ca_a_stPop_ret" ca_a_stPop_retPFA word (@a_doconw - @a_base)/4 word (@a_stPop_ret - @a_base)/4 word @ca_a_stPop_retNFA + $10 ca_a_stPoptreg_retNFA byte $92,"ca_a_stPoptreg_ret" ca_a_stPoptreg_retPFA word (@a_doconw - @a_base)/4 word (@a_stPoptreg_ret - @a_base)/4 word @ca_a_stPoptreg_retNFA + $10 ca_a_rsPopNFA byte $8A,"ca_a_rsPop" ca_a_rsPopPFA word (@a_doconw - @a_base)/4 word (@a_rsPop - @a_base)/4 word @ca_a_rsPopNFA + $10 ca_a_rsPop_retNFA byte $8E,"ca_a_rsPop_ret" ca_a_rsPop_retPFA word (@a_doconw - @a_base)/4 word (@a_rsPop_ret - @a_base)/4 word @ca_a_rsPop_retNFA + $10 ca_a_nextNFA byte $89,"ca_a_next" ca_a_nextPFA word (@a_doconw - @a_base)/4 word (@a_next - @a_base)/4 word @ca_a_nextNFA + $10 ca_varStartNFA byte $8B,"ca_varStart" ca_varStartPFA word (@a_doconw - @a_base)/4 word (@varStart - @a_base)/4 word @ca_varStartNFA + $10 ca_varEndNFA byte $89,"ca_varEnd" ca_varEndPFA word (@a_doconw - @a_base)/4 word (@varEnd - @a_base)/4 word @ca_varEndNFA + $10 _cvNFA byte $83,"_cv" _cvPFA word @ca_varStartPFA + $10 word @plusPFA + $10 word (@a_exit - @a_base)/4 word @_cvNFA + $10 fMaskNFA byte $85,"fMask" fMaskPFA word @zPFA + $10 word @_cvPFA + $10 word (@a_exit - @a_base)/4 word @fMaskNFA + $10 fAddrMaskNFA byte $89,"fAddrMask" fAddrMaskPFA word (@a_litw - @a_base)/4 word $0001 word @_cvPFA + $10 word (@a_exit - @a_base)/4 word @fAddrMaskNFA + $10 fLongMaskNFA byte $89,"fLongMask" fLongMaskPFA word (@a_litw - @a_base)/4 word $0002 word @_cvPFA + $10 word (@a_exit - @a_base)/4 word @fLongMaskNFA + $10 resetDregNFA byte $89,"resetDreg" resetDregPFA word (@a_litw - @a_base)/4 word $0003 word @_cvPFA + $10 word (@a_exit - @a_base)/4 word @resetDregNFA + $10 IPNFA byte $82,"IP" IPPFA word (@a_litw - @a_base)/4 word $0004 word @_cvPFA + $10 word (@a_exit - @a_base)/4 word @IPNFA + $10 stPtrNFA byte $85,"stPtr" stPtrPFA word (@a_litw - @a_base)/4 word $0005 word @_cvPFA + $10 word (@a_exit - @a_base)/4 word @stPtrNFA + $10 rsPtrNFA byte $85,"rsPtr" rsPtrPFA word (@a_litw - @a_base)/4 word $0006 word @_cvPFA + $10 word (@a_exit - @a_base)/4 word @rsPtrNFA + $10 stTOSNFA byte $85,"stTOS" stTOSPFA word (@a_litw - @a_base)/4 word $0007 word @_cvPFA + $10 word (@a_exit - @a_base)/4 word @stTOSNFA + $10 tregoneNFA byte $85,"treg1" tregonePFA word (@a_litw - @a_base)/4 word $0008 word @_cvPFA + $10 word (@a_exit - @a_base)/4 word @tregoneNFA + $10 stBotNFA byte $85,"stBot" stBotPFA word (@a_litw - @a_base)/4 word $000E word @_cvPFA + $10 word (@a_exit - @a_base)/4 word @stBotNFA + $10 stTopNFA byte $85,"stTop" stTopPFA word (@a_litw - @a_base)/4 word $002E word @_cvPFA + $10 word (@a_exit - @a_base)/4 word @stTopNFA + $10 rsBotNFA byte $85,"rsBot" rsBotPFA word @stTopPFA + $10 word (@a_exit - @a_base)/4 word @rsBotNFA + $10 rsTopNFA byte $85,"rsTop" rsTopPFA word (@a_litw - @a_base)/4 word $004E word @_cvPFA + $10 word (@a_exit - @a_base)/4 word @rsTopNFA + $10 blNFA byte $82,"bl" blPFA word (@a_doconw - @a_base)/4 word $0020 word @blNFA + $10 minusoneNFA byte $82,"-1" minusonePFA word (@a_docon - @a_base)/4 long $FFFFFFFF word @minusoneNFA + $10 zNFA byte $81,"0" zPFA word (@a_doconw - @a_base)/4 word $0000 word @zNFA + $10 parNFA byte $83,"par" parPFA word (@a_doconw - @a_base)/4 word $01F0 word @parNFA + $10 cntNFA byte $83,"cnt" cntPFA word (@a_doconw - @a_base)/4 word $01F1 word @cntNFA + $10 inaNFA byte $83,"ina" inaPFA word (@a_doconw - @a_base)/4 word $01F2 word @inaNFA + $10 outaNFA byte $84,"outa" outaPFA word (@a_doconw - @a_base)/4 word $01F4 word @outaNFA + $10 diraNFA byte $84,"dira" diraPFA word (@a_doconw - @a_base)/4 word $01F6 word @diraNFA + $10 ctraNFA byte $84,"ctra" ctraPFA word (@a_doconw - @a_base)/4 word $01F8 word @ctraNFA + $10 ctrbNFA byte $84,"ctrb" ctrbPFA word (@a_doconw - @a_base)/4 word $01F9 word @ctrbNFA + $10 frqaNFA byte $84,"frqa" frqaPFA word (@a_doconw - @a_base)/4 word $01FA word @frqaNFA + $10 frqbNFA byte $84,"frqb" frqbPFA word (@a_doconw - @a_base)/4 word $01FB word @frqbNFA + $10 phsaNFA byte $84,"phsa" phsaPFA word (@a_doconw - @a_base)/4 word $01FC word @phsaNFA + $10 phsbNFA byte $84,"phsb" phsbPFA word (@a_doconw - @a_base)/4 word $01FD word @phsbNFA + $10 vcfgNFA byte $84,"vcfg" vcfgPFA word (@a_doconw - @a_base)/4 word $01FE word @vcfgNFA + $10 vsclNFA byte $84,"vscl" vsclPFA word (@a_doconw - @a_base)/4 word $01FF word @vsclNFA + $10 mswKeyTONFA byte $88,"mswKeyTO" mswKeyTOPFA word (@a_dovarw - @a_base)/4 word $0500 word @mswKeyTONFA + $10 cnipNFA byte $C4,"cnip" cnipPFA word @mswHerePFA + $10 word @watPFA + $10 word @twominusPFA + $10 word (@a_dup - @a_base)/4 word @watPFA + $10 word (@a_over - @a_base)/4 word @twominusPFA + $10 word @wbangPFA + $10 word @mswHerePFA + $10 word @wbangPFA + $10 word (@a_exit - @a_base)/4 word @cnipNFA + $10 ifuncNFA byte $05,"ifunc" ifuncPFA word (@a_ifunc - @a_base)/4 word @ifuncNFA + $10 ifunconeNFA byte $06,"ifunc1" ifunconePFA word (@a_ifuncone - @a_base)/4 word @ifunconeNFA + $10 ifunctwoNFA byte $06,"ifunc2" ifunctwoPFA word (@a_ifunctwo - @a_base)/4 word @ifunctwoNFA + $10 finNFA byte $03,"fin" finPFA word (@a_fin - @a_base)/4 word @finNFA + $10 mpxNFA byte $03,"mpx" mpxPFA word (@a_mpx - @a_base)/4 word @mpxNFA + $10 mpxlNFA byte $04,"mpxl" mpxlPFA word (@a_mpxl - @a_base)/4 word @mpxlNFA + $10 mpxhNFA byte $04,"mpxh" mpxhPFA word (@a_mpxh - @a_base)/4 word @mpxhNFA + $10 nameeqNFA byte $05,"name=" nameeqPFA word (@a_nameeq - @a_base)/4 word @nameeqNFA + $10 cstreqNFA byte $05,"cstr=" cstreqPFA word (@a_cstreq - @a_base)/4 word @cstreqNFA + $10 absNFA byte $83,"abs" absPFA word (@a_ifuncone - @a_base)/4 word $0151 word (@a_exit - @a_base)/4 word @absNFA + $10 andNFA byte $83,"and" andPFA word (@a_ifunc - @a_base)/4 word $00C1 word (@a_exit - @a_base)/4 word @andNFA + $10 andnNFA byte $84,"andn" andnPFA word (@a_ifunc - @a_base)/4 word $00C9 word (@a_exit - @a_base)/4 word @andnNFA + $10 bangdNFA byte $82,"!d" bangdPFA word (@a_ifunc - @a_base)/4 word $00A9 word (@a_exit - @a_base)/4 word @bangdNFA + $10 bangiNFA byte $82,"!i" bangiPFA word (@a_ifunc - @a_base)/4 word $00B1 word (@a_exit - @a_base)/4 word @bangiNFA + $10 bangsNFA byte $82,"!s" bangsPFA word (@a_ifunc - @a_base)/4 word $00A1 word (@a_exit - @a_base)/4 word @bangsNFA + $10 matNFA byte $82,"m@" matPFA word (@a_ifuncone - @a_base)/4 word $0011 word (@a_exit - @a_base)/4 word @matNFA + $10 catNFA byte $82,"c@" catPFA word (@a_ifuncone - @a_base)/4 word $0001 word (@a_exit - @a_base)/4 word @catNFA + $10 watNFA byte $82,"w@" watPFA word (@a_ifuncone - @a_base)/4 word $0009 word (@a_exit - @a_base)/4 word @watNFA + $10 atNFA byte $01,"@" atPFA word (@a_at - @a_base)/4 word @atNFA + $10 mbangNFA byte $82,"m!" mbangPFA word (@a_ifunctwo - @a_base)/4 word $0010 word (@a_exit - @a_base)/4 word @mbangNFA + $10 cbangNFA byte $82,"c!" cbangPFA word (@a_ifunctwo - @a_base)/4 word $0000 word (@a_exit - @a_base)/4 word @cbangNFA + $10 wbangNFA byte $82,"w!" wbangPFA word (@a_ifunctwo - @a_base)/4 word $0008 word (@a_exit - @a_base)/4 word @wbangNFA + $10 bangNFA byte $01,"!" bangPFA word (@a_bang - @a_base)/4 word @bangNFA + $10 branchNFA byte $06,"branch" branchPFA word (@a_branch - @a_base)/4 word @branchNFA + $10 hubopNFA byte $05,"hubop" hubopPFA word (@a_hubop - @a_base)/4 word @hubopNFA + $10 doconwNFA byte $06,"doconw" doconwPFA word (@a_doconw - @a_base)/4 word @doconwNFA + $10 doconNFA byte $05,"docon" doconPFA word (@a_docon - @a_base)/4 word @doconNFA + $10 dovarwNFA byte $06,"dovarw" dovarwPFA word (@a_dovarw - @a_base)/4 word @dovarwNFA + $10 dovarNFA byte $05,"dovar" dovarPFA word (@a_dovar - @a_base)/4 word @dovarNFA + $10 dropNFA byte $04,"drop" dropPFA word (@a_drop - @a_base)/4 word @dropNFA + $10 dupNFA byte $03,"dup" dupPFA word (@a_dup - @a_base)/4 word @dupNFA + $10 eqNFA byte $01,"=" eqPFA word (@a_eq - @a_base)/4 word @eqNFA + $10 exitNFA byte $04,"exit" exitPFA word (@a_exit - @a_base)/4 word @exitNFA + $10 gtNFA byte $01,">" gtPFA word (@a_gt - @a_base)/4 word @gtNFA + $10 litwNFA byte $04,"litw" litwPFA word (@a_litw - @a_base)/4 word @litwNFA + $10 literalNFA byte $07,"literal" literalPFA word (@a_literal - @a_base)/4 word @literalNFA + $10 lshiftNFA byte $86,"lshift" lshiftPFA word (@a_ifunc - @a_base)/4 word $0059 word (@a_exit - @a_base)/4 word @lshiftNFA + $10 ltNFA byte $01,"<" ltPFA word (@a_lt - @a_base)/4 word @ltNFA + $10 maxNFA byte $83,"max" maxPFA word (@a_ifunc - @a_base)/4 word $0081 word (@a_exit - @a_base)/4 word @maxNFA + $10 minNFA byte $83,"min" minPFA word (@a_ifunc - @a_base)/4 word $0089 word (@a_exit - @a_base)/4 word @minNFA + $10 minusNFA byte $81,"-" minusPFA word (@a_ifunc - @a_base)/4 word $0109 word (@a_exit - @a_base)/4 word @minusNFA + $10 orNFA byte $82,"or" orPFA word (@a_ifunc - @a_base)/4 word $00D1 word (@a_exit - @a_base)/4 word @orNFA + $10 overNFA byte $04,"over" overPFA word (@a_over - @a_base)/4 word @overNFA + $10 plusNFA byte $81,"+" plusPFA word (@a_ifunc - @a_base)/4 word $0101 word (@a_exit - @a_base)/4 word @plusNFA + $10 rotNFA byte $03,"rot" rotPFA word (@a_rot - @a_base)/4 word @rotNFA + $10 ratNFA byte $82,"r@" ratPFA word @rsPtrPFA + $10 word (@a_at - @a_base)/4 word @twoplusPFA + $10 word (@a_at - @a_base)/4 word (@a_exit - @a_base)/4 word @ratNFA + $10 rshiftNFA byte $86,"rshift" rshiftPFA word (@a_ifunc - @a_base)/4 word $0051 word (@a_exit - @a_base)/4 word @rshiftNFA + $10 rashiftNFA byte $87,"rashift" rashiftPFA word (@a_ifunc - @a_base)/4 word $0071 word (@a_exit - @a_base)/4 word @rashiftNFA + $10 rgtNFA byte $02,"r>" rgtPFA word (@a_rgt - @a_base)/4 word @rgtNFA + $10 gtrNFA byte $02,">r" gtrPFA word (@a_gtr - @a_base)/4 word @gtrNFA + $10 twogtrNFA byte $03,"2>r" twogtrPFA word (@a_twogtr - @a_base)/4 word @twogtrNFA + $10 zbranchNFA byte $07,"0branch" zbranchPFA word (@a_zbranch - @a_base)/4 word @zbranchNFA + $10 lparenlooprparenNFA byte $06,"(loop)" lparenlooprparenPFA word (@a_lparenlooprparen - @a_base)/4 word @lparenlooprparenNFA + $10 lparenpluslooprparenNFA byte $07,"(+loop)" lparenpluslooprparenPFA word (@a_lparenpluslooprparen - @a_base)/4 word @lparenpluslooprparenNFA + $10 swapNFA byte $04,"swap" swapPFA word (@a_swap - @a_base)/4 word @swapNFA + $10 umstarNFA byte $03,"um*" umstarPFA word (@a_umstar - @a_base)/4 word @umstarNFA + $10 umslashmodNFA byte $06,"um/mod" umslashmodPFA word (@a_umslashmod - @a_base)/4 word @umslashmodNFA + $10 uslashmodNFA byte $85,"u/mod" uslashmodPFA word @zPFA + $10 word (@a_swap - @a_base)/4 word (@a_umslashmod - @a_base)/4 word (@a_exit - @a_base)/4 word @uslashmodNFA + $10 xorNFA byte $83,"xor" xorPFA word (@a_ifunc - @a_base)/4 word $00D9 word (@a_exit - @a_base)/4 word @xorNFA + $10 waitcntNFA byte $87,"waitcnt" waitcntPFA word (@a_ifunc - @a_base)/4 word $01F1 word (@a_exit - @a_base)/4 word @waitcntNFA + $10 waitpeqNFA byte $87,"waitpeq" waitpeqPFA word (@a_ifunctwo - @a_base)/4 word $01E0 word (@a_exit - @a_base)/4 word @waitpeqNFA + $10 waitpneNFA byte $87,"waitpne" waitpnePFA word (@a_ifunctwo - @a_base)/4 word $01E8 word (@a_exit - @a_base)/4 word @waitpneNFA + $10 vfcogNFA byte $85,"vfcog" vfcogPFA word (@a_dup - @a_base)/4 word @ffcogPFA + $10 word @watPFA + $10 word @lfcogPFA + $10 word @watPFA + $10 word @betweenPFA + $10 word @zeqPFA + $10 word (@a_zbranch - @a_base)/4 word $0008 word (@a_drop - @a_base)/4 word @ffcogPFA + $10 word @watPFA + $10 word (@a_exit - @a_base)/4 word @vfcogNFA + $10 rebootNFA byte $86,"reboot" rebootPFA word (@a_litw - @a_base)/4 word $00FF word @zPFA + $10 word (@a_hubop - @a_base)/4 word (@a_exit - @a_base)/4 word @rebootNFA + $10 cogstopNFA byte $87,"cogstop" cogstopPFA word (@a_litw - @a_base)/4 word $0003 word (@a_hubop - @a_base)/4 word @twodropPFA + $10 word (@a_exit - @a_base)/4 word @cogstopNFA + $10 cogresetNFA byte $88,"cogreset" cogresetPFA word (@a_litw - @a_base)/4 word $0007 word @andPFA + $10 word (@a_dup - @a_base)/4 word @cogstopPFA + $10 word (@a_dup - @a_base)/4 word (@a_dup - @a_base)/4 word @cogdPFA + $10 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0100 word @zPFA + $10 word @fillPFA + $10 word (@a_litw - @a_base)/4 word $0010 word @lshiftPFA + $10 word @cm_entryPFA + $10 word (@a_litw - @a_base)/4 word $0002 word @lshiftPFA + $10 word @orPFA + $10 word @orPFA + $10 word (@a_litw - @a_base)/4 word $0002 word (@a_hubop - @a_base)/4 word @twodropPFA + $10 word @cogDebugvaluePFA + $10 word (@a_litw - @a_base)/4 word $8000 word @zPFA + $10 word (@a_twogtr - @a_base)/4 word (@a_dup - @a_base)/4 word @matPFA + $10 word (@a_zbranch - @a_base)/4 word $0004 word @leavePFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFF4 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @cogresetNFA + $10 resetNFA byte $85,"reset" resetPFA word @mydictlockPFA + $10 word @watPFA + $10 word @zgtPFA + $10 word (@a_zbranch - @a_base)/4 word $000C word (@a_litw - @a_base)/4 word $0001 word @mydictlockPFA + $10 word @wbangPFA + $10 word @freedictPFA + $10 word @cogidPFA + $10 word @cogresetPFA + $10 word (@a_exit - @a_base)/4 word @resetNFA + $10 disioNFA byte $85,"disio" disioPFA word @cogEmitptrPFA + $10 word @zPFA + $10 word (@a_swap - @a_base)/4 word @wbangPFA + $10 word (@a_exit - @a_base)/4 word @disioNFA + $10 connioNFA byte $86,"connio" connioPFA word (@a_litw - @a_base)/4 word $0007 word @andPFA + $10 word @cogInbytePFA + $10 word (@a_swap - @a_base)/4 word (@a_litw - @a_base)/4 word $0007 word @andPFA + $10 word @cogEmitptrPFA + $10 word @wbangPFA + $10 word (@a_exit - @a_base)/4 word @connioNFA + $10 gtcogNFA byte $84,">cog" gtcogPFA word @cogCONPFA + $10 word @watPFA + $10 word @disioPFA + $10 word @inCONPFA + $10 word (@a_over - @a_base)/4 word @cogEmitptrPFA + $10 word @wbangPFA + $10 word (@a_dup - @a_base)/4 word @cogInbytePFA + $10 word @outCONPFA + $10 word @wbangPFA + $10 word @cogCONPFA + $10 word @wbangPFA + $10 word (@a_exit - @a_base)/4 word @gtcogNFA + $10 cogCONNFA byte $86,"cogCON" cogCONPFA word (@a_dovarw - @a_base)/4 word $0006 word @cogCONNFA + $10 inCONNFA byte $85,"inCON" inCONPFA word (@a_dovarw - @a_base)/4 word $0100 word @inCONNFA + $10 outCONNFA byte $86,"outCON" outCONPFA word (@a_dovarw - @a_base)/4 word $0000 word @outCONNFA + $10 ctlCONNFA byte $86,"ctlCON" ctlCONPFA word (@a_dovarw - @a_base)/4 word $0000 word @ctlCONNFA + $10 clkfreqNFA byte $87,"clkfreq" clkfreqPFA word @zPFA + $10 word @matPFA + $10 word (@a_exit - @a_base)/4 word @clkfreqNFA + $10 paratNFA byte $85,"parat" paratPFA word @parPFA + $10 word (@a_at - @a_base)/4 word @plusPFA + $10 word (@a_exit - @a_base)/4 word @paratNFA + $10 cogdNFA byte $84,"cogd" cogdPFA word (@a_litw - @a_base)/4 word $0007 word @andPFA + $10 word (@a_litw - @a_base)/4 word $0008 word @lshiftPFA + $10 word @cm_cogdataPFA + $10 word @plusPFA + $10 word (@a_exit - @a_base)/4 word @cogdNFA + $10 mcwInbyteNFA byte $89,"mcwInbyte" mcwInbytePFA word @zPFA + $10 word @paratPFA + $10 word (@a_exit - @a_base)/4 word @mcwInbyteNFA + $10 cogInbyteNFA byte $89,"cogInbyte" cogInbytePFA word @cogdPFA + $10 word (@a_exit - @a_base)/4 word @cogInbyteNFA + $10 mcwEmitptrNFA byte $8A,"mcwEmitptr" mcwEmitptrPFA word (@a_litw - @a_base)/4 word $0002 word @paratPFA + $10 word (@a_exit - @a_base)/4 word @mcwEmitptrNFA + $10 cogEmitptrNFA byte $8A,"cogEmitptr" cogEmitptrPFA word @cogdPFA + $10 word @twoplusPFA + $10 word (@a_exit - @a_base)/4 word @cogEmitptrNFA + $10 mcwStateNFA byte $88,"mcwState" mcwStatePFA word (@a_litw - @a_base)/4 word $0004 word @paratPFA + $10 word (@a_exit - @a_base)/4 word @mcwStateNFA + $10 compileqNFA byte $88,"compile?" compileqPFA word @mcwStatePFA + $10 word @watPFA + $10 word @zltgtPFA + $10 word (@a_exit - @a_base)/4 word @compileqNFA + $10 mcwDebugcmdNFA byte $8B,"mcwDebugcmd" mcwDebugcmdPFA word (@a_litw - @a_base)/4 word $0006 word @paratPFA + $10 word (@a_exit - @a_base)/4 word @mcwDebugcmdNFA + $10 cogDebugcmdNFA byte $8B,"cogDebugcmd" cogDebugcmdPFA word @cogdPFA + $10 word (@a_litw - @a_base)/4 word $0006 word @plusPFA + $10 word (@a_exit - @a_base)/4 word @cogDebugcmdNFA + $10 mcwDebugvalueNFA byte $8D,"mcwDebugvalue" mcwDebugvaluePFA word (@a_litw - @a_base)/4 word $0008 word @paratPFA + $10 word (@a_exit - @a_base)/4 word @mcwDebugvalueNFA + $10 cogDebugvalueNFA byte $8D,"cogDebugvalue" cogDebugvaluePFA word @cogdPFA + $10 word (@a_litw - @a_base)/4 word $0008 word @plusPFA + $10 word (@a_exit - @a_base)/4 word @cogDebugvalueNFA + $10 mcwBaseNFA byte $87,"mcwBase" mcwBasePFA word (@a_litw - @a_base)/4 word $000C word @paratPFA + $10 word (@a_exit - @a_base)/4 word @mcwBaseNFA + $10 mcwAhereNFA byte $88,"mcwAhere" mcwAherePFA word (@a_litw - @a_base)/4 word $000E word @paratPFA + $10 word (@a_exit - @a_base)/4 word @mcwAhereNFA + $10 execwordNFA byte $88,"execword" execwordPFA word (@a_litw - @a_base)/4 word $0010 word @paratPFA + $10 word (@a_exit - @a_base)/4 word @execwordNFA + $10 executeNFA byte $87,"execute" executePFA word (@a_dup - @a_base)/4 word @fMaskPFA + $10 word (@a_at - @a_base)/4 word @andPFA + $10 word (@a_zbranch - @a_base)/4 word $000A word @IPPFA + $10 word (@a_bang - @a_base)/4 word (@a_branch - @a_base)/4 word $0014 word @execwordPFA + $10 word @wbangPFA + $10 word @ca_a_exitPFA + $10 word @execwordPFA + $10 word @twoplusPFA + $10 word @wbangPFA + $10 word @execwordPFA + $10 word @IPPFA + $10 word (@a_bang - @a_base)/4 word (@a_exit - @a_base)/4 word @executeNFA + $10 mcwgtoutNFA byte $87,"mcw>out" mcwgtoutPFA word (@a_litw - @a_base)/4 word $0014 word @paratPFA + $10 word (@a_exit - @a_base)/4 word @mcwgtoutNFA + $10 mcwgtinNFA byte $86,"mcw>in" mcwgtinPFA word (@a_litw - @a_base)/4 word $0016 word @paratPFA + $10 word (@a_exit - @a_base)/4 word @mcwgtinNFA + $10 mydictlockNFA byte $8A,"mydictlock" mydictlockPFA word (@a_litw - @a_base)/4 word $0018 word @paratPFA + $10 word (@a_exit - @a_base)/4 word @mydictlockNFA + $10 mcwFsliceptrNFA byte $8C,"mcwFsliceptr" mcwFsliceptrPFA word (@a_litw - @a_base)/4 word $001A word @paratPFA + $10 word (@a_exit - @a_base)/4 word @mcwFsliceptrNFA + $10 mcLastcntNFA byte $89,"mcLastcnt" mcLastcntPFA word (@a_litw - @a_base)/4 word $001C word @paratPFA + $10 word (@a_exit - @a_base)/4 word @mcLastcntNFA + $10 mcFslicecntNFA byte $8B,"mcFslicecnt" mcFslicecntPFA word (@a_litw - @a_base)/4 word $0020 word @paratPFA + $10 word (@a_exit - @a_base)/4 word @mcFslicecntNFA + $10 _fSlicerNFA byte $88,"_fSlicer" _fSlicerPFA word @cntPFA + $10 word (@a_at - @a_base)/4 word (@a_dup - @a_base)/4 word @mcLastcntPFA + $10 word @matPFA + $10 word @plusPFA + $10 word @mcFslicecntPFA + $10 word @matPFA + $10 word @maxPFA + $10 word @mcFslicecntPFA + $10 word @mbangPFA + $10 word @negatePFA + $10 word @mcLastcntPFA + $10 word @mbangPFA + $10 word (@a_exit - @a_base)/4 word @_fSlicerNFA + $10 _fSliceNFA byte $87,"_fSlice" _fSlicePFA word @mcwFsliceptrPFA + $10 word @watPFA + $10 word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0008 word @executePFA + $10 word (@a_branch - @a_base)/4 word $0004 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @_fSliceNFA + $10 mcPadNFA byte $85,"mcPad" mcPadPFA word (@a_litw - @a_base)/4 word $0024 word @paratPFA + $10 word (@a_exit - @a_base)/4 word @mcPadNFA + $10 cogPadNFA byte $86,"cogPad" cogPadPFA word @cogdPFA + $10 word (@a_litw - @a_base)/4 word $0024 word @plusPFA + $10 word (@a_exit - @a_base)/4 word @cogPadNFA + $10 _pclrNFA byte $85,"_pclr" _pclrPFA word (@a_dup - @a_base)/4 word @padsizePFA + $10 word @plusPFA + $10 word (@a_swap - @a_base)/4 word (@a_twogtr - @a_base)/4 word (@a_literal - @a_base)/4 long $20202020 word @iPFA + $10 word @mbangPFA + $10 word (@a_litw - @a_base)/4 word $0004 word (@a_lparenpluslooprparen - @a_base)/4 word $FFF0 word (@a_exit - @a_base)/4 word @_pclrNFA + $10 cogPadclrNFA byte $89,"cogPadclr" cogPadclrPFA word @cogPadPFA + $10 word @_pclrPFA + $10 word (@a_exit - @a_base)/4 word @cogPadclrNFA + $10 padgtinNFA byte $86,"pad>in" padgtinPFA word @mcwgtinPFA + $10 word @watPFA + $10 word @mcPadPFA + $10 word @plusPFA + $10 word (@a_exit - @a_base)/4 word @padgtinNFA + $10 namemaxNFA byte $87,"namemax" namemaxPFA word (@a_litw - @a_base)/4 word $001F word (@a_exit - @a_base)/4 word @namemaxNFA + $10 padsizeNFA byte $87,"padsize" padsizePFA word (@a_litw - @a_base)/4 word $0080 word (@a_exit - @a_base)/4 word @padsizeNFA + $10 mcwTzNFA byte $85,"mcwT0" mcwTzPFA word (@a_litw - @a_base)/4 word $00A4 word @paratPFA + $10 word (@a_exit - @a_base)/4 word @mcwTzNFA + $10 mcwToneNFA byte $85,"mcwT1" mcwTonePFA word (@a_litw - @a_base)/4 word $00A6 word @paratPFA + $10 word (@a_exit - @a_base)/4 word @mcwToneNFA + $10 mcTNFA byte $83,"mcT" mcTPFA word (@a_litw - @a_base)/4 word $00A8 word @paratPFA + $10 word (@a_exit - @a_base)/4 word @mcTNFA + $10 mcNumpadNFA byte $88,"mcNumpad" mcNumpadPFA word (@a_litw - @a_base)/4 word $00C0 word @paratPFA + $10 word (@a_exit - @a_base)/4 word @mcNumpadNFA + $10 padgtoutNFA byte $87,"pad>out" padgtoutPFA word @mcwgtoutPFA + $10 word @watPFA + $10 word @mcNumpadPFA + $10 word @plusPFA + $10 word (@a_exit - @a_base)/4 word @padgtoutNFA + $10 numpadsizeNFA byte $8A,"numpadsize" numpadsizePFA word (@a_litw - @a_base)/4 word $0030 word (@a_exit - @a_base)/4 word @numpadsizeNFA + $10 keytoNFA byte $85,"keyto" keytoPFA word @zPFA + $10 word @mswKeyTOPFA + $10 word @watPFA + $10 word @zPFA + $10 word (@a_twogtr - @a_base)/4 word @keyqPFA + $10 word (@a_zbranch - @a_base)/4 word $000A word (@a_drop - @a_base)/4 word @keyPFA + $10 word @minusonePFA + $10 word @leavePFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFF0 word (@a_exit - @a_base)/4 word @keytoNFA + $10 emitqNFA byte $85,"emit?" emitqPFA word @_fSlicePFA + $10 word @mcwEmitptrPFA + $10 word @watPFA + $10 word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0010 word @watPFA + $10 word (@a_litw - @a_base)/4 word $0100 word @andPFA + $10 word @zltgtPFA + $10 word (@a_branch - @a_base)/4 word $0006 word (@a_drop - @a_base)/4 word @minusonePFA + $10 word (@a_exit - @a_base)/4 word @emitqNFA + $10 emitNFA byte $84,"emit" emitPFA word @emitqPFA + $10 word (@a_zbranch - @a_base)/4 word $FFFC word (@a_litw - @a_base)/4 word $00FF word @andPFA + $10 word @mcwEmitptrPFA + $10 word @watPFA + $10 word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0008 word @wbangPFA + $10 word (@a_branch - @a_base)/4 word $0004 word @twodropPFA + $10 word (@a_exit - @a_base)/4 word @emitNFA + $10 keyqNFA byte $84,"key?" keyqPFA word @_fSlicePFA + $10 word @mcwInbytePFA + $10 word @watPFA + $10 word (@a_litw - @a_base)/4 word $0100 word @andPFA + $10 word @zeqPFA + $10 word (@a_exit - @a_base)/4 word @keyqNFA + $10 keyNFA byte $83,"key" keyPFA word @keyqPFA + $10 word (@a_zbranch - @a_base)/4 word $FFFC word @mcwInbytePFA + $10 word @watPFA + $10 word (@a_litw - @a_base)/4 word $0100 word @mcwInbytePFA + $10 word @wbangPFA + $10 word (@a_exit - @a_base)/4 word @keyNFA + $10 fkeyqNFA byte $85,"fkey?" fkeyqPFA word @mcwInbytePFA + $10 word @watPFA + $10 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0100 word @andPFA + $10 word (@a_zbranch - @a_base)/4 word $0008 word @zPFA + $10 word (@a_branch - @a_base)/4 word $000C word (@a_litw - @a_base)/4 word $0100 word @mcwInbytePFA + $10 word @wbangPFA + $10 word @minusonePFA + $10 word (@a_exit - @a_base)/4 word @fkeyqNFA + $10 nipNFA byte $83,"nip" nipPFA word (@a_swap - @a_base)/4 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @nipNFA + $10 tuckNFA byte $84,"tuck" tuckPFA word (@a_swap - @a_base)/4 word (@a_over - @a_base)/4 word (@a_exit - @a_base)/4 word @tuckNFA + $10 twodupNFA byte $84,"2dup" twodupPFA word (@a_over - @a_base)/4 word (@a_over - @a_base)/4 word (@a_exit - @a_base)/4 word @twodupNFA + $10 twodropNFA byte $85,"2drop" twodropPFA word (@a_drop - @a_base)/4 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @twodropNFA + $10 threedropNFA byte $85,"3drop" threedropPFA word (@a_drop - @a_base)/4 word (@a_drop - @a_base)/4 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @threedropNFA + $10 uslashNFA byte $82,"u/" uslashPFA word @uslashmodPFA + $10 word @nipPFA + $10 word (@a_exit - @a_base)/4 word @uslashNFA + $10 ustarNFA byte $82,"u*" ustarPFA word (@a_umstar - @a_base)/4 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @ustarNFA + $10 invertNFA byte $86,"invert" invertPFA word @minusonePFA + $10 word @xorPFA + $10 word (@a_exit - @a_base)/4 word @invertNFA + $10 negateNFA byte $86,"negate" negatePFA word (@a_ifuncone - @a_base)/4 word $0149 word (@a_exit - @a_base)/4 word @negateNFA + $10 zeqNFA byte $82,"0=" zeqPFA word @zPFA + $10 word (@a_eq - @a_base)/4 word (@a_exit - @a_base)/4 word @zeqNFA + $10 ltgtNFA byte $82,"<>" ltgtPFA word (@a_eq - @a_base)/4 word @invertPFA + $10 word (@a_exit - @a_base)/4 word @ltgtNFA + $10 zltgtNFA byte $83,"0<>" zltgtPFA word @zeqPFA + $10 word @invertPFA + $10 word (@a_exit - @a_base)/4 word @zltgtNFA + $10 zltNFA byte $82,"0<" zltPFA word @zPFA + $10 word (@a_lt - @a_base)/4 word (@a_exit - @a_base)/4 word @zltNFA + $10 zgtNFA byte $82,"0>" zgtPFA word @zPFA + $10 word (@a_gt - @a_base)/4 word (@a_exit - @a_base)/4 word @zgtNFA + $10 oneplusNFA byte $82,"1+" oneplusPFA word (@a_litw - @a_base)/4 word $0001 word @plusPFA + $10 word (@a_exit - @a_base)/4 word @oneplusNFA + $10 oneminusNFA byte $82,"1-" oneminusPFA word (@a_litw - @a_base)/4 word $0001 word @minusPFA + $10 word (@a_exit - @a_base)/4 word @oneminusNFA + $10 twoplusNFA byte $82,"2+" twoplusPFA word (@a_litw - @a_base)/4 word $0002 word @plusPFA + $10 word (@a_exit - @a_base)/4 word @twoplusNFA + $10 fourplusNFA byte $82,"4+" fourplusPFA word (@a_litw - @a_base)/4 word $0004 word @plusPFA + $10 word (@a_exit - @a_base)/4 word @fourplusNFA + $10 twominusNFA byte $82,"2-" twominusPFA word (@a_litw - @a_base)/4 word $0002 word @minusPFA + $10 word (@a_exit - @a_base)/4 word @twominusNFA + $10 twostarNFA byte $82,"2*" twostarPFA word (@a_litw - @a_base)/4 word $0001 word @lshiftPFA + $10 word (@a_exit - @a_base)/4 word @twostarNFA + $10 twoslashNFA byte $82,"2/" twoslashPFA word (@a_litw - @a_base)/4 word $0001 word @rashiftPFA + $10 word (@a_exit - @a_base)/4 word @twoslashNFA + $10 rottwoNFA byte $84,"rot2" rottwoPFA word (@a_rot - @a_base)/4 word (@a_rot - @a_base)/4 word (@a_exit - @a_base)/4 word @rottwoNFA + $10 gteqNFA byte $82,">=" gteqPFA word @twodupPFA + $10 word (@a_gt - @a_base)/4 word @rottwoPFA + $10 word (@a_eq - @a_base)/4 word @orPFA + $10 word (@a_exit - @a_base)/4 word @gteqNFA + $10 lteqNFA byte $82,"<=" lteqPFA word @twodupPFA + $10 word (@a_lt - @a_base)/4 word @rottwoPFA + $10 word (@a_eq - @a_base)/4 word @orPFA + $10 word (@a_exit - @a_base)/4 word @lteqNFA + $10 zgteqNFA byte $83,"0>=" zgteqPFA word (@a_dup - @a_base)/4 word @zPFA + $10 word (@a_gt - @a_base)/4 word (@a_swap - @a_base)/4 word @zeqPFA + $10 word @orPFA + $10 word (@a_exit - @a_base)/4 word @zgteqNFA + $10 wplusbangNFA byte $83,"w+!" wplusbangPFA word (@a_dup - @a_base)/4 word @watPFA + $10 word (@a_rot - @a_base)/4 word @plusPFA + $10 word (@a_swap - @a_base)/4 word @wbangPFA + $10 word (@a_exit - @a_base)/4 word @wplusbangNFA + $10 orcbangNFA byte $84,"orc!" orcbangPFA word (@a_dup - @a_base)/4 word @catPFA + $10 word (@a_rot - @a_base)/4 word @orPFA + $10 word (@a_swap - @a_base)/4 word @cbangPFA + $10 word (@a_exit - @a_base)/4 word @orcbangNFA + $10 andcbangNFA byte $85,"andc!" andcbangPFA word (@a_dup - @a_base)/4 word @catPFA + $10 word (@a_rot - @a_base)/4 word @andPFA + $10 word (@a_swap - @a_base)/4 word @cbangPFA + $10 word (@a_exit - @a_base)/4 word @andcbangNFA + $10 betweenNFA byte $87,"between" betweenPFA word @rottwoPFA + $10 word (@a_over - @a_base)/4 word @lteqPFA + $10 word @rottwoPFA + $10 word @gteqPFA + $10 word @andPFA + $10 word (@a_exit - @a_base)/4 word @betweenNFA + $10 crNFA byte $82,"cr" crPFA word (@a_litw - @a_base)/4 word $000D word @emitPFA + $10 word (@a_exit - @a_base)/4 word @crNFA + $10 spaceNFA byte $85,"space" spacePFA word @blPFA + $10 word @emitPFA + $10 word (@a_exit - @a_base)/4 word @spaceNFA + $10 spacesNFA byte $86,"spaces" spacesPFA word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0010 word @zPFA + $10 word (@a_twogtr - @a_base)/4 word @spacePFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFFC word (@a_branch - @a_base)/4 word $0004 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @spacesNFA + $10 dothexNFA byte $84,".hex" dothexPFA word (@a_litw - @a_base)/4 word $000F word @andPFA + $10 word (@a_litw - @a_base)/4 word $0030 word @plusPFA + $10 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0039 word (@a_gt - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0008 word (@a_litw - @a_base)/4 word $0007 word @plusPFA + $10 word @emitPFA + $10 word (@a_exit - @a_base)/4 word @dothexNFA + $10 dotbyteNFA byte $85,".byte" dotbytePFA word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0004 word @rshiftPFA + $10 word @dothexPFA + $10 word @dothexPFA + $10 word (@a_exit - @a_base)/4 word @dotbyteNFA + $10 dotwordNFA byte $85,".word" dotwordPFA word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0008 word @rshiftPFA + $10 word @dotbytePFA + $10 word @dotbytePFA + $10 word (@a_exit - @a_base)/4 word @dotwordNFA + $10 dotlongNFA byte $85,".long" dotlongPFA word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0010 word @rshiftPFA + $10 word @dotwordPFA + $10 word @dotwordPFA + $10 word (@a_exit - @a_base)/4 word @dotlongNFA + $10 boundsNFA byte $86,"bounds" boundsPFA word (@a_over - @a_base)/4 word @plusPFA + $10 word (@a_swap - @a_base)/4 word (@a_exit - @a_base)/4 word @boundsNFA + $10 alignlNFA byte $86,"alignl" alignlPFA word (@a_litw - @a_base)/4 word $0003 word @plusPFA + $10 word (@a_literal - @a_base)/4 long $FFFFFFFC word @andPFA + $10 word (@a_exit - @a_base)/4 word @alignlNFA + $10 alignwNFA byte $86,"alignw" alignwPFA word @oneplusPFA + $10 word (@a_literal - @a_base)/4 long $FFFFFFFE word @andPFA + $10 word (@a_exit - @a_base)/4 word @alignwNFA + $10 catplusplusNFA byte $84,"c@++" catplusplusPFA word (@a_dup - @a_base)/4 word @catPFA + $10 word (@a_swap - @a_base)/4 word @oneplusPFA + $10 word (@a_swap - @a_base)/4 word (@a_exit - @a_base)/4 word @catplusplusNFA + $10 ctolowerNFA byte $88,"ctolower" ctolowerPFA word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0041 word (@a_litw - @a_base)/4 word $005A word @betweenPFA + $10 word (@a_zbranch - @a_base)/4 word $0008 word (@a_litw - @a_base)/4 word $0020 word @orPFA + $10 word (@a_exit - @a_base)/4 word @ctolowerNFA + $10 ctoupperNFA byte $88,"ctoupper" ctoupperPFA word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0061 word (@a_litw - @a_base)/4 word $007A word @betweenPFA + $10 word (@a_zbranch - @a_base)/4 word $0008 word (@a_litw - @a_base)/4 word $00DF word @andPFA + $10 word (@a_exit - @a_base)/4 word @ctoupperNFA + $10 todigitNFA byte $87,"todigit" todigitPFA word @ctoupperPFA + $10 word (@a_litw - @a_base)/4 word $0030 word @minusPFA + $10 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0009 word (@a_gt - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0016 word (@a_litw - @a_base)/4 word $0007 word @minusPFA + $10 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $000A word (@a_lt - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0004 word @minusonePFA + $10 word (@a_exit - @a_base)/4 word @todigitNFA + $10 isdigitNFA byte $87,"isdigit" isdigitPFA word @todigitPFA + $10 word (@a_dup - @a_base)/4 word @zgteqPFA + $10 word (@a_swap - @a_base)/4 word @mcwBasePFA + $10 word @watPFA + $10 word (@a_lt - @a_base)/4 word @andPFA + $10 word (@a_exit - @a_base)/4 word @isdigitNFA + $10 isunumberNFA byte $89,"isunumber" isunumberPFA word @boundsPFA + $10 word @minusonePFA + $10 word @rottwoPFA + $10 word (@a_twogtr - @a_base)/4 word @iPFA + $10 word @catPFA + $10 word @isdigitPFA + $10 word @andPFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFF6 word (@a_exit - @a_base)/4 word @isunumberNFA + $10 unumberNFA byte $87,"unumber" unumberPFA word @boundsPFA + $10 word @zPFA + $10 word @rottwoPFA + $10 word (@a_twogtr - @a_base)/4 word @mcwBasePFA + $10 word @watPFA + $10 word @ustarPFA + $10 word @iPFA + $10 word @catPFA + $10 word @todigitPFA + $10 word @plusPFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFF0 word (@a_exit - @a_base)/4 word @unumberNFA + $10 numberNFA byte $86,"number" numberPFA word (@a_over - @a_base)/4 word @catPFA + $10 word (@a_litw - @a_base)/4 word $002D word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0016 word @oneminusPFA + $10 word @zPFA + $10 word @maxPFA + $10 word (@a_swap - @a_base)/4 word @oneplusPFA + $10 word (@a_swap - @a_base)/4 word @unumberPFA + $10 word @negatePFA + $10 word (@a_branch - @a_base)/4 word $0004 word @unumberPFA + $10 word (@a_exit - @a_base)/4 word @numberNFA + $10 isnumberNFA byte $88,"isnumber" isnumberPFA word (@a_over - @a_base)/4 word @catPFA + $10 word (@a_litw - @a_base)/4 word $002D word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $000E word @oneminusPFA + $10 word @zPFA + $10 word @maxPFA + $10 word (@a_swap - @a_base)/4 word @oneplusPFA + $10 word (@a_swap - @a_base)/4 word @isunumberPFA + $10 word (@a_exit - @a_base)/4 word @isnumberNFA + $10 dotstrNFA byte $84,".str" dotstrPFA word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0020 word @boundsPFA + $10 word (@a_twogtr - @a_base)/4 word @iPFA + $10 word @catPFA + $10 word (@a_litw - @a_base)/4 word $0020 word @maxPFA + $10 word (@a_litw - @a_base)/4 word $007F word @minPFA + $10 word @emitPFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFEC word (@a_branch - @a_base)/4 word $0004 word @twodropPFA + $10 word (@a_exit - @a_base)/4 word @dotstrNFA + $10 npfxNFA byte $84,"npfx" npfxPFA word @namelenPFA + $10 word (@a_rot - @a_base)/4 word @namelenPFA + $10 word (@a_rot - @a_base)/4 word @twodupPFA + $10 word (@a_gt - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0024 word @minPFA + $10 word @boundsPFA + $10 word (@a_twogtr - @a_base)/4 word @catplusplusPFA + $10 word @iPFA + $10 word @catPFA + $10 word @ltgtPFA + $10 word (@a_zbranch - @a_base)/4 word $0008 word (@a_drop - @a_base)/4 word @zPFA + $10 word @leavePFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFEC word @zltgtPFA + $10 word (@a_branch - @a_base)/4 word $0008 word @twodropPFA + $10 word @twodropPFA + $10 word @zPFA + $10 word (@a_exit - @a_base)/4 word @npfxNFA + $10 namelenNFA byte $87,"namelen" namelenPFA word @catplusplusPFA + $10 word @namemaxPFA + $10 word @andPFA + $10 word (@a_exit - @a_base)/4 word @namelenNFA + $10 cmoveNFA byte $85,"cmove" cmovePFA word (@a_dup - @a_base)/4 word @zeqPFA + $10 word (@a_zbranch - @a_base)/4 word $0008 word @threedropPFA + $10 word (@a_branch - @a_base)/4 word $0010 word @boundsPFA + $10 word (@a_twogtr - @a_base)/4 word @catplusplusPFA + $10 word @iPFA + $10 word @cbangPFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFF8 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @cmoveNFA + $10 namecopyNFA byte $88,"namecopy" namecopyPFA word (@a_over - @a_base)/4 word @namelenPFA + $10 word @oneplusPFA + $10 word @nipPFA + $10 word @cmovePFA + $10 word (@a_exit - @a_base)/4 word @namecopyNFA + $10 ccopyNFA byte $85,"ccopy" ccopyPFA word (@a_over - @a_base)/4 word @catPFA + $10 word @oneplusPFA + $10 word @cmovePFA + $10 word (@a_exit - @a_base)/4 word @ccopyNFA + $10 cappendNFA byte $87,"cappend" cappendPFA word (@a_dup - @a_base)/4 word (@a_dup - @a_base)/4 word @catPFA + $10 word @plusPFA + $10 word @oneplusPFA + $10 word @rottwoPFA + $10 word (@a_over - @a_base)/4 word @catPFA + $10 word (@a_over - @a_base)/4 word @catPFA + $10 word @plusPFA + $10 word (@a_swap - @a_base)/4 word @cbangPFA + $10 word (@a_dup - @a_base)/4 word @catPFA + $10 word (@a_swap - @a_base)/4 word @oneplusPFA + $10 word @rottwoPFA + $10 word @cmovePFA + $10 word (@a_exit - @a_base)/4 word @cappendNFA + $10 cappendcNFA byte $88,"cappendc" cappendcPFA word (@a_dup - @a_base)/4 word @catPFA + $10 word @oneplusPFA + $10 word (@a_over - @a_base)/4 word @cbangPFA + $10 word (@a_dup - @a_base)/4 word @catPFA + $10 word @plusPFA + $10 word @cbangPFA + $10 word (@a_exit - @a_base)/4 word @cappendcNFA + $10 cappendnNFA byte $88,"cappendn" cappendnPFA word (@a_swap - @a_base)/4 word @lthashPFA + $10 word @hashsPFA + $10 word @hashgtPFA + $10 word (@a_swap - @a_base)/4 word @cappendPFA + $10 word (@a_exit - @a_base)/4 word @cappendnNFA + $10 cappendncNFA byte $89,"cappendnc" cappendncPFA word (@a_swap - @a_base)/4 word @lthashPFA + $10 word @hashsPFA + $10 word @hashgtPFA + $10 word (@a_over - @a_base)/4 word @cappendPFA + $10 word @blPFA + $10 word (@a_swap - @a_base)/4 word @cappendcPFA + $10 word (@a_exit - @a_base)/4 word @cappendncNFA + $10 cogXNFA byte $84,"cogX" cogXPFA word @vfcogPFA + $10 word (@a_dup - @a_base)/4 word @cogInbytePFA + $10 word (@a_dup - @a_base)/4 word @watPFA + $10 word (@a_litw - @a_base)/4 word $0100 word @andPFA + $10 word (@a_zbranch - @a_base)/4 word $FFF4 word @rottwoPFA + $10 word (@a_dup - @a_base)/4 word @cogPadclrPFA + $10 word @cogPadPFA + $10 word @oneplusPFA + $10 word (@a_swap - @a_base)/4 word @catplusplusPFA + $10 word (@a_rot - @a_base)/4 word (@a_swap - @a_base)/4 word @cmovePFA + $10 word (@a_litw - @a_base)/4 word $000D word (@a_swap - @a_base)/4 word @wbangPFA + $10 word (@a_exit - @a_base)/4 word @cogXNFA + $10 cogXONFA byte $85,"cogXO" cogXOPFA word @zPFA + $10 word @outCONPFA + $10 word @wbangPFA + $10 word @cogidPFA + $10 word (@a_dup - @a_base)/4 word @oneplusPFA + $10 word @vfcogPFA + $10 word (@a_dup - @a_base)/4 word (@a_rot - @a_base)/4 word @connioPFA + $10 word @cogXPFA + $10 word (@a_exit - @a_base)/4 word @cogXONFA + $10 qqqNFA byte $83,"???" qqqPFA word @dqPFA + $10 byte $03,"???" word (@a_exit - @a_base)/4 word @qqqNFA + $10 dotstrnameNFA byte $88,".strname" dotstrnamePFA word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $000A word @namelenPFA + $10 word @dotstrPFA + $10 word (@a_branch - @a_base)/4 word $0006 word (@a_drop - @a_base)/4 word @qqqPFA + $10 word (@a_exit - @a_base)/4 word @dotstrnameNFA + $10 dotcstrNFA byte $85,".cstr" dotcstrPFA word @catplusplusPFA + $10 word @dotstrPFA + $10 word (@a_exit - @a_base)/4 word @dotcstrNFA + $10 dqNFA byte $82,"dq" dqPFA word (@a_rgt - @a_base)/4 word @catplusplusPFA + $10 word @twodupPFA + $10 word @plusPFA + $10 word @alignwPFA + $10 word (@a_gtr - @a_base)/4 word @dotstrPFA + $10 word (@a_exit - @a_base)/4 word @dqNFA + $10 iNFA byte $81,"i" iPFA word @rsPtrPFA + $10 word (@a_at - @a_base)/4 word (@a_litw - @a_base)/4 word $0003 word @plusPFA + $10 word (@a_at - @a_base)/4 word (@a_exit - @a_base)/4 word @iNFA + $10 jNFA byte $81,"j" jPFA word @rsPtrPFA + $10 word (@a_at - @a_base)/4 word (@a_litw - @a_base)/4 word $0005 word @plusPFA + $10 word (@a_at - @a_base)/4 word (@a_exit - @a_base)/4 word @jNFA + $10 iboundNFA byte $86,"ibound" iboundPFA word @rsPtrPFA + $10 word (@a_at - @a_base)/4 word @twoplusPFA + $10 word (@a_at - @a_base)/4 word (@a_exit - @a_base)/4 word @iboundNFA + $10 jboundNFA byte $86,"jbound" jboundPFA word @rsPtrPFA + $10 word (@a_at - @a_base)/4 word @fourplusPFA + $10 word (@a_at - @a_base)/4 word (@a_exit - @a_base)/4 word @jboundNFA + $10 lastiqNFA byte $86,"lasti?" lastiqPFA word @rsPtrPFA + $10 word (@a_at - @a_base)/4 word @twoplusPFA + $10 word (@a_at - @a_base)/4 word @oneminusPFA + $10 word @rsPtrPFA + $10 word (@a_at - @a_base)/4 word (@a_litw - @a_base)/4 word $0003 word @plusPFA + $10 word (@a_at - @a_base)/4 word (@a_eq - @a_base)/4 word (@a_exit - @a_base)/4 word @lastiqNFA + $10 lastjqNFA byte $86,"lastj?" lastjqPFA word @rsPtrPFA + $10 word (@a_at - @a_base)/4 word @fourplusPFA + $10 word (@a_at - @a_base)/4 word @oneminusPFA + $10 word @rsPtrPFA + $10 word (@a_at - @a_base)/4 word (@a_litw - @a_base)/4 word $0005 word @plusPFA + $10 word (@a_at - @a_base)/4 word (@a_eq - @a_base)/4 word (@a_exit - @a_base)/4 word @lastjqNFA + $10 setiNFA byte $84,"seti" setiPFA word @rsPtrPFA + $10 word (@a_at - @a_base)/4 word (@a_litw - @a_base)/4 word $0003 word @plusPFA + $10 word (@a_bang - @a_base)/4 word (@a_exit - @a_base)/4 word @setiNFA + $10 setjNFA byte $84,"setj" setjPFA word @rsPtrPFA + $10 word (@a_at - @a_base)/4 word (@a_litw - @a_base)/4 word $0005 word @plusPFA + $10 word (@a_bang - @a_base)/4 word (@a_exit - @a_base)/4 word @setjNFA + $10 eolqNFA byte $84,"eol?" eolqPFA word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $000A word (@a_eq - @a_base)/4 word (@a_over - @a_base)/4 word (@a_litw - @a_base)/4 word $000D word (@a_eq - @a_base)/4 word @orPFA + $10 word (@a_exit - @a_base)/4 word @eolqNFA + $10 bsqNFA byte $83,"bs?" bsqPFA word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0008 word (@a_eq - @a_base)/4 word (@a_over - @a_base)/4 word (@a_litw - @a_base)/4 word $007F word (@a_eq - @a_base)/4 word @orPFA + $10 word (@a_exit - @a_base)/4 word @bsqNFA + $10 fillNFA byte $84,"fill" fillPFA word @rottwoPFA + $10 word @boundsPFA + $10 word (@a_twogtr - @a_base)/4 word (@a_dup - @a_base)/4 word @iPFA + $10 word @cbangPFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFF8 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @fillNFA + $10 nfagtlfaNFA byte $87,"nfa>lfa" nfagtlfaPFA word @twominusPFA + $10 word (@a_exit - @a_base)/4 word @nfagtlfaNFA + $10 nfagtpfaNFA byte $87,"nfa>pfa" nfagtpfaPFA word (@a_litw - @a_base)/4 word $7FFF word @andPFA + $10 word @namelenPFA + $10 word @plusPFA + $10 word @alignwPFA + $10 word (@a_exit - @a_base)/4 word @nfagtpfaNFA + $10 nfagtnextNFA byte $88,"nfa>next" nfagtnextPFA word @nfagtlfaPFA + $10 word @watPFA + $10 word (@a_exit - @a_base)/4 word @nfagtnextNFA + $10 lastnfaNFA byte $87,"lastnfa" lastnfaPFA word @mswlastnfaPFA + $10 word @watPFA + $10 word (@a_exit - @a_base)/4 word @lastnfaNFA + $10 fnamecharqNFA byte $8A,"fnamechar?" fnamecharqPFA word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0020 word (@a_gt - @a_base)/4 word (@a_swap - @a_base)/4 word (@a_litw - @a_base)/4 word $007F word (@a_lt - @a_base)/4 word @andPFA + $10 word (@a_exit - @a_base)/4 word @fnamecharqNFA + $10 fpfagtnfaNFA byte $88,"fpfa>nfa" fpfagtnfaPFA word (@a_litw - @a_base)/4 word $7FFF word @andPFA + $10 word @oneminusPFA + $10 word @oneminusPFA + $10 word (@a_dup - @a_base)/4 word @catPFA + $10 word @fnamecharqPFA + $10 word @zeqPFA + $10 word (@a_zbranch - @a_base)/4 word $FFF4 word (@a_exit - @a_base)/4 word @fpfagtnfaNFA + $10 apfagtnfaNFA byte $88,"apfa>nfa" apfagtnfaPFA word @lastnfaPFA + $10 word @twodupPFA + $10 word @nfagtpfaPFA + $10 word @watPFA + $10 word (@a_eq - @a_base)/4 word (@a_over - @a_base)/4 word @catPFA + $10 word (@a_litw - @a_base)/4 word $0080 word @andPFA + $10 word @zeqPFA + $10 word @andPFA + $10 word (@a_zbranch - @a_base)/4 word $0008 word @minusonePFA + $10 word (@a_branch - @a_base)/4 word $0008 word @nfagtnextPFA + $10 word (@a_dup - @a_base)/4 word @zeqPFA + $10 word (@a_zbranch - @a_base)/4 word $FFD8 word @nipPFA + $10 word (@a_exit - @a_base)/4 word @apfagtnfaNFA + $10 pfagtnfaNFA byte $87,"pfa>nfa" pfagtnfaPFA word (@a_dup - @a_base)/4 word @fMaskPFA + $10 word (@a_at - @a_base)/4 word @andPFA + $10 word (@a_zbranch - @a_base)/4 word $0008 word @fpfagtnfaPFA + $10 word (@a_branch - @a_base)/4 word $0004 word @apfagtnfaPFA + $10 word (@a_exit - @a_base)/4 word @pfagtnfaNFA + $10 acceptNFA byte $86,"accept" acceptPFA word (@a_litw - @a_base)/4 word $0003 word @maxPFA + $10 word @twodupPFA + $10 word @blPFA + $10 word @fillPFA + $10 word @oneminusPFA + $10 word (@a_swap - @a_base)/4 word @oneplusPFA + $10 word (@a_swap - @a_base)/4 word @boundsPFA + $10 word @zPFA + $10 word @keyPFA + $10 word @eolqPFA + $10 word (@a_zbranch - @a_base)/4 word $000C word @crPFA + $10 word (@a_drop - @a_base)/4 word @minusonePFA + $10 word (@a_branch - @a_base)/4 word $0052 word @bsqPFA + $10 word (@a_zbranch - @a_base)/4 word $002E word (@a_drop - @a_base)/4 word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0020 word (@a_litw - @a_base)/4 word $0008 word @emitPFA + $10 word @blPFA + $10 word @emitPFA + $10 word (@a_litw - @a_base)/4 word $0008 word @emitPFA + $10 word @oneminusPFA + $10 word (@a_swap - @a_base)/4 word @oneminusPFA + $10 word @blPFA + $10 word (@a_over - @a_base)/4 word @cbangPFA + $10 word (@a_swap - @a_base)/4 word @zPFA + $10 word (@a_branch - @a_base)/4 word $0020 word @blPFA + $10 word @maxPFA + $10 word (@a_dup - @a_base)/4 word @emitPFA + $10 word (@a_swap - @a_base)/4 word (@a_gtr - @a_base)/4 word (@a_over - @a_base)/4 word @cbangPFA + $10 word @oneplusPFA + $10 word @twodupPFA + $10 word @oneplusPFA + $10 word (@a_eq - @a_base)/4 word (@a_rgt - @a_base)/4 word @oneplusPFA + $10 word (@a_swap - @a_base)/4 word (@a_zbranch - @a_base)/4 word $FF9C word @nipPFA + $10 word @nipPFA + $10 word (@a_exit - @a_base)/4 word @acceptNFA + $10 parseNFA byte $85,"parse" parsePFA word @padsizePFA + $10 word @mcwgtinPFA + $10 word @watPFA + $10 word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0008 word @zPFA + $10 word (@a_branch - @a_base)/4 word $0020 word @zPFA + $10 word @twodupPFA + $10 word @padgtinPFA + $10 word @plusPFA + $10 word @catPFA + $10 word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0008 word @minusonePFA + $10 word (@a_branch - @a_base)/4 word $0006 word @oneplusPFA + $10 word @zPFA + $10 word (@a_zbranch - @a_base)/4 word $FFE6 word @nipPFA + $10 word (@a_exit - @a_base)/4 word @parseNFA + $10 skipblNFA byte $86,"skipbl" skipblPFA word @padgtinPFA + $10 word @catPFA + $10 word @blPFA + $10 word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0016 word @mcwgtinPFA + $10 word @watPFA + $10 word @oneplusPFA + $10 word (@a_dup - @a_base)/4 word @mcwgtinPFA + $10 word @wbangPFA + $10 word @padsizePFA + $10 word (@a_eq - @a_base)/4 word (@a_branch - @a_base)/4 word $0004 word @minusonePFA + $10 word (@a_zbranch - @a_base)/4 word $FFDC word (@a_exit - @a_base)/4 word @skipblNFA + $10 nextwordNFA byte $88,"nextword" nextwordPFA word @padsizePFA + $10 word @mcwgtinPFA + $10 word @watPFA + $10 word (@a_gt - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0012 word @padgtinPFA + $10 word @catPFA + $10 word @mcwgtinPFA + $10 word @watPFA + $10 word @plusPFA + $10 word @oneplusPFA + $10 word @mcwgtinPFA + $10 word @wbangPFA + $10 word (@a_exit - @a_base)/4 word @nextwordNFA + $10 parsewordNFA byte $89,"parseword" parsewordPFA word @skipblPFA + $10 word @parsePFA + $10 word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0014 word @mcwgtinPFA + $10 word @watPFA + $10 word @oneminusPFA + $10 word @twodupPFA + $10 word @mcPadPFA + $10 word @plusPFA + $10 word @cbangPFA + $10 word @mcwgtinPFA + $10 word @wbangPFA + $10 word (@a_exit - @a_base)/4 word @parsewordNFA + $10 parseblNFA byte $87,"parsebl" parseblPFA word @blPFA + $10 word @parsewordPFA + $10 word @zltgtPFA + $10 word (@a_exit - @a_base)/4 word @parseblNFA + $10 padnwNFA byte $85,"padnw" padnwPFA word @nextwordPFA + $10 word @parseblPFA + $10 word (@a_exit - @a_base)/4 word @padnwNFA + $10 parsenwNFA byte $87,"parsenw" parsenwPFA word @parseblPFA + $10 word (@a_zbranch - @a_base)/4 word $000A word @padgtinPFA + $10 word @nextwordPFA + $10 word (@a_branch - @a_base)/4 word $0004 word @zPFA + $10 word (@a_exit - @a_base)/4 word @parsenwNFA + $10 padclrNFA byte $86,"padclr" padclrPFA word @padnwPFA + $10 word @zeqPFA + $10 word (@a_zbranch - @a_base)/4 word $FFFA word (@a_exit - @a_base)/4 word @padclrNFA + $10 findNFA byte $84,"find" findPFA word @lastnfaPFA + $10 word (@a_over - @a_base)/4 word (@a_fin - @a_base)/4 word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0048 word @nipPFA + $10 word (@a_dup - @a_base)/4 word @nfagtpfaPFA + $10 word (@a_over - @a_base)/4 word @catPFA + $10 word (@a_litw - @a_base)/4 word $0080 word @andPFA + $10 word @zeqPFA + $10 word (@a_zbranch - @a_base)/4 word $0004 word @watPFA + $10 word (@a_swap - @a_base)/4 word @catPFA + $10 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0040 word @andPFA + $10 word (@a_zbranch - @a_base)/4 word $001C word (@a_litw - @a_base)/4 word $0020 word @andPFA + $10 word (@a_zbranch - @a_base)/4 word $000A word (@a_litw - @a_base)/4 word $0002 word (@a_branch - @a_base)/4 word $0006 word (@a_litw - @a_base)/4 word $0001 word (@a_branch - @a_base)/4 word $0006 word (@a_drop - @a_base)/4 word @minusonePFA + $10 word (@a_exit - @a_base)/4 word @findNFA + $10 lthashNFA byte $82,"<#" lthashPFA word @numpadsizePFA + $10 word @mcwgtoutPFA + $10 word @wbangPFA + $10 word (@a_exit - @a_base)/4 word @lthashNFA + $10 hashgtNFA byte $82,"#>" hashgtPFA word (@a_drop - @a_base)/4 word @numpadsizePFA + $10 word @mcwgtoutPFA + $10 word @watPFA + $10 word @minusPFA + $10 word @minusonePFA + $10 word @mcwgtoutPFA + $10 word @wplusbangPFA + $10 word @padgtoutPFA + $10 word @cbangPFA + $10 word @padgtoutPFA + $10 word (@a_exit - @a_base)/4 word @hashgtNFA + $10 tocharNFA byte $86,"tochar" tocharPFA word (@a_litw - @a_base)/4 word $001F word @andPFA + $10 word (@a_litw - @a_base)/4 word $0030 word @plusPFA + $10 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0039 word (@a_gt - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0008 word (@a_litw - @a_base)/4 word $0007 word @plusPFA + $10 word (@a_exit - @a_base)/4 word @tocharNFA + $10 hashNFA byte $81,"#" hashPFA word @mcwBasePFA + $10 word @watPFA + $10 word @uslashmodPFA + $10 word (@a_swap - @a_base)/4 word @tocharPFA + $10 word @minusonePFA + $10 word @mcwgtoutPFA + $10 word @wplusbangPFA + $10 word @padgtoutPFA + $10 word @cbangPFA + $10 word (@a_exit - @a_base)/4 word @hashNFA + $10 hashsNFA byte $82,"#s" hashsPFA word @hashPFA + $10 word (@a_dup - @a_base)/4 word @zeqPFA + $10 word (@a_zbranch - @a_base)/4 word $FFF8 word (@a_exit - @a_base)/4 word @hashsNFA + $10 dotNFA byte $81,"." dotPFA word (@a_dup - @a_base)/4 word @zltPFA + $10 word (@a_zbranch - @a_base)/4 word $000A word (@a_litw - @a_base)/4 word $002D word @emitPFA + $10 word @negatePFA + $10 word @lthashPFA + $10 word @hashsPFA + $10 word @hashgtPFA + $10 word @dotcstrPFA + $10 word (@a_litw - @a_base)/4 word $0020 word @emitPFA + $10 word (@a_exit - @a_base)/4 word @dotNFA + $10 cogidNFA byte $85,"cogid" cogidPFA word @minusonePFA + $10 word (@a_litw - @a_base)/4 word $0001 word (@a_hubop - @a_base)/4 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @cogidNFA + $10 locknewNFA byte $87,"locknew" locknewPFA word @minusonePFA + $10 word (@a_litw - @a_base)/4 word $0004 word (@a_hubop - @a_base)/4 word @minusonePFA + $10 word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0006 word (@a_drop - @a_base)/4 word @minusonePFA + $10 word (@a_exit - @a_base)/4 word @locknewNFA + $10 lockretNFA byte $87,"lockret" lockretPFA word (@a_litw - @a_base)/4 word $0005 word (@a_hubop - @a_base)/4 word @twodropPFA + $10 word (@a_exit - @a_base)/4 word @lockretNFA + $10 locksetNFA byte $87,"lockset" locksetPFA word (@a_litw - @a_base)/4 word $0006 word (@a_hubop - @a_base)/4 word @nipPFA + $10 word (@a_exit - @a_base)/4 word @locksetNFA + $10 lockclrNFA byte $87,"lockclr" lockclrPFA word (@a_litw - @a_base)/4 word $0007 word (@a_hubop - @a_base)/4 word @nipPFA + $10 word (@a_exit - @a_base)/4 word @lockclrNFA + $10 lockdictqNFA byte $89,"lockdict?" lockdictqPFA word @mydictlockPFA + $10 word @watPFA + $10 word (@a_zbranch - @a_base)/4 word $0010 word (@a_litw - @a_base)/4 word $0001 word @mydictlockPFA + $10 word @wplusbangPFA + $10 word @minusonePFA + $10 word (@a_branch - @a_base)/4 word $001C word @zPFA + $10 word @locksetPFA + $10 word @zeqPFA + $10 word (@a_zbranch - @a_base)/4 word $0010 word (@a_litw - @a_base)/4 word $0001 word @mydictlockPFA + $10 word @wbangPFA + $10 word @minusonePFA + $10 word (@a_branch - @a_base)/4 word $0004 word @zPFA + $10 word (@a_exit - @a_base)/4 word @lockdictqNFA + $10 freedictNFA byte $88,"freedict" freedictPFA word @mydictlockPFA + $10 word @watPFA + $10 word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $001A word @oneminusPFA + $10 word (@a_dup - @a_base)/4 word @mydictlockPFA + $10 word @wbangPFA + $10 word @zeqPFA + $10 word (@a_zbranch - @a_base)/4 word $0008 word @zPFA + $10 word @lockclrPFA + $10 word (@a_drop - @a_base)/4 word (@a_branch - @a_base)/4 word $0004 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @freedictNFA + $10 lockdictNFA byte $88,"lockdict" lockdictPFA word @lockdictqPFA + $10 word (@a_zbranch - @a_base)/4 word $FFFC word (@a_exit - @a_base)/4 word @lockdictNFA + $10 _eoomNFA byte $85,"_eoom" _eoomPFA word @dqPFA + $10 byte $0D,"Out of memory" word @crPFA + $10 word (@a_exit - @a_base)/4 word @_eoomNFA + $10 checkdictNFA byte $89,"checkdict" checkdictPFA word @mswHerePFA + $10 word @watPFA + $10 word @plusPFA + $10 word @mswDictendPFA + $10 word @watPFA + $10 word @gteqPFA + $10 word (@a_zbranch - @a_base)/4 word $0014 word @crPFA + $10 word @mswHerePFA + $10 word @watPFA + $10 word @dotPFA + $10 word @mswDictendPFA + $10 word @dotPFA + $10 word @_eoomPFA + $10 word @clearkeysPFA + $10 word @resetPFA + $10 word (@a_exit - @a_base)/4 word @checkdictNFA + $10 _coneNFA byte $83,"_c1" _conePFA word @lockdictPFA + $10 word @mswlastnfaPFA + $10 word @watPFA + $10 word @mswHerePFA + $10 word @watPFA + $10 word (@a_dup - @a_base)/4 word @twoplusPFA + $10 word @mswlastnfaPFA + $10 word @wbangPFA + $10 word (@a_swap - @a_base)/4 word (@a_over - @a_base)/4 word @wbangPFA + $10 word @twoplusPFA + $10 word (@a_exit - @a_base)/4 word @_coneNFA + $10 _ctwoNFA byte $83,"_c2" _ctwoPFA word (@a_over - @a_base)/4 word @namecopyPFA + $10 word @namelenPFA + $10 word @plusPFA + $10 word @alignwPFA + $10 word @mswHerePFA + $10 word @wbangPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @_ctwoNFA + $10 ccreateNFA byte $87,"ccreate" ccreatePFA word @_conePFA + $10 word (@a_swap - @a_base)/4 word @_ctwoPFA + $10 word (@a_exit - @a_base)/4 word @ccreateNFA + $10 createNFA byte $86,"create" createPFA word @blPFA + $10 word @parsewordPFA + $10 word (@a_zbranch - @a_base)/4 word $000A word @_conePFA + $10 word @padgtinPFA + $10 word @_ctwoPFA + $10 word @nextwordPFA + $10 word (@a_exit - @a_base)/4 word @createNFA + $10 clabelNFA byte $86,"clabel" clabelPFA word @lockdictPFA + $10 word @ccreatePFA + $10 word @ca_a_doconwPFA + $10 word @wcommaPFA + $10 word @mcwAherePFA + $10 word @watPFA + $10 word @wcommaPFA + $10 word @forthentryPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @clabelNFA + $10 herelalNFA byte $87,"herelal" herelalPFA word @lockdictPFA + $10 word (@a_litw - @a_base)/4 word $0004 word @checkdictPFA + $10 word @mswHerePFA + $10 word @watPFA + $10 word @alignlPFA + $10 word @mswHerePFA + $10 word @wbangPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @herelalNFA + $10 herewalNFA byte $87,"herewal" herewalPFA word @lockdictPFA + $10 word (@a_litw - @a_base)/4 word $0002 word @checkdictPFA + $10 word @mswHerePFA + $10 word @watPFA + $10 word @alignwPFA + $10 word @mswHerePFA + $10 word @wbangPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @herewalNFA + $10 allotNFA byte $85,"allot" allotPFA word @lockdictPFA + $10 word (@a_dup - @a_base)/4 word @checkdictPFA + $10 word @mswHerePFA + $10 word @wplusbangPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @allotNFA + $10 aallotNFA byte $86,"aallot" aallotPFA word @mcwAherePFA + $10 word @wplusbangPFA + $10 word @mcwAherePFA + $10 word @watPFA + $10 word @parPFA + $10 word @gteqPFA + $10 word (@a_zbranch - @a_base)/4 word $0006 word @_eoomPFA + $10 word @resetPFA + $10 word (@a_exit - @a_base)/4 word @aallotNFA + $10 commaNFA byte $81,"," commaPFA word @lockdictPFA + $10 word @herelalPFA + $10 word @mswHerePFA + $10 word @watPFA + $10 word @mbangPFA + $10 word (@a_litw - @a_base)/4 word $0004 word @allotPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @commaNFA + $10 acommaNFA byte $82,"a," acommaPFA word @mcwAherePFA + $10 word @watPFA + $10 word (@a_bang - @a_base)/4 word (@a_litw - @a_base)/4 word $0001 word @aallotPFA + $10 word (@a_exit - @a_base)/4 word @acommaNFA + $10 wcommaNFA byte $82,"w," wcommaPFA word @lockdictPFA + $10 word @herewalPFA + $10 word @mswHerePFA + $10 word @watPFA + $10 word @wbangPFA + $10 word (@a_litw - @a_base)/4 word $0002 word @allotPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @wcommaNFA + $10 ccommaNFA byte $82,"c," ccommaPFA word @lockdictPFA + $10 word @mswHerePFA + $10 word @watPFA + $10 word @cbangPFA + $10 word (@a_litw - @a_base)/4 word $0001 word @allotPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @ccommaNFA + $10 orlnfaNFA byte $86,"orlnfa" orlnfaPFA word @lockdictPFA + $10 word @lastnfaPFA + $10 word @orcbangPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @orlnfaNFA + $10 forthentryNFA byte $8A,"forthentry" forthentryPFA word @lockdictPFA + $10 word (@a_litw - @a_base)/4 word $0080 word @orlnfaPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @forthentryNFA + $10 immediateNFA byte $89,"immediate" immediatePFA word @lockdictPFA + $10 word (@a_litw - @a_base)/4 word $0040 word @orlnfaPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @immediateNFA + $10 execNFA byte $84,"exec" execPFA word @lockdictPFA + $10 word (@a_litw - @a_base)/4 word $0060 word @orlnfaPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @execNFA + $10 leaveNFA byte $85,"leave" leavePFA word (@a_rgt - @a_base)/4 word (@a_rgt - @a_base)/4 word (@a_rgt - @a_base)/4 word (@a_drop - @a_base)/4 word (@a_dup - @a_base)/4 word (@a_twogtr - @a_base)/4 word (@a_gtr - @a_base)/4 word (@a_exit - @a_base)/4 word @leaveNFA + $10 clearkeysNFA byte $89,"clearkeys" clearkeysPFA word @zPFA + $10 word @mcwStatePFA + $10 word @wbangPFA + $10 word @minusonePFA + $10 word @mswKeyTOPFA + $10 word @watPFA + $10 word @zPFA + $10 word (@a_twogtr - @a_base)/4 word @keyqPFA + $10 word (@a_zbranch - @a_base)/4 word $000C word @keyPFA + $10 word (@a_drop - @a_base)/4 word (@a_drop - @a_base)/4 word @zPFA + $10 word @leavePFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFEE word (@a_zbranch - @a_base)/4 word $FFE0 word (@a_exit - @a_base)/4 word @clearkeysNFA + $10 wgtlNFA byte $83,"w>l" wgtlPFA word (@a_litw - @a_base)/4 word $FFFF word @andPFA + $10 word (@a_swap - @a_base)/4 word (@a_litw - @a_base)/4 word $0010 word @lshiftPFA + $10 word @orPFA + $10 word (@a_exit - @a_base)/4 word @wgtlNFA + $10 lgtwNFA byte $83,"l>w" lgtwPFA word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0010 word @rshiftPFA + $10 word (@a_swap - @a_base)/4 word (@a_litw - @a_base)/4 word $FFFF word @andPFA + $10 word (@a_exit - @a_base)/4 word @lgtwNFA + $10 colonNFA byte $81,":" colonPFA word @lockdictPFA + $10 word @createPFA + $10 word (@a_litw - @a_base)/4 word $3741 word (@a_litw - @a_base)/4 word $0001 word @mcwStatePFA + $10 word @wbangPFA + $10 word (@a_exit - @a_base)/4 word @colonNFA + $10 _mmcsNFA byte $85,"_mmcs" _mmcsPFA word @dqPFA + $10 byte $1F,"MISMATCHED CONTROL STRUCTURE(S)" word @crPFA + $10 word @clearkeysPFA + $10 word (@a_exit - @a_base)/4 word @_mmcsNFA + $10 _scolonNFA byte $82,"_;" _scolonPFA word @wcommaPFA + $10 word @zPFA + $10 word @mcwStatePFA + $10 word @wbangPFA + $10 word @forthentryPFA + $10 word (@a_litw - @a_base)/4 word $3741 word @ltgtPFA + $10 word (@a_zbranch - @a_base)/4 word $0004 word @_mmcsPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @_scolonNFA + $10 scolonscolonNFA byte $C2,";;" scolonscolonPFA word @ca_a_exitPFA + $10 word @_scolonPFA + $10 word (@a_exit - @a_base)/4 word @scolonscolonNFA + $10 scolonNFA byte $C1,";" scolonPFA word @ca_a_exitPFA + $10 word @_scolonPFA + $10 word (@a_exit - @a_base)/4 word @scolonNFA + $10 dothenNFA byte $86,"dothen" dothenPFA word @lgtwPFA + $10 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $1235 word (@a_eq - @a_base)/4 word (@a_swap - @a_base)/4 word (@a_litw - @a_base)/4 word $1239 word (@a_eq - @a_base)/4 word @orPFA + $10 word (@a_zbranch - @a_base)/4 word $0014 word (@a_dup - @a_base)/4 word @mswHerePFA + $10 word @watPFA + $10 word (@a_swap - @a_base)/4 word @minusPFA + $10 word (@a_swap - @a_base)/4 word @wbangPFA + $10 word (@a_branch - @a_base)/4 word $0004 word @_mmcsPFA + $10 word (@a_exit - @a_base)/4 word @dothenNFA + $10 thenNFA byte $C4,"then" thenPFA word @dothenPFA + $10 word (@a_exit - @a_base)/4 word @thenNFA + $10 thensNFA byte $C5,"thens" thensPFA word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $FFFF word @andPFA + $10 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $1235 word (@a_eq - @a_base)/4 word (@a_swap - @a_base)/4 word (@a_litw - @a_base)/4 word $1239 word (@a_eq - @a_base)/4 word @orPFA + $10 word (@a_zbranch - @a_base)/4 word $000A word @dothenPFA + $10 word @zPFA + $10 word (@a_branch - @a_base)/4 word $0004 word @minusonePFA + $10 word (@a_zbranch - @a_base)/4 word $FFD6 word (@a_exit - @a_base)/4 word @thensNFA + $10 ifNFA byte $C2,"if" ifPFA word @ca_a_zbranchPFA + $10 word @wcommaPFA + $10 word @mswHerePFA + $10 word @watPFA + $10 word (@a_litw - @a_base)/4 word $1235 word @wgtlPFA + $10 word @zPFA + $10 word @wcommaPFA + $10 word (@a_exit - @a_base)/4 word @ifNFA + $10 elseNFA byte $C4,"else" elsePFA word @ca_a_branchPFA + $10 word @wcommaPFA + $10 word @zPFA + $10 word @wcommaPFA + $10 word @dothenPFA + $10 word @mswHerePFA + $10 word @watPFA + $10 word @twominusPFA + $10 word (@a_litw - @a_base)/4 word $1239 word @wgtlPFA + $10 word (@a_exit - @a_base)/4 word @elseNFA + $10 untilNFA byte $C5,"until" untilPFA word @lgtwPFA + $10 word (@a_litw - @a_base)/4 word $1317 word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0012 word @ca_a_zbranchPFA + $10 word @wcommaPFA + $10 word @mswHerePFA + $10 word @watPFA + $10 word @minusPFA + $10 word @wcommaPFA + $10 word (@a_branch - @a_base)/4 word $0004 word @_mmcsPFA + $10 word (@a_exit - @a_base)/4 word @untilNFA + $10 beginNFA byte $C5,"begin" beginPFA word @mswHerePFA + $10 word @watPFA + $10 word (@a_litw - @a_base)/4 word $1317 word @wgtlPFA + $10 word (@a_exit - @a_base)/4 word @beginNFA + $10 doloopNFA byte $86,"doloop" doloopPFA word (@a_swap - @a_base)/4 word @lgtwPFA + $10 word (@a_litw - @a_base)/4 word $2329 word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0012 word (@a_swap - @a_base)/4 word @wcommaPFA + $10 word @mswHerePFA + $10 word @watPFA + $10 word @minusPFA + $10 word @wcommaPFA + $10 word (@a_branch - @a_base)/4 word $0004 word @_mmcsPFA + $10 word (@a_exit - @a_base)/4 word @doloopNFA + $10 loopNFA byte $C4,"loop" loopPFA word @ca_a_lparenlooprparenPFA + $10 word @doloopPFA + $10 word (@a_exit - @a_base)/4 word @loopNFA + $10 plusloopNFA byte $C5,"+loop" plusloopPFA word @ca_a_lparenpluslooprparenPFA + $10 word @doloopPFA + $10 word (@a_exit - @a_base)/4 word @plusloopNFA + $10 doNFA byte $C2,"do" doPFA word @ca_a_twogtrPFA + $10 word @wcommaPFA + $10 word @mswHerePFA + $10 word @watPFA + $10 word (@a_litw - @a_base)/4 word $2329 word @wgtlPFA + $10 word (@a_exit - @a_base)/4 word @doNFA + $10 _ecsNFA byte $84,"_ecs" _ecsPFA word (@a_litw - @a_base)/4 word $003A word @emitPFA + $10 word @spacePFA + $10 word (@a_exit - @a_base)/4 word @_ecsNFA + $10 _udfNFA byte $84,"_udf" _udfPFA word @dqPFA + $10 byte $0F,"UNDEFINED WORD " word (@a_exit - @a_base)/4 word @_udfNFA + $10 dotquoteNFA byte $C2,".",$22 dotquotePFA word @cm_dqPFA + $10 word @wcommaPFA + $10 word (@a_litw - @a_base)/4 word $0001 word @mcwgtinPFA + $10 word @wplusbangPFA + $10 word (@a_litw - @a_base)/4 word $0022 word @parsePFA + $10 word (@a_dup - @a_base)/4 word @ccommaPFA + $10 word (@a_dup - @a_base)/4 word @padgtinPFA + $10 word @mswHerePFA + $10 word @watPFA + $10 word (@a_rot - @a_base)/4 word @cmovePFA + $10 word (@a_dup - @a_base)/4 word @allotPFA + $10 word @oneplusPFA + $10 word @mcwgtinPFA + $10 word @wplusbangPFA + $10 word @herewalPFA + $10 word (@a_exit - @a_base)/4 word @dotquoteNFA + $10 fisnumberNFA byte $89,"fisnumber" fisnumberPFA word @isnumberPFA + $10 word (@a_exit - @a_base)/4 word @fisnumberNFA + $10 fnumberNFA byte $87,"fnumber" fnumberPFA word @numberPFA + $10 word (@a_exit - @a_base)/4 word @fnumberNFA + $10 interpretpadNFA byte $8C,"interpretpad" interpretpadPFA word @zPFA + $10 word @mcwgtinPFA + $10 word @wbangPFA + $10 word @blPFA + $10 word @parsewordPFA + $10 word (@a_zbranch - @a_base)/4 word $00BE word @padgtinPFA + $10 word @nextwordPFA + $10 word @findPFA + $10 word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0062 word (@a_dup - @a_base)/4 word @minusonePFA + $10 word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0018 word (@a_drop - @a_base)/4 word @compileqPFA + $10 word (@a_zbranch - @a_base)/4 word $0008 word @wcommaPFA + $10 word (@a_branch - @a_base)/4 word $0004 word @executePFA + $10 word @zPFA + $10 word (@a_branch - @a_base)/4 word $003E word (@a_litw - @a_base)/4 word $0002 word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $000A word @executePFA + $10 word @zPFA + $10 word (@a_branch - @a_base)/4 word $002C word @compileqPFA + $10 word (@a_zbranch - @a_base)/4 word $000A word @executePFA + $10 word @zPFA + $10 word (@a_branch - @a_base)/4 word $001E word @pfagtnfaPFA + $10 word @dqPFA + $10 byte $0F,"IMMEDIATE WORD " word @dotstrnamePFA + $10 word @clearkeysPFA + $10 word @crPFA + $10 word @minusonePFA + $10 word (@a_branch - @a_base)/4 word $004E word (@a_drop - @a_base)/4 word (@a_dup - @a_base)/4 word @catplusplusPFA + $10 word @fisnumberPFA + $10 word (@a_zbranch - @a_base)/4 word $0030 word @catplusplusPFA + $10 word @fnumberPFA + $10 word @compileqPFA + $10 word (@a_zbranch - @a_base)/4 word $0020 word (@a_dup - @a_base)/4 word @zPFA + $10 word (@a_litw - @a_base)/4 word $FFFF word @betweenPFA + $10 word (@a_zbranch - @a_base)/4 word $000C word @ca_a_litwPFA + $10 word @wcommaPFA + $10 word @wcommaPFA + $10 word (@a_branch - @a_base)/4 word $0008 word @ca_a_literalPFA + $10 word @wcommaPFA + $10 word @commaPFA + $10 word @zPFA + $10 word (@a_branch - @a_base)/4 word $0014 word @zPFA + $10 word @mcwStatePFA + $10 word @wbangPFA + $10 word @freedictPFA + $10 word @_udfPFA + $10 word @dotstrnamePFA + $10 word @crPFA + $10 word @clearkeysPFA + $10 word @minusonePFA + $10 word (@a_branch - @a_base)/4 word $0004 word @minusonePFA + $10 word (@a_zbranch - @a_base)/4 word $FF38 word (@a_exit - @a_base)/4 word @interpretpadNFA + $10 sbozmNFA byte $83,"[0m" sbozmPFA word (@a_exit - @a_base)/4 word @sbozmNFA + $10 interpretNFA byte $89,"interpret" interpretPFA word (@a_litw - @a_base)/4 word $001B word @emitPFA + $10 word (@a_litw - @a_base)/4 word $005B word @emitPFA + $10 word (@a_litw - @a_base)/4 word $0033 word @emitPFA + $10 word (@a_litw - @a_base)/4 word $0031 word @emitPFA + $10 word (@a_litw - @a_base)/4 word $006D word @emitPFA + $10 word @mcPadPFA + $10 word @padsizePFA + $10 word @acceptPFA + $10 word (@a_drop - @a_base)/4 word (@a_litw - @a_base)/4 word $001B word @emitPFA + $10 word (@a_litw - @a_base)/4 word $005B word @emitPFA + $10 word (@a_litw - @a_base)/4 word $0030 word @emitPFA + $10 word (@a_litw - @a_base)/4 word $006D word @emitPFA + $10 word @interpretpadPFA + $10 word (@a_exit - @a_base)/4 word @interpretNFA + $10 variableNFA byte $88,"variable" variablePFA word @lockdictPFA + $10 word @createPFA + $10 word @ca_a_dovarPFA + $10 word @wcommaPFA + $10 word @zPFA + $10 word @commaPFA + $10 word @forthentryPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @variableNFA + $10 _wconeNFA byte $84,"_wc1" _wconePFA word @lockdictPFA + $10 word @createPFA + $10 word @ca_a_doconwPFA + $10 word @wcommaPFA + $10 word @wcommaPFA + $10 word @forthentryPFA + $10 word @lastnfaPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @_wconeNFA + $10 wconstantNFA byte $89,"wconstant" wconstantPFA word @_wconePFA + $10 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @wconstantNFA + $10 avariableNFA byte $89,"avariable" avariablePFA word @mcwAherePFA + $10 word @watPFA + $10 word @_wconePFA + $10 word (@a_litw - @a_base)/4 word $0001 word @aallotPFA + $10 word (@a_exit - @a_base)/4 word @avariableNFA + $10 wvariableNFA byte $89,"wvariable" wvariablePFA word @lockdictPFA + $10 word @createPFA + $10 word @ca_a_dovarwPFA + $10 word @wcommaPFA + $10 word @zPFA + $10 word @wcommaPFA + $10 word @forthentryPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @wvariableNFA + $10 constantNFA byte $88,"constant" constantPFA word @lockdictPFA + $10 word @createPFA + $10 word @ca_a_doconPFA + $10 word @wcommaPFA + $10 word @commaPFA + $10 word @forthentryPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @constantNFA + $10 asmlabelNFA byte $88,"asmlabel" asmlabelPFA word @lockdictPFA + $10 word @createPFA + $10 word @wcommaPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @asmlabelNFA + $10 hexNFA byte $83,"hex" hexPFA word (@a_litw - @a_base)/4 word $0010 word @mcwBasePFA + $10 word @wbangPFA + $10 word (@a_exit - @a_base)/4 word @hexNFA + $10 decimalNFA byte $87,"decimal" decimalPFA word (@a_litw - @a_base)/4 word $000A word @mcwBasePFA + $10 word @wbangPFA + $10 word (@a_exit - @a_base)/4 word @decimalNFA + $10 _wordsNFA byte $86,"_words" _wordsPFA word @zPFA + $10 word (@a_gtr - @a_base)/4 word @lastnfaPFA + $10 word @dqPFA + $10 byte $26,"NFA (Forth/Asm Immediate eXecute) Name" word @twodupPFA + $10 word (@a_swap - @a_base)/4 word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0008 word @npfxPFA + $10 word (@a_branch - @a_base)/4 word $0006 word @twodropPFA + $10 word @minusonePFA + $10 word (@a_zbranch - @a_base)/4 word $008A word (@a_rgt - @a_base)/4 word (@a_dup - @a_base)/4 word @zeqPFA + $10 word (@a_zbranch - @a_base)/4 word $0004 word @crPFA + $10 word @oneplusPFA + $10 word (@a_litw - @a_base)/4 word $0003 word @andPFA + $10 word (@a_gtr - @a_base)/4 word (@a_dup - @a_base)/4 word @dotwordPFA + $10 word @spacePFA + $10 word (@a_dup - @a_base)/4 word @catPFA + $10 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0080 word @andPFA + $10 word (@a_zbranch - @a_base)/4 word $000A word (@a_litw - @a_base)/4 word $0046 word (@a_branch - @a_base)/4 word $0006 word (@a_litw - @a_base)/4 word $0041 word @emitPFA + $10 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0040 word @andPFA + $10 word (@a_zbranch - @a_base)/4 word $000A word (@a_litw - @a_base)/4 word $0049 word (@a_branch - @a_base)/4 word $0006 word (@a_litw - @a_base)/4 word $0020 word @emitPFA + $10 word (@a_litw - @a_base)/4 word $0020 word @andPFA + $10 word (@a_zbranch - @a_base)/4 word $000A word (@a_litw - @a_base)/4 word $0058 word (@a_branch - @a_base)/4 word $0006 word (@a_litw - @a_base)/4 word $0020 word @emitPFA + $10 word @spacePFA + $10 word (@a_dup - @a_base)/4 word @dotstrnamePFA + $10 word (@a_dup - @a_base)/4 word @catPFA + $10 word @namemaxPFA + $10 word @andPFA + $10 word (@a_litw - @a_base)/4 word $0015 word (@a_swap - @a_base)/4 word @minusPFA + $10 word @zPFA + $10 word @maxPFA + $10 word @spacesPFA + $10 word @nfagtnextPFA + $10 word (@a_dup - @a_base)/4 word @zeqPFA + $10 word (@a_zbranch - @a_base)/4 word $FF58 word (@a_rgt - @a_base)/4 word @threedropPFA + $10 word @crPFA + $10 word (@a_exit - @a_base)/4 word @_wordsNFA + $10 wordsNFA byte $85,"words" wordsPFA word @parsenwPFA + $10 word @_wordsPFA + $10 word (@a_exit - @a_base)/4 word @wordsNFA + $10 del_msNFA byte $86,"del_ms" del_msPFA word (@a_literal - @a_base)/4 long $7FFFFFFF word @clkfreqPFA + $10 word (@a_litw - @a_base)/4 word $03E8 word @uslashPFA + $10 word @uslashPFA + $10 word @minPFA + $10 word (@a_litw - @a_base)/4 word $0001 word @maxPFA + $10 word @clkfreqPFA + $10 word (@a_litw - @a_base)/4 word $03E8 word @uslashPFA + $10 word @ustarPFA + $10 word @cntPFA + $10 word (@a_at - @a_base)/4 word @plusPFA + $10 word (@a_dup - @a_base)/4 word @cntPFA + $10 word (@a_at - @a_base)/4 word @minusPFA + $10 word @zltPFA + $10 word (@a_zbranch - @a_base)/4 word $FFF4 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @del_msNFA + $10 del_secNFA byte $87,"del_sec" del_secPFA word (@a_litw - @a_base)/4 word $0010 word @uslashmodPFA + $10 word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0014 word @zPFA + $10 word (@a_twogtr - @a_base)/4 word (@a_litw - @a_base)/4 word $3E80 word @del_msPFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFF8 word (@a_branch - @a_base)/4 word $0004 word (@a_drop - @a_base)/4 word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0014 word @zPFA + $10 word (@a_twogtr - @a_base)/4 word (@a_litw - @a_base)/4 word $03E8 word @del_msPFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFF8 word (@a_branch - @a_base)/4 word $0004 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @del_secNFA + $10 gtmNFA byte $82,">m" gtmPFA word (@a_litw - @a_base)/4 word $0001 word (@a_swap - @a_base)/4 word @lshiftPFA + $10 word (@a_exit - @a_base)/4 word @gtmNFA + $10 pxiNFA byte $83,"pxi" pxiPFA word @gtmPFA + $10 word @invertPFA + $10 word @diraPFA + $10 word (@a_at - @a_base)/4 word @andPFA + $10 word @diraPFA + $10 word (@a_bang - @a_base)/4 word (@a_exit - @a_base)/4 word @pxiNFA + $10 pxoNFA byte $83,"pxo" pxoPFA word @gtmPFA + $10 word @diraPFA + $10 word (@a_at - @a_base)/4 word @orPFA + $10 word @diraPFA + $10 word (@a_bang - @a_base)/4 word (@a_exit - @a_base)/4 word @pxoNFA + $10 pxlNFA byte $83,"pxl" pxlPFA word @gtmPFA + $10 word (@a_mpxl - @a_base)/4 word (@a_exit - @a_base)/4 word @pxlNFA + $10 pxhNFA byte $83,"pxh" pxhPFA word @gtmPFA + $10 word (@a_mpxh - @a_base)/4 word (@a_exit - @a_base)/4 word @pxhNFA + $10 pxNFA byte $82,"px" pxPFA word (@a_swap - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0008 word @pxhPFA + $10 word (@a_branch - @a_base)/4 word $0004 word @pxlPFA + $10 word (@a_exit - @a_base)/4 word @pxNFA + $10 pxqNFA byte $83,"px?" pxqPFA word @gtmPFA + $10 word (@a_mpx - @a_base)/4 word (@a_exit - @a_base)/4 word @pxqNFA + $10 _sclNFA byte $84,"_scl" _sclPFA word (@a_doconw - @a_base)/4 word $001C word @_sclNFA + $10 _sdaNFA byte $84,"_sda" _sdaPFA word (@a_doconw - @a_base)/4 word $001D word @_sdaNFA + $10 _sclmNFA byte $85,"_sclm" _sclmPFA word (@a_docon - @a_base)/4 long $10000000 word @_sclmNFA + $10 _sdamNFA byte $85,"_sdam" _sdamPFA word (@a_docon - @a_base)/4 long $20000000 word @_sdamNFA + $10 _sdaiNFA byte $85,"_sdai" _sdaiPFA word @_sdaPFA + $10 word @pxiPFA + $10 word (@a_exit - @a_base)/4 word @_sdaiNFA + $10 _sdaoNFA byte $85,"_sdao" _sdaoPFA word @_sdaPFA + $10 word @pxoPFA + $10 word (@a_exit - @a_base)/4 word @_sdaoNFA + $10 _scliNFA byte $85,"_scli" _scliPFA word @_sclPFA + $10 word @pxiPFA + $10 word (@a_exit - @a_base)/4 word @_scliNFA + $10 _scloNFA byte $85,"_sclo" _scloPFA word @_sclPFA + $10 word @pxoPFA + $10 word (@a_exit - @a_base)/4 word @_scloNFA + $10 _sdalNFA byte $85,"_sdal" _sdalPFA word @_sdamPFA + $10 word (@a_mpxl - @a_base)/4 word (@a_exit - @a_base)/4 word @_sdalNFA + $10 _sdahNFA byte $85,"_sdah" _sdahPFA word @_sdamPFA + $10 word (@a_mpxh - @a_base)/4 word (@a_exit - @a_base)/4 word @_sdahNFA + $10 _scllNFA byte $85,"_scll" _scllPFA word @_sclmPFA + $10 word (@a_mpxl - @a_base)/4 word (@a_exit - @a_base)/4 word @_scllNFA + $10 _sclhNFA byte $85,"_sclh" _sclhPFA word @_sclmPFA + $10 word (@a_mpxh - @a_base)/4 word (@a_exit - @a_base)/4 word @_sclhNFA + $10 _sdaqNFA byte $85,"_sda?" _sdaqPFA word @_sdamPFA + $10 word (@a_mpx - @a_base)/4 word (@a_exit - @a_base)/4 word @_sdaqNFA + $10 _eeInitNFA byte $87,"_eeInit" _eeInitPFA word @_sclhPFA + $10 word @_scloPFA + $10 word @_sdaiPFA + $10 word (@a_litw - @a_base)/4 word $0009 word @zPFA + $10 word (@a_twogtr - @a_base)/4 word @_scllPFA + $10 word @_sclhPFA + $10 word @_sdaqPFA + $10 word (@a_zbranch - @a_base)/4 word $0004 word @leavePFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFF2 word (@a_exit - @a_base)/4 word @_eeInitNFA + $10 _eeStartNFA byte $88,"_eeStart" _eeStartPFA word @_sclhPFA + $10 word @_scloPFA + $10 word @_sdahPFA + $10 word @_sdaoPFA + $10 word @_sdalPFA + $10 word @_scllPFA + $10 word (@a_exit - @a_base)/4 word @_eeStartNFA + $10 _eeStopNFA byte $87,"_eeStop" _eeStopPFA word @_sclhPFA + $10 word @_sdahPFA + $10 word @_scliPFA + $10 word @_sdaiPFA + $10 word (@a_exit - @a_base)/4 word @_eeStopNFA + $10 _eeWriteNFA byte $88,"_eeWrite" _eeWritePFA word (@a_litw - @a_base)/4 word $0080 word (@a_litw - @a_base)/4 word $0008 word @zPFA + $10 word (@a_twogtr - @a_base)/4 word @twodupPFA + $10 word @andPFA + $10 word (@a_zbranch - @a_base)/4 word $0008 word @_sdahPFA + $10 word (@a_branch - @a_base)/4 word $0004 word @_sdalPFA + $10 word @_sclhPFA + $10 word @_scllPFA + $10 word (@a_litw - @a_base)/4 word $0001 word @rshiftPFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFE4 word @twodropPFA + $10 word @_sdaiPFA + $10 word @_sclhPFA + $10 word @_sdaqPFA + $10 word @_scllPFA + $10 word @_sdalPFA + $10 word @_sdaoPFA + $10 word (@a_exit - @a_base)/4 word @_eeWriteNFA + $10 _eeReadNFA byte $87,"_eeRead" _eeReadPFA word @_sdaiPFA + $10 word @zPFA + $10 word (@a_litw - @a_base)/4 word $0008 word @zPFA + $10 word (@a_twogtr - @a_base)/4 word (@a_litw - @a_base)/4 word $0001 word @lshiftPFA + $10 word @_sclhPFA + $10 word @_sdaqPFA + $10 word @_scllPFA + $10 word (@a_zbranch - @a_base)/4 word $0008 word (@a_litw - @a_base)/4 word $0001 word @orPFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFE8 word (@a_swap - @a_base)/4 word @_sdaPFA + $10 word @pxPFA + $10 word @_sdaoPFA + $10 word @_sclhPFA + $10 word @_scllPFA + $10 word @_sdalPFA + $10 word (@a_exit - @a_base)/4 word @_eeReadNFA + $10 eeReadPageNFA byte $8A,"eeReadPage" eeReadPagePFA word (@a_litw - @a_base)/4 word $0001 word @locksetPFA + $10 word @zeqPFA + $10 word (@a_zbranch - @a_base)/4 word $FFF6 word (@a_litw - @a_base)/4 word $0001 word @maxPFA + $10 word (@a_rot - @a_base)/4 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $00FF word @andPFA + $10 word (@a_swap - @a_base)/4 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0008 word @rshiftPFA + $10 word (@a_litw - @a_base)/4 word $00FF word @andPFA + $10 word (@a_swap - @a_base)/4 word (@a_litw - @a_base)/4 word $0010 word @rshiftPFA + $10 word (@a_litw - @a_base)/4 word $0007 word @andPFA + $10 word (@a_litw - @a_base)/4 word $0001 word @lshiftPFA + $10 word (@a_dup - @a_base)/4 word (@a_gtr - @a_base)/4 word @_eeStartPFA + $10 word (@a_litw - @a_base)/4 word $00A0 word @orPFA + $10 word @_eeWritePFA + $10 word (@a_swap - @a_base)/4 word @_eeWritePFA + $10 word @orPFA + $10 word (@a_swap - @a_base)/4 word @_eeWritePFA + $10 word @orPFA + $10 word @_eeStartPFA + $10 word (@a_rgt - @a_base)/4 word (@a_litw - @a_base)/4 word $00A1 word @orPFA + $10 word @_eeWritePFA + $10 word @orPFA + $10 word @rottwoPFA + $10 word @boundsPFA + $10 word (@a_twogtr - @a_base)/4 word @lastiqPFA + $10 word @_eeReadPFA + $10 word @iPFA + $10 word @cbangPFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFF6 word @_eeStopPFA + $10 word (@a_litw - @a_base)/4 word $0001 word @lockclrPFA + $10 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @eeReadPageNFA + $10 eeWritePageNFA byte $8B,"eeWritePage" eeWritePagePFA word (@a_litw - @a_base)/4 word $0001 word @locksetPFA + $10 word @zeqPFA + $10 word (@a_zbranch - @a_base)/4 word $FFF6 word (@a_litw - @a_base)/4 word $0001 word @maxPFA + $10 word (@a_rot - @a_base)/4 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $00FF word @andPFA + $10 word (@a_swap - @a_base)/4 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0008 word @rshiftPFA + $10 word (@a_litw - @a_base)/4 word $00FF word @andPFA + $10 word (@a_swap - @a_base)/4 word (@a_litw - @a_base)/4 word $0010 word @rshiftPFA + $10 word (@a_litw - @a_base)/4 word $0007 word @andPFA + $10 word (@a_litw - @a_base)/4 word $0001 word @lshiftPFA + $10 word @_eeStartPFA + $10 word (@a_litw - @a_base)/4 word $00A0 word @orPFA + $10 word @_eeWritePFA + $10 word (@a_swap - @a_base)/4 word @_eeWritePFA + $10 word @orPFA + $10 word (@a_swap - @a_base)/4 word @_eeWritePFA + $10 word @orPFA + $10 word @rottwoPFA + $10 word @boundsPFA + $10 word (@a_twogtr - @a_base)/4 word @iPFA + $10 word @catPFA + $10 word @_eeWritePFA + $10 word @orPFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFF6 word @_eeStopPFA + $10 word (@a_litw - @a_base)/4 word $0010 word @del_msPFA + $10 word (@a_litw - @a_base)/4 word $0001 word @lockclrPFA + $10 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @eeWritePageNFA + $10 eeErrNFA byte $85,"eeErr" eeErrPFA word @dqPFA + $10 byte $0C,"eeProm error" word (@a_exit - @a_base)/4 word @eeErrNFA + $10 eeReadWordNFA byte $8A,"eeReadWord" eeReadWordPFA word @mcwTzPFA + $10 word (@a_litw - @a_base)/4 word $0002 word @eeReadPagePFA + $10 word (@a_zbranch - @a_base)/4 word $0006 word @eeErrPFA + $10 word @crPFA + $10 word @mcwTzPFA + $10 word @watPFA + $10 word (@a_exit - @a_base)/4 word @eeReadWordNFA + $10 eeWriteWordNFA byte $8B,"eeWriteWord" eeWriteWordPFA word (@a_swap - @a_base)/4 word @mcwTzPFA + $10 word @wbangPFA + $10 word @mcwTzPFA + $10 word (@a_litw - @a_base)/4 word $0002 word @eeWritePagePFA + $10 word (@a_zbranch - @a_base)/4 word $0006 word @eeErrPFA + $10 word @crPFA + $10 word (@a_exit - @a_base)/4 word @eeWriteWordNFA + $10 eeReadByteNFA byte $8A,"eeReadByte" eeReadBytePFA word @eeReadWordPFA + $10 word (@a_litw - @a_base)/4 word $00FF word @andPFA + $10 word (@a_exit - @a_base)/4 word @eeReadByteNFA + $10 eeCopyNFA byte $86,"eeCopy" eeCopyPFA word (@a_litw - @a_base)/4 word $007F word @invertPFA + $10 word @andPFA + $10 word (@a_rot - @a_base)/4 word (@a_litw - @a_base)/4 word $007F word @invertPFA + $10 word @andPFA + $10 word (@a_rot - @a_base)/4 word (@a_litw - @a_base)/4 word $007F word @invertPFA + $10 word @andPFA + $10 word (@a_rot - @a_base)/4 word @zPFA + $10 word (@a_twogtr - @a_base)/4 word (@a_over - @a_base)/4 word @iPFA + $10 word @plusPFA + $10 word (@a_dup - @a_base)/4 word @dotPFA + $10 word @mcPadPFA + $10 word (@a_litw - @a_base)/4 word $0080 word @eeReadPagePFA + $10 word (@a_zbranch - @a_base)/4 word $0006 word @eeErrPFA + $10 word @leavePFA + $10 word (@a_dup - @a_base)/4 word @iPFA + $10 word @plusPFA + $10 word (@a_dup - @a_base)/4 word @dotPFA + $10 word @mcPadPFA + $10 word (@a_litw - @a_base)/4 word $0080 word @eeWritePagePFA + $10 word (@a_zbranch - @a_base)/4 word $0006 word @eeErrPFA + $10 word @leavePFA + $10 word @iPFA + $10 word (@a_litw - @a_base)/4 word $03FF word @andPFA + $10 word @zeqPFA + $10 word (@a_zbranch - @a_base)/4 word $0004 word @crPFA + $10 word (@a_litw - @a_base)/4 word $0080 word (@a_lparenpluslooprparen - @a_base)/4 word $FFB6 word @twodropPFA + $10 word @cogidPFA + $10 word @cogPadclrPFA + $10 word (@a_exit - @a_base)/4 word @eeCopyNFA + $10 _doneNFA byte $83,"_d1" _donePFA word @crPFA + $10 word (@a_over - @a_base)/4 word @dotwordPFA + $10 word @spacePFA + $10 word (@a_dup - @a_base)/4 word @dotwordPFA + $10 word @_ecsPFA + $10 word @boundsPFA + $10 word (@a_exit - @a_base)/4 word @_doneNFA + $10 _dtwoNFA byte $83,"_d2" _dtwoPFA word @crPFA + $10 word @dotwordPFA + $10 word @_ecsPFA + $10 word (@a_exit - @a_base)/4 word @_dtwoNFA + $10 _dthreeNFA byte $83,"_d3" _dthreePFA word @mcTPFA + $10 word (@a_litw - @a_base)/4 word $0010 word @boundsPFA + $10 word (@a_twogtr - @a_base)/4 word @iPFA + $10 word @catPFA + $10 word @dotbytePFA + $10 word @spacePFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFF6 word (@a_litw - @a_base)/4 word $0002 word @spacesPFA + $10 word @mcTPFA + $10 word (@a_litw - @a_base)/4 word $0010 word @dotstrPFA + $10 word (@a_exit - @a_base)/4 word @_dthreeNFA + $10 dumpNFA byte $84,"dump" dumpPFA word @_donePFA + $10 word (@a_twogtr - @a_base)/4 word @iPFA + $10 word @_dtwoPFA + $10 word @iPFA + $10 word @mcTPFA + $10 word (@a_litw - @a_base)/4 word $0010 word @cmovePFA + $10 word @_dthreePFA + $10 word (@a_litw - @a_base)/4 word $0010 word (@a_lparenpluslooprparen - @a_base)/4 word $FFEA word @crPFA + $10 word (@a_exit - @a_base)/4 word @dumpNFA + $10 rdumpNFA byte $85,"rdump" rdumpPFA word @_donePFA + $10 word (@a_twogtr - @a_base)/4 word @iPFA + $10 word @_dtwoPFA + $10 word @iPFA + $10 word @mcTPFA + $10 word (@a_litw - @a_base)/4 word $0010 word @eeReadPagePFA + $10 word (@a_zbranch - @a_base)/4 word $000C word @mcTPFA + $10 word (@a_litw - @a_base)/4 word $0010 word @zPFA + $10 word @fillPFA + $10 word @_dthreePFA + $10 word (@a_litw - @a_base)/4 word $0010 word (@a_lparenpluslooprparen - @a_base)/4 word $FFDC word @crPFA + $10 word (@a_exit - @a_base)/4 word @rdumpNFA + $10 adumpNFA byte $85,"adump" adumpPFA word @crPFA + $10 word (@a_over - @a_base)/4 word @dotwordPFA + $10 word @spacePFA + $10 word (@a_dup - @a_base)/4 word @dotwordPFA + $10 word @_ecsPFA + $10 word @boundsPFA + $10 word (@a_twogtr - @a_base)/4 word @crPFA + $10 word @iPFA + $10 word @dotwordPFA + $10 word @_ecsPFA + $10 word @iPFA + $10 word (@a_litw - @a_base)/4 word $0004 word @boundsPFA + $10 word (@a_twogtr - @a_base)/4 word @iPFA + $10 word (@a_at - @a_base)/4 word @dotlongPFA + $10 word @spacePFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFF6 word (@a_litw - @a_base)/4 word $0004 word (@a_lparenpluslooprparen - @a_base)/4 word $FFDC word @crPFA + $10 word (@a_exit - @a_base)/4 word @adumpNFA + $10 bsNFA byte $E1,"\" bsPFA word @padsizePFA + $10 word @mcwgtinPFA + $10 word @wbangPFA + $10 word (@a_exit - @a_base)/4 word @bsNFA + $10 tickNFA byte $81,"'" tickPFA word @parseblPFA + $10 word (@a_zbranch - @a_base)/4 word $001A word @padgtinPFA + $10 word @nextwordPFA + $10 word @findPFA + $10 word @zeqPFA + $10 word (@a_zbranch - @a_base)/4 word $000A word @_udfPFA + $10 word @crPFA + $10 word (@a_drop - @a_base)/4 word @zPFA + $10 word (@a_branch - @a_base)/4 word $0004 word @zPFA + $10 word (@a_exit - @a_base)/4 word @tickNFA + $10 cqNFA byte $82,"cq" cqPFA word (@a_rgt - @a_base)/4 word (@a_dup - @a_base)/4 word @catplusplusPFA + $10 word @plusPFA + $10 word @alignwPFA + $10 word (@a_gtr - @a_base)/4 word (@a_exit - @a_base)/4 word @cqNFA + $10 cquoteNFA byte $E2,"c",$22 cquotePFA word @compileqPFA + $10 word (@a_zbranch - @a_base)/4 word $0034 word @cm_cqPFA + $10 word @wcommaPFA + $10 word (@a_litw - @a_base)/4 word $0001 word @mcwgtinPFA + $10 word @wplusbangPFA + $10 word (@a_litw - @a_base)/4 word $0022 word @parsePFA + $10 word (@a_dup - @a_base)/4 word @ccommaPFA + $10 word (@a_dup - @a_base)/4 word @padgtinPFA + $10 word @mswHerePFA + $10 word @watPFA + $10 word (@a_rot - @a_base)/4 word @cmovePFA + $10 word (@a_dup - @a_base)/4 word @allotPFA + $10 word @oneplusPFA + $10 word @mcwgtinPFA + $10 word @wplusbangPFA + $10 word @herewalPFA + $10 word (@a_branch - @a_base)/4 word $0018 word (@a_litw - @a_base)/4 word $0022 word @parsePFA + $10 word @oneminusPFA + $10 word @padgtinPFA + $10 word @twodupPFA + $10 word @cbangPFA + $10 word (@a_swap - @a_base)/4 word @twoplusPFA + $10 word @mcwgtinPFA + $10 word @wplusbangPFA + $10 word (@a_exit - @a_base)/4 word @cquoteNFA + $10 fl_baseNFA byte $87,"fl_base" fl_basePFA word (@a_dovarw - @a_base)/4 word $0000 word @fl_baseNFA + $10 fl_countNFA byte $88,"fl_count" fl_countPFA word (@a_dovarw - @a_base)/4 word $0000 word @fl_countNFA + $10 fl_topNFA byte $86,"fl_top" fl_topPFA word (@a_dovarw - @a_base)/4 word $0000 word @fl_topNFA + $10 fl_inNFA byte $85,"fl_in" fl_inPFA word (@a_dovarw - @a_base)/4 word $0000 word @fl_inNFA + $10 fl_lockNFA byte $87,"fl_lock" fl_lockPFA word (@a_dovarw - @a_base)/4 word $0000 word @fl_lockNFA + $10 fl_bufNFA byte $86,"fl_buf" fl_bufPFA word @mswDictendPFA + $10 word @watPFA + $10 word @mswHerePFA + $10 word @watPFA + $10 word @minusPFA + $10 word (@a_litw - @a_base)/4 word $0300 word @minusPFA + $10 word @zPFA + $10 word @fl_countPFA + $10 word @wbangPFA + $10 word @lockdictPFA + $10 word @fl_lockPFA + $10 word @watPFA + $10 word (@a_zbranch - @a_base)/4 word $000C word @freedictPFA + $10 word @crPFA + $10 word @zPFA + $10 word (@a_branch - @a_base)/4 word $000C word @minusonePFA + $10 word @fl_lockPFA + $10 word @wbangPFA + $10 word @freedictPFA + $10 word @minusonePFA + $10 word (@a_zbranch - @a_base)/4 word $00EE word @mswDictendPFA + $10 word @watPFA + $10 word (@a_dup - @a_base)/4 word @fl_topPFA + $10 word @wbangPFA + $10 word (@a_swap - @a_base)/4 word @minusPFA + $10 word (@a_dup - @a_base)/4 word @fl_basePFA + $10 word @wbangPFA + $10 word (@a_dup - @a_base)/4 word @fl_inPFA + $10 word @wbangPFA + $10 word @oneminusPFA + $10 word @mswDictendPFA + $10 word @wbangPFA + $10 word @zPFA + $10 word (@a_dup - @a_base)/4 word @mswKeyTOPFA + $10 word @watPFA + $10 word @zPFA + $10 word (@a_twogtr - @a_base)/4 word @fkeyqPFA + $10 word (@a_zbranch - @a_base)/4 word $008E word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $005C word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $001E word (@a_drop - @a_base)/4 word @keytoPFA + $10 word (@a_zbranch - @a_base)/4 word $000C word (@a_litw - @a_base)/4 word $000D word (@a_eq - @a_base)/4 word (@a_branch - @a_base)/4 word $0004 word @minusonePFA + $10 word (@a_zbranch - @a_base)/4 word $FFEC word (@a_branch - @a_base)/4 word $0060 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $007B word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $001E word (@a_drop - @a_base)/4 word @keytoPFA + $10 word (@a_zbranch - @a_base)/4 word $000C word (@a_litw - @a_base)/4 word $007D word (@a_eq - @a_base)/4 word (@a_branch - @a_base)/4 word $0004 word @minusonePFA + $10 word (@a_zbranch - @a_base)/4 word $FFEC word (@a_branch - @a_base)/4 word $0038 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0005 word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0008 word (@a_drop - @a_base)/4 word (@a_litw - @a_base)/4 word $005C word @fl_inPFA + $10 word @watPFA + $10 word @cbangPFA + $10 word @oneplusPFA + $10 word @fl_inPFA + $10 word @watPFA + $10 word @oneplusPFA + $10 word (@a_dup - @a_base)/4 word @fl_topPFA + $10 word @watPFA + $10 word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0008 word @_eoomPFA + $10 word @clearkeysPFA + $10 word @resetPFA + $10 word @fl_inPFA + $10 word @wbangPFA + $10 word @zPFA + $10 word (@a_branch - @a_base)/4 word $0006 word (@a_drop - @a_base)/4 word @minusonePFA + $10 word (@a_zbranch - @a_base)/4 word $FF68 word (@a_lparenlooprparen - @a_base)/4 word $FF64 word (@a_swap - @a_base)/4 word (@a_over - @a_base)/4 word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $FF50 word (@a_dup - @a_base)/4 word @dotPFA + $10 word @dqPFA + $10 byte $05,"chars" word @crPFA + $10 word @fl_countPFA + $10 word @wbangPFA + $10 word @minusonePFA + $10 word (@a_branch - @a_base)/4 word $0006 word (@a_drop - @a_base)/4 word @zPFA + $10 word (@a_exit - @a_base)/4 word @fl_bufNFA + $10 fl_skeysNFA byte $88,"fl_skeys" fl_skeysPFA word @fl_lockPFA + $10 word @watPFA + $10 word @fl_countPFA + $10 word @watPFA + $10 word @zltgtPFA + $10 word @andPFA + $10 word (@a_zbranch - @a_base)/4 word $0036 word @fl_basePFA + $10 word @watPFA + $10 word @fl_countPFA + $10 word @watPFA + $10 word @boundsPFA + $10 word (@a_twogtr - @a_base)/4 word @iPFA + $10 word (@a_dup - @a_base)/4 word @catPFA + $10 word @emitPFA + $10 word @mswDictendPFA + $10 word @wbangPFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFF2 word @fl_topPFA + $10 word @watPFA + $10 word @mswDictendPFA + $10 word @wbangPFA + $10 word @zPFA + $10 word @fl_countPFA + $10 word @wbangPFA + $10 word @lockdictPFA + $10 word @zPFA + $10 word @fl_lockPFA + $10 word @wbangPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @fl_skeysNFA + $10 loadeeNFA byte $86,"loadee" loadeePFA word @twodupPFA + $10 word (@a_litw - @a_base)/4 word $000F word @andnPFA + $10 word @boundsPFA + $10 word (@a_twogtr - @a_base)/4 word @iPFA + $10 word @mcTPFA + $10 word (@a_litw - @a_base)/4 word $0010 word @eeReadPagePFA + $10 word (@a_drop - @a_base)/4 word @mcTPFA + $10 word (@a_litw - @a_base)/4 word $0010 word @boundsPFA + $10 word (@a_twogtr - @a_base)/4 word @iPFA + $10 word @catPFA + $10 word @emitPFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFF8 word (@a_litw - @a_base)/4 word $0010 word (@a_lparenpluslooprparen - @a_base)/4 word $FFDA word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $000F word @andnPFA + $10 word (@a_rot - @a_base)/4 word @plusPFA + $10 word (@a_swap - @a_base)/4 word (@a_litw - @a_base)/4 word $000F word @andPFA + $10 word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0014 word @boundsPFA + $10 word (@a_twogtr - @a_base)/4 word @iPFA + $10 word @eeReadBytePFA + $10 word @emitPFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFF8 word (@a_branch - @a_base)/4 word $0004 word @twodropPFA + $10 word (@a_exit - @a_base)/4 word @loadeeNFA + $10 _caendNFA byte $86,"_caend" _caendPFA word @cqPFA + $10 byte $04," cr " word (@a_over - @a_base)/4 word @cappendPFA + $10 word @cogidPFA + $10 word (@a_over - @a_base)/4 word @cappendncPFA + $10 word @cqPFA + $10 byte $14,"0 mcwEmitptr w! >cog" word (@a_swap - @a_base)/4 word @cappendPFA + $10 word (@a_exit - @a_base)/4 word @_caendNFA + $10 FLNFA byte $82,"FL" FLPFA word @fl_bufPFA + $10 word (@a_zbranch - @a_base)/4 word $001A word @cqPFA + $10 byte $08,"fl_skeys" word @mcTPFA + $10 word @ccopyPFA + $10 word @mcTPFA + $10 word @_caendPFA + $10 word @mcTPFA + $10 word @cogXOPFA + $10 word (@a_exit - @a_base)/4 word @FLNFA + $10 eeBotNFA byte $85,"eeBot" eeBotPFA word (@a_docon - @a_base)/4 long $00008000 word @eeBotNFA + $10 eeTopNFA byte $85,"eeTop" eeTopPFA word (@a_docon - @a_base)/4 long $00010000 word @eeTopNFA + $10 f_fillNFA byte $86,"f_fill" f_fillPFA word @mcPadPFA + $10 word (@a_litw - @a_base)/4 word $0080 word (@a_rot - @a_base)/4 word @fillPFA + $10 word @eeTopPFA + $10 word @eeBotPFA + $10 word (@a_twogtr - @a_base)/4 word @iPFA + $10 word @mcPadPFA + $10 word (@a_litw - @a_base)/4 word $0080 word @eeWritePagePFA + $10 word (@a_zbranch - @a_base)/4 word $0008 word @eeErrPFA + $10 word @crPFA + $10 word @leavePFA + $10 word (@a_litw - @a_base)/4 word $0080 word (@a_lparenpluslooprparen - @a_base)/4 word $FFE6 word @mcPadPFA + $10 word (@a_litw - @a_base)/4 word $0080 word @blPFA + $10 word @fillPFA + $10 word (@a_exit - @a_base)/4 word @f_fillNFA + $10 f_clearNFA byte $87,"f_clear" f_clearPFA word @eeTopPFA + $10 word @eeBotPFA + $10 word (@a_twogtr - @a_base)/4 word (@a_litw - @a_base)/4 word $FFFF word @iPFA + $10 word @eeWriteWordPFA + $10 word (@a_litw - @a_base)/4 word $0080 word (@a_lparenpluslooprparen - @a_base)/4 word $FFF2 word (@a_exit - @a_base)/4 word @f_clearNFA + $10 _fiNFA byte $83,"_fi" _fiPFA word @mcNumpadPFA + $10 word (@a_dup - @a_base)/4 word @watPFA + $10 word (@a_swap - @a_base)/4 word @twoplusPFA + $10 word @catPFA + $10 word @plusPFA + $10 word @twoplusPFA + $10 word @oneplusPFA + $10 word (@a_litw - @a_base)/4 word $0080 word @uslashmodPFA + $10 word (@a_swap - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0004 word @oneplusPFA + $10 word (@a_litw - @a_base)/4 word $0080 word @ustarPFA + $10 word (@a_exit - @a_base)/4 word @_fiNFA + $10 listNFA byte $84,"list" listPFA word @eeTopPFA + $10 word @eeBotPFA + $10 word (@a_twogtr - @a_base)/4 word @iPFA + $10 word @mcNumpadPFA + $10 word @numpadsizePFA + $10 word @namemaxPFA + $10 word @oneplusPFA + $10 word @twoplusPFA + $10 word @minPFA + $10 word @eeReadPagePFA + $10 word (@a_zbranch - @a_base)/4 word $0006 word @eeErrPFA + $10 word @leavePFA + $10 word @mcNumpadPFA + $10 word @watPFA + $10 word (@a_litw - @a_base)/4 word $FFFF word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0012 word @iPFA + $10 word @dotPFA + $10 word @crPFA + $10 word (@a_litw - @a_base)/4 word $0080 word @leavePFA + $10 word (@a_branch - @a_base)/4 word $0016 word @iPFA + $10 word @dotPFA + $10 word @mcNumpadPFA + $10 word (@a_dup - @a_base)/4 word @watPFA + $10 word @dotPFA + $10 word @twoplusPFA + $10 word @dotcstrPFA + $10 word @crPFA + $10 word @_fiPFA + $10 word (@a_lparenpluslooprparen - @a_base)/4 word $FFB4 word (@a_exit - @a_base)/4 word @listNFA + $10 f_findNFA byte $86,"f_find" f_findPFA word @zPFA + $10 word @eeTopPFA + $10 word @eeBotPFA + $10 word (@a_twogtr - @a_base)/4 word @iPFA + $10 word @mcNumpadPFA + $10 word @numpadsizePFA + $10 word @namemaxPFA + $10 word @oneplusPFA + $10 word @twoplusPFA + $10 word @minPFA + $10 word @eeReadPagePFA + $10 word (@a_zbranch - @a_base)/4 word $0006 word @eeErrPFA + $10 word @leavePFA + $10 word @mcNumpadPFA + $10 word @watPFA + $10 word (@a_litw - @a_base)/4 word $FFFF word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $000E word @nipPFA + $10 word (@a_litw - @a_base)/4 word $0080 word @leavePFA + $10 word (@a_branch - @a_base)/4 word $0014 word (@a_over - @a_base)/4 word @mcNumpadPFA + $10 word @twoplusPFA + $10 word (@a_cstreq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0006 word (@a_drop - @a_base)/4 word @iPFA + $10 word @_fiPFA + $10 word (@a_lparenpluslooprparen - @a_base)/4 word $FFBA word (@a_exit - @a_base)/4 word @f_findNFA + $10 f_freeNFA byte $86,"f_free" f_freePFA word @zPFA + $10 word @eeTopPFA + $10 word @eeBotPFA + $10 word (@a_twogtr - @a_base)/4 word @iPFA + $10 word @mcNumpadPFA + $10 word (@a_litw - @a_base)/4 word $0004 word @eeReadPagePFA + $10 word (@a_zbranch - @a_base)/4 word $0006 word @eeErrPFA + $10 word @leavePFA + $10 word @mcNumpadPFA + $10 word @watPFA + $10 word (@a_litw - @a_base)/4 word $FFFF word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0010 word (@a_drop - @a_base)/4 word @iPFA + $10 word (@a_litw - @a_base)/4 word $0080 word @leavePFA + $10 word (@a_branch - @a_base)/4 word $0004 word @_fiPFA + $10 word (@a_lparenpluslooprparen - @a_base)/4 word $FFCE word (@a_exit - @a_base)/4 word @f_freeNFA + $10 f_wfileNFA byte $87,"f_wfile" f_wfilePFA word @f_freePFA + $10 word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $005E word (@a_dup - @a_base)/4 word @fl_countPFA + $10 word @watPFA + $10 word @plusPFA + $10 word @eeTopPFA + $10 word (@a_lt - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0046 word @fl_basePFA + $10 word @watPFA + $10 word @fl_countPFA + $10 word @watPFA + $10 word @boundsPFA + $10 word (@a_twogtr - @a_base)/4 word (@a_dup - @a_base)/4 word @iPFA + $10 word @fl_countPFA + $10 word @watPFA + $10 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0080 word @minPFA + $10 word (@a_swap - @a_base)/4 word (@a_over - @a_base)/4 word @minusPFA + $10 word @fl_countPFA + $10 word @wbangPFA + $10 word @eeWritePagePFA + $10 word (@a_zbranch - @a_base)/4 word $0006 word @eeErrPFA + $10 word @leavePFA + $10 word (@a_litw - @a_base)/4 word $0080 word @plusPFA + $10 word (@a_litw - @a_base)/4 word $0080 word (@a_lparenpluslooprparen - @a_base)/4 word $FFD0 word (@a_drop - @a_base)/4 word (@a_branch - @a_base)/4 word $0006 word (@a_drop - @a_base)/4 word @_eoomPFA + $10 word (@a_branch - @a_base)/4 word $0008 word (@a_drop - @a_base)/4 word @eeErrPFA + $10 word @crPFA + $10 word (@a_exit - @a_base)/4 word @f_wfileNFA + $10 FWNFA byte $82,"FW" FWPFA word @fl_bufPFA + $10 word (@a_zbranch - @a_base)/4 word $00B0 word @fl_countPFA + $10 word @watPFA + $10 word @zPFA + $10 word (@a_twogtr - @a_base)/4 word @fl_basePFA + $10 word @watPFA + $10 word @catPFA + $10 word (@a_litw - @a_base)/4 word $002E word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0008 word @leavePFA + $10 word (@a_branch - @a_base)/4 word $0016 word @fl_basePFA + $10 word @watPFA + $10 word @oneplusPFA + $10 word @fl_basePFA + $10 word @wbangPFA + $10 word @fl_countPFA + $10 word @watPFA + $10 word @oneminusPFA + $10 word @fl_countPFA + $10 word @wbangPFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFD4 word @fl_basePFA + $10 word @watPFA + $10 word (@a_litw - @a_base)/4 word $0003 word @plusPFA + $10 word (@a_litw - @a_base)/4 word $0020 word @boundsPFA + $10 word (@a_twogtr - @a_base)/4 word @iPFA + $10 word @catPFA + $10 word @blPFA + $10 word @lteqPFA + $10 word @lastiqPFA + $10 word @orPFA + $10 word (@a_zbranch - @a_base)/4 word $0006 word @iPFA + $10 word @leavePFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFEA word @fl_basePFA + $10 word @watPFA + $10 word @minusPFA + $10 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0003 word @minusPFA + $10 word @fl_basePFA + $10 word @watPFA + $10 word @twoplusPFA + $10 word @cbangPFA + $10 word @fl_countPFA + $10 word @watPFA + $10 word (@a_swap - @a_base)/4 word @minusPFA + $10 word (@a_dup - @a_base)/4 word @fl_basePFA + $10 word @watPFA + $10 word @cbangPFA + $10 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0008 word @rshiftPFA + $10 word @fl_basePFA + $10 word @watPFA + $10 word @oneplusPFA + $10 word @cbangPFA + $10 word (@a_zbranch - @a_base)/4 word $0004 word @f_wfilePFA + $10 word @fl_topPFA + $10 word @watPFA + $10 word @mswDictendPFA + $10 word @wbangPFA + $10 word @lockdictPFA + $10 word @zPFA + $10 word @fl_lockPFA + $10 word @wbangPFA + $10 word @freedictPFA + $10 word (@a_exit - @a_base)/4 word @FWNFA + $10 f_alNFA byte $84,"f_al" f_alPFA word (@a_dup - @a_base)/4 word @eeReadWordPFA + $10 word (@a_over - @a_base)/4 word @twoplusPFA + $10 word @eeReadBytePFA + $10 word (@a_rot - @a_base)/4 word @plusPFA + $10 word @twoplusPFA + $10 word @oneplusPFA + $10 word (@a_exit - @a_base)/4 word @f_alNFA + $10 f_loadNFA byte $86,"f_load" f_loadPFA word @f_findPFA + $10 word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $002C word @f_alPFA + $10 word @zPFA + $10 word @mcTPFA + $10 word @cbangPFA + $10 word @mcTPFA + $10 word @cappendncPFA + $10 word @mcTPFA + $10 word @cappendncPFA + $10 word @cqPFA + $10 byte $06,"loadee" word @mcTPFA + $10 word @cappendPFA + $10 word @mcTPFA + $10 word @_caendPFA + $10 word @mcTPFA + $10 word @cogXOPFA + $10 word (@a_branch - @a_base)/4 word $0004 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @f_loadNFA + $10 loadNFA byte $84,"load" loadPFA word @parsenwPFA + $10 word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0008 word @f_loadPFA + $10 word (@a_branch - @a_base)/4 word $0004 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @loadNFA + $10 versionNFA byte $87,"version" versionPFA word @cqPFA + $10 byte $20,"PropForth v2.5 2009OCT24 17:15 0" word (@a_exit - @a_base)/4 word @versionNFA + $10 freeNFA byte $84,"free" freePFA word @mswDictendPFA + $10 word @watPFA + $10 word @mswHerePFA + $10 word @watPFA + $10 word @minusPFA + $10 word @dotPFA + $10 word @dqPFA + $10 byte $0D,"bytes free - " word @parPFA + $10 word @mcwAherePFA + $10 word @watPFA + $10 word @minusPFA + $10 word @dotPFA + $10 word @dqPFA + $10 byte $0E,"cog longs free" word @crPFA + $10 word (@a_exit - @a_base)/4 word @freeNFA + $10 saveforthNFA byte $89,"saveforth" saveforthPFA word @cqPFA + $10 byte $07,"mswHere" word @findPFA + $10 word (@a_zbranch - @a_base)/4 word $0060 word @versionPFA + $10 word (@a_dup - @a_base)/4 word @catPFA + $10 word @plusPFA + $10 word (@a_dup - @a_base)/4 word @catPFA + $10 word @oneplusPFA + $10 word (@a_swap - @a_base)/4 word @cbangPFA + $10 word @pfagtnfaPFA + $10 word @mswHerePFA + $10 word @watPFA + $10 word (@a_swap - @a_base)/4 word (@a_dup - @a_base)/4 word @watPFA + $10 word (@a_over - @a_base)/4 word @eeWriteWordPFA + $10 word @twoplusPFA + $10 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $007F word @andPFA + $10 word @zeqPFA + $10 word (@a_zbranch - @a_base)/4 word $FFEA word (@a_twogtr - @a_base)/4 word @iboundPFA + $10 word @iPFA + $10 word @minusPFA + $10 word (@a_litw - @a_base)/4 word $0080 word @minPFA + $10 word (@a_dup - @a_base)/4 word @iPFA + $10 word (@a_dup - @a_base)/4 word (@a_rot - @a_base)/4 word @eeWritePagePFA + $10 word (@a_zbranch - @a_base)/4 word $0004 word @leavePFA + $10 word (@a_litw - @a_base)/4 word $002E word @emitPFA + $10 word (@a_lparenpluslooprparen - @a_base)/4 word $FFDC word (@a_branch - @a_base)/4 word $0004 word (@a_drop - @a_base)/4 word @crPFA + $10 word (@a_exit - @a_base)/4 word @saveforthNFA + $10 _forgetNFA byte $87,"_forget" _forgetPFA word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0026 word @findPFA + $10 word (@a_zbranch - @a_base)/4 word $0016 word @pfagtnfaPFA + $10 word @nfagtlfaPFA + $10 word (@a_dup - @a_base)/4 word @mswHerePFA + $10 word @wbangPFA + $10 word @watPFA + $10 word @mswlastnfaPFA + $10 word @wbangPFA + $10 word (@a_branch - @a_base)/4 word $0008 word @dotcstrPFA + $10 word @qqqPFA + $10 word @crPFA + $10 word (@a_branch - @a_base)/4 word $0004 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @_forgetNFA + $10 forgetNFA byte $86,"forget" forgetPFA word @parsenwPFA + $10 word @_forgetPFA + $10 word (@a_exit - @a_base)/4 word @forgetNFA + $10 cm_fstartNFA byte $89,"cm_fstart" cm_fstartPFA word (@a_doconw - @a_base)/4 word @fstartPFA + $10 word @cm_fstartNFA + $10 fstartNFA byte $86,"fstart" fstartPFA word @cogidPFA + $10 word (@a_dup - @a_base)/4 word @cogInbytePFA + $10 word (@a_litw - @a_base)/4 word $0010 word @lshiftPFA + $10 word @cm_entryPFA + $10 word (@a_litw - @a_base)/4 word $0002 word @lshiftPFA + $10 word @orPFA + $10 word (@a_swap - @a_base)/4 word @orPFA + $10 word @resetDregPFA + $10 word (@a_bang - @a_base)/4 word @mcwInbytePFA + $10 word @matPFA + $10 word @lgtwPFA + $10 word (@a_swap - @a_base)/4 word (@a_litw - @a_base)/4 word $0100 word @mcwInbytePFA + $10 word @wbangPFA + $10 word @zPFA + $10 word @mcwEmitptrPFA + $10 word @wbangPFA + $10 word @fMaskPFA + $10 word (@a_at - @a_base)/4 word @mcwDebugcmdPFA + $10 word @wbangPFA + $10 word @parPFA + $10 word (@a_at - @a_base)/4 word (@a_litw - @a_base)/4 word $0008 word @plusPFA + $10 word (@a_litw - @a_base)/4 word $00F8 word @zPFA + $10 word @fillPFA + $10 word @hexPFA + $10 word @ca_varEndPFA + $10 word @mcwAherePFA + $10 word @wbangPFA + $10 word @lockdictPFA + $10 word @mswHerePFA + $10 word @watPFA + $10 word @zeqPFA + $10 word (@a_zbranch - @a_base)/4 word $0024 word @zPFA + $10 word @fl_lockPFA + $10 word @wbangPFA + $10 word @lastnfaPFA + $10 word @nfagtpfaPFA + $10 word @twoplusPFA + $10 word @alignlPFA + $10 word @fourplusPFA + $10 word @mswHerePFA + $10 word @wbangPFA + $10 word (@a_litw - @a_base)/4 word $7FFF word (@a_dup - @a_base)/4 word @mswMemendPFA + $10 word @wbangPFA + $10 word @mswDictendPFA + $10 word @wbangPFA + $10 word @freedictPFA + $10 word @rsTopPFA + $10 word @oneminusPFA + $10 word @rsPtrPFA + $10 word (@a_bang - @a_base)/4 word (@a_litw - @a_base)/4 word $FFFF word (@a_eq - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0014 word (@a_litw - @a_base)/4 word $0008 word @lshiftPFA + $10 word @cogidPFA + $10 word @plusPFA + $10 word @vxcogPFA + $10 word @wbangPFA + $10 word (@a_branch - @a_base)/4 word $0004 word (@a_drop - @a_base)/4 word @cqPFA + $10 byte $04,"boot" word @mcTPFA + $10 word @ccopyPFA + $10 word @cogidPFA + $10 word @mcTPFA + $10 word @cappendnPFA + $10 word @mcTPFA + $10 word @findPFA + $10 word (@a_zbranch - @a_base)/4 word $0008 word @executePFA + $10 word (@a_branch - @a_base)/4 word $0004 word (@a_drop - @a_base)/4 word @minusonePFA + $10 word @compileqPFA + $10 word @zeqPFA + $10 word (@a_zbranch - @a_base)/4 word $0014 word @dqPFA + $10 byte $03,"Cog" word @cogidPFA + $10 word @dotPFA + $10 word @dqPFA + $10 byte $02,"ok" word @crPFA + $10 word (@a_zbranch - @a_base)/4 word $0008 word @minusonePFA + $10 word @mcwDebugvaluePFA + $10 word @mbangPFA + $10 word @interpretPFA + $10 word @zPFA + $10 word @zPFA + $10 word (@a_zbranch - @a_base)/4 word $FFD4 word (@a_exit - @a_base)/4 word @fstartNFA + $10 boot6NFA byte $85,"boot6" boot6PFA word @cogidPFA + $10 word @gtcogPFA + $10 word @cogplusPFA + $10 word (@a_exit - @a_base)/4 word @boot6NFA + $10 cogqNFA byte $84,"cog?" cogqPFA word @dqPFA + $10 byte $0C,"Forth cogs: " word @ffcogPFA + $10 word @watPFA + $10 word @dotPFA + $10 word (@a_litw - @a_base)/4 word $002D word @emitPFA + $10 word @spacePFA + $10 word @lfcogPFA + $10 word @watPFA + $10 word @dotPFA + $10 word @crPFA + $10 word (@a_exit - @a_base)/4 word @cogqNFA + $10 cogplusNFA byte $84,"cog+" cogplusPFA word @ffcogPFA + $10 word @watPFA + $10 word @oneminusPFA + $10 word (@a_dup - @a_base)/4 word @zgteqPFA + $10 word (@a_zbranch - @a_base)/4 word $000E word (@a_dup - @a_base)/4 word @ffcogPFA + $10 word @wbangPFA + $10 word @cogresetPFA + $10 word (@a_branch - @a_base)/4 word $0004 word (@a_drop - @a_base)/4 word @cogqPFA + $10 word (@a_exit - @a_base)/4 word @cogplusNFA + $10 cogminusNFA byte $84,"cog-" cogminusPFA word @ffcogPFA + $10 word @watPFA + $10 word (@a_dup - @a_base)/4 word @cogidPFA + $10 word @ltgtPFA + $10 word (@a_swap - @a_base)/4 word @oneplusPFA + $10 word (@a_dup - @a_base)/4 word @lfcogPFA + $10 word @watPFA + $10 word @lteqPFA + $10 word (@a_rot - @a_base)/4 word @andPFA + $10 word (@a_zbranch - @a_base)/4 word $0010 word (@a_dup - @a_base)/4 word @oneminusPFA + $10 word @cogstopPFA + $10 word @ffcogPFA + $10 word @wbangPFA + $10 word (@a_branch - @a_base)/4 word $0004 word (@a_drop - @a_base)/4 word @cogqPFA + $10 word (@a_exit - @a_base)/4 word @cogminusNFA + $10 stqNFA byte $83,"st?" stqPFA word @dqPFA + $10 byte $04,"ST: " word @stPtrPFA + $10 word (@a_at - @a_base)/4 word @twoplusPFA + $10 word (@a_dup - @a_base)/4 word @stTopPFA + $10 word (@a_lt - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0022 word @stTopPFA + $10 word (@a_swap - @a_base)/4 word @minusPFA + $10 word @zPFA + $10 word (@a_twogtr - @a_base)/4 word @stTopPFA + $10 word @twominusPFA + $10 word @iPFA + $10 word @minusPFA + $10 word (@a_at - @a_base)/4 word @dotlongPFA + $10 word @spacePFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFF0 word (@a_branch - @a_base)/4 word $0004 word (@a_drop - @a_base)/4 word @crPFA + $10 word (@a_exit - @a_base)/4 word @stqNFA + $10 scNFA byte $82,"sc" scPFA word @stTopPFA + $10 word @stPtrPFA + $10 word (@a_at - @a_base)/4 word @minusPFA + $10 word (@a_litw - @a_base)/4 word $0003 word @minusPFA + $10 word (@a_dup - @a_base)/4 word @dotPFA + $10 word @dqPFA + $10 byte $0D,"items cleared" word @crPFA + $10 word (@a_dup - @a_base)/4 word @zgtPFA + $10 word (@a_zbranch - @a_base)/4 word $000C word @zPFA + $10 word (@a_twogtr - @a_base)/4 word (@a_drop - @a_base)/4 word (@a_lparenlooprparen - @a_base)/4 word $FFFC word (@a_exit - @a_base)/4 word @scNFA + $10 _pnaNFA byte $84,"_pna" _pnaPFA word (@a_dup - @a_base)/4 word @dotwordPFA + $10 word (@a_litw - @a_base)/4 word $003A word @emitPFA + $10 word @watPFA + $10 word (@a_dup - @a_base)/4 word @dotwordPFA + $10 word @spacePFA + $10 word @pfagtnfaPFA + $10 word @dotstrnamePFA + $10 word @spacePFA + $10 word (@a_exit - @a_base)/4 word @_pnaNFA + $10 pfaqNFA byte $84,"pfa?" pfaqPFA word (@a_dup - @a_base)/4 word @pfagtnfaPFA + $10 word (@a_dup - @a_base)/4 word @catPFA + $10 word (@a_dup - @a_base)/4 word (@a_litw - @a_base)/4 word $0080 word @andPFA + $10 word @zeqPFA + $10 word (@a_swap - @a_base)/4 word @namemaxPFA + $10 word @andPFA + $10 word @zltgtPFA + $10 word (@a_rot - @a_base)/4 word @nfagtpfaPFA + $10 word (@a_rot - @a_base)/4 word (@a_zbranch - @a_base)/4 word $0004 word @watPFA + $10 word (@a_rot - @a_base)/4 word (@a_eq - @a_base)/4 word @andPFA + $10 word (@a_exit - @a_base)/4 word @pfaqNFA + $10 rsqNFA byte $83,"rs?" rsqPFA word @dqPFA + $10 byte $04,"RS: " word @rsTopPFA + $10 word @rsPtrPFA + $10 word (@a_at - @a_base)/4 word @oneplusPFA + $10 word @minusPFA + $10 word @zPFA + $10 word (@a_twogtr - @a_base)/4 word @rsTopPFA + $10 word @oneminusPFA + $10 word @iPFA + $10 word @minusPFA + $10 word (@a_at - @a_base)/4 word (@a_dup - @a_base)/4 word @twominusPFA + $10 word @watPFA + $10 word @pfaqPFA + $10 word (@a_zbranch - @a_base)/4 word $000A word @twominusPFA + $10 word @_pnaPFA + $10 word (@a_branch - @a_base)/4 word $0006 word @dotlongPFA + $10 word @spacePFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFDC word @crPFA + $10 word (@a_exit - @a_base)/4 word @rsqNFA + $10 lasmNFA byte $84,"lasm" lasmPFA word @fourplusPFA + $10 word (@a_dup - @a_base)/4 word @matPFA + $10 word (@a_swap - @a_base)/4 word @fourplusPFA + $10 word (@a_swap - @a_base)/4 word (@a_over - @a_base)/4 word @matPFA + $10 word (@a_dup - @a_base)/4 word @mcwAherePFA + $10 word @wbangPFA + $10 word (@a_twogtr - @a_base)/4 word @fourplusPFA + $10 word (@a_dup - @a_base)/4 word @matPFA + $10 word @acommaPFA + $10 word (@a_lparenlooprparen - @a_base)/4 word $FFF6 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @lasmNFA + $10 f_eraseNFA byte $87,"f_erase" f_erasePFA word @parsenwPFA + $10 word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $002A word @f_findPFA + $10 word (@a_dup - @a_base)/4 word (@a_zbranch - @a_base)/4 word $001C word @eeTopPFA + $10 word (@a_swap - @a_base)/4 word (@a_twogtr - @a_base)/4 word (@a_litw - @a_base)/4 word $FFFF word @iPFA + $10 word @eeWriteWordPFA + $10 word (@a_litw - @a_base)/4 word $0080 word (@a_lparenpluslooprparen - @a_base)/4 word $FFF2 word (@a_branch - @a_base)/4 word $0004 word (@a_drop - @a_base)/4 word (@a_branch - @a_base)/4 word $0004 word (@a_drop - @a_base)/4 word (@a_exit - @a_base)/4 word @f_eraseNFA + $10 mswlastnfaNFA byte $8A,"mswlastnfa" mswlastnfaPFA word (@a_dovarw - @a_base) /4 word @mswlastnfaNFA + $10 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 long 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 ForthDictEnd ForthMemoryEnd