TriOS-alt/zubehör/PropForth/PropForth.spin

6548 lines
299 KiB
Plaintext
Raw Normal View History

2010-11-26 23:58:06 +01:00
{{
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