;
; BBC FORTH ROM DISASSEMBLY
;

BOS	=	$10		; BOTTOM OF DATA STACK
TOS	=	$58		; TOP OF DATA STACK
N	=	$60		; SCRATCH WORKSPACE
XSAVE	=	$68		; TEMPORARY FOR X REGISTER
W	=	XSAVE+2		; CODE FIELD POINTER
IP	=	W+2		; INTERPRETIVE POINTER
UP	=	IP+2		; USER AREA POINTER

WBSIZ	=	1+255+2		; WORD BUFFER SIZE

UAREA	=	$400		; USER AREA
WORDBU	=	UAREA+64	; WORD BUFFER
TIBB	=	WORDBU+WBSIZ	; TERMINAL INPUT BUFFER
PADD	=	TIBB+126	; PAD
RAM	=	PADD+80		; RAM RELOCATION ADDR

EM	=	$7C00		; END OF MEMORY+1
BLKSIZ	=	1024
HDBT	=	BLKSIZ+4
NOBUF	=	2
BUFS	=	NOBUF*HDBT
BUF1	=	EM-BUFS		; FIRST BLOCK BUFFER

	*=	$8000		; ROM ADDRESS

;	ROM HEADER

L8000	JMP	L80D5		; LANGUAGE ENTRY
L8003	JMP	L805F		; SERVICE ENTRY
L8006	.BYTE	$E2		; ROM TYPE
L8007	.BYTE	COPYR-L8000	; COPYRIGHT OFFSET
L8008	.BYTE	1		; BINARY VERSION NUMBER
TITLE	.BYTE	'FORTH'		; TITLE STRING
	.BYTE	0
VERS	.BYTE	'1.03'		; VERSION STRING
COPYR	.BYTE	0,'(C)'		; COPYRIGHT IDENT
	.BYTE	' Acornsoft Ltd. 1983'
	.BYTE	0
	.WORD	L8000		; TUBE RELOC ADDRESS

	.WORD	0

L8030	.BYTE	$A,$D,'COLD or WARM start (C/W)? ',0
	.BYTE	0

L804E	LDA	#>L8000
	STA	$13
	LDY	#0
L8054	LDA	($12),Y
	BEQ	L805E
	JSR	$FFEE
	INY
	BNE	L8054
L805E	RTS

;	SERVICE ENTRY

L805F	CMP	#4
	BNE	L80B0
	PHA
	TYA
	PHA
	LDA	($F2),Y
	CMP	#'F'
	BEQ	L8070
	CMP	#'f'
	BNE	L80AC
L8070	INY
	LDA	($F2),Y
	CMP	#'O'
	BEQ	L807B
	CMP	#'o'
	BNE	L80A8

L807B	INY
	LDA	($F2),Y
	CMP	#'R'
	BEQ	L8086
	CMP	#'r'
	BNE	L80A8
L8086	INY
	LDA	($F2),Y
	CMP	#'T'
	BEQ	L8091
	CMP	#'t'
	BNE	L80A8
L8091	INY
	LDA	($F2),Y
	CMP	#'H'
	BEQ	L809C
	CMP	#'h'
	BNE	L80A8
L809C	INY
	LDA	($F2),Y
	CMP	#$D
	BNE	L80A8
	LDA	#$8E
	JMP	$FFF4

L80A8	CMP	#'.'
	BEQ	L809C
L80AC	PLA
	TAY
	PLA
	RTS

L80B0	CMP	#9
	BEQ	L80B5
	RTS

L80B5	PHA
	TYA
	PHA
	JSR	$FFE7
	LDA	#<TITLE
	STA	$12
	JSR	L804E
	LDA	#' '
	JSR	$FFEE
	LDA	#<VERS
	STA	$12
	JSR	L804E
	JSR	$FFE7
	PLA
	TAY
	PLA
	RTS

;	LANGUAGE ENTRY

L80D5	CMP	#1
	BEQ	L80DA
	RTS

L80DA	CLI
	LDA	#<L8030
	STA	$12
L80DF	JSR	L804E
	JSR	$FFE0
	CMP	#$1B
	BNE	L80F0
	PHA
	LDA	#$7E
	JSR	$FFF4
	PLA
L80F0	CMP	#'W'
	BEQ	L80FB
	CMP	#'C'
	BNE	L80DF
	JMP	L8102

L80FB	JMP	L8105

	.BYTE	$FF,$FF

	*=	L8000+$100

ORIG	=	*		; FORTH ORIGIN

	NOP
	NOP
L8102	JMP	COLD+2
L8105	JMP	WARM+2

L8108	.WORD	START+2
L810A	.WORD	PABOR+2

; BOOT-UP LITERALS

L810C	.WORD	TOPNFA		; TOP NFA
	.WORD	$7F		; BACKSPACE CHARACTER
L8110	.WORD	UAREA		; INITIAL USER AREA
	.WORD	TOS		; INITIAL TOP OF STACK
	.WORD	$1FF		; INITIAL TOP OF RETURN STACK
	.WORD	TIBB		; INITIAL TERMINAL INPUT BUFFER
	.WORD	31		; INITIAL WIDTH
	.WORD	0		; INITIAL WARNING
	.WORD	TOPDP		; INITIAL FENCE
	.WORD	TOPDP		; INITIAL DP
	.WORD	VL0-REL		; INITIAL VOC-LINK
	.WORD	1

	.BYTE	'RdeG-H'	; AUTHOR ?

L812A	.WORD	L9501
L812C	.WORD	ESCAPE+2
L812E	.WORD	OSERR+2

L8130	LDA	L8110+1
	STA	UP+1
	LDA	L8110
	STA	UP
L813A	LDA	L810C,Y
	STA	(UP),Y
	DEY
	BPL	L813A
	LDA	#$6C
	STA	W-1
	CLD
	JMP	RPSTO+2		; RUN FORTH

;	LIT

L814A	.BYTE	$83,'LI',$D4
	.WORD	0
LIT	.WORD	*+2
	LDA	(IP),Y
	PHA
	INC	IP
	BNE	L815B
	INC	IP+1
L815B	LDA	(IP),Y
	INC	IP
	BNE	PUSH
	INC	IP+1

PUSH	DEX
	DEX
PUT	STA	1,X
	PLA
	STA	0,X
NEXT	LDY	#1
L816C	LDA	(IP),Y
	STA	W+1
	DEY
	LDA	(IP),Y
	STA	W
	CLC
	LDA	IP
	ADC	#2
	STA	IP
	BCC	L8180
	INC	IP+1
L8180	BIT	$FF
	BMI	L8187
	JMP	W-1

L8187	JMP	L94ED

SETUP	ASL	A
	STA	$5F
L818D	LDA	0,X
	STA	N,Y
	INX
	INY
	CPY	$5F
	BNE	L818D
	LDY	#0
	RTS

;	EXECUTE

L819B	.BYTE	$87,'EXECUT',$C5
	.WORD	L814A
EXEC	.WORD	*+2
	LDA	0,X
	STA	W
	LDA	1,X
	STA	W+1
	INX
	INX
	JMP	W-1

;	@EXECUTE

L81B4	.BYTE	$88,'@EXECUT',$C5
	.WORD	L819B
ATEXEC	.WORD	*+2
	LDA	(0,X)
	STA	W
	INC	0,X
	BNE	L81CB
	INC	1,X
L81CB	LDA	(0,X)
	STA	W+1
	INX
	INX
	JMP	W-1

;	BRANCH

L81D4	.BYTE	$86,'BRANC',$C8
	.WORD	L81B4
BRAN	.WORD	L81E1

L81DF	LDX	XSAVE
L81E1	CLC
	LDA	(IP),Y
	ADC	IP
	PHA
	INY
	LDA	(IP),Y
	ADC	IP+1
	STA	IP+1
	PLA
	STA	IP
	JMP	L816C

;	0BRANCH

L81F4	.BYTE	$87,'0BRANC',$C8
	.WORD	L81D4
ZBRAN	.WORD	*+2
	INX
	INX
	LDA	$FE,X
	ORA	$FF,X
	BEQ	L81E1
BUMP	CLC
	LDA	IP
	ADC	#2
	STA	IP
	BCC	L8213
	INC	IP+1
L8213	JMP	NEXT

;	(LOOP)

L8216	.BYTE	$86,'(LOOP',$A9
	.WORD	L81F4
XLOOP	.WORD	*+2
	STX	XSAVE
	TSX
	INC	$101,X
	BNE	L8233
	TYA
	SEC
	ADC	$102,X
	BVS	L8246
	STA	$102,X
L8233	CLC
	LDA	$103,X
	SBC	$101,X
	LDA	$104,X
	SBC	$102,X
	BVC	L8244
	EOR	#$80
L8244	BPL	L81DF

L8246	LDX	XSAVE
	PLA
	PLA
	PLA
	PLA
	JMP	BUMP

;	(+LOOP)

L824F	.BYTE	$87,'(+LOOP',$A9
	.WORD	L8216
XPLOO	.WORD	*+2
	LDA	1,X
	PHA
	PHA
	LDA	0,X
	INX
	INX
	STX	XSAVE
	TSX
	INX
	INX
	CLC
	ADC	$101,X
	STA	$101,X
	PLA
	ADC	$102,X
	STA	$102,X
	PLA
	BVS	L8246
	BPL	L8233
	SEC
	LDA	$101,X
	SBC	$103,X
	LDA	$102,X
	SBC	$104,X
	BVS	L8246
	BVC	L8244

;	(ULOOP)

L828C	.BYTE	$87,'(ULOOP',$A9
	.WORD	L824F
XPULO	.WORD	*+2
	STX	XSAVE
	TSX
	INC	$101,X
	BNE	L82A3
	INC	$102,X
L82A3	CLC
	LDA	$103,X
	SBC	$101,X
	LDA	$104,X
	SBC	$102,X
	JMP	L8244

;	I

L82B3	.BYTE	$81,$C9
	.WORD	L828C
IDO	.WORD	*+2
	STX	XSAVE
	TSX
	LDA	$101,X
	PHA
	LDA	$102,X
	LDX	XSAVE
	JMP	PUSH

;	(DO)

L82C8	.BYTE	$84,'(DO',$A9
	.WORD	L82B3
XDO	.WORD	*+2
	LDA	3,X
	PHA
	LDA	2,X
	PHA
	LDA	1,X
	PHA
	LDA	0,X
	PHA

POPTWO	INX
	INX

POP	INX
	INX
	JMP	NEXT

;	HIADDR

L82E4	.BYTE	$86,'HIADD',$D2
	.WORD	L82C8
HIADR	.WORD	*+2
	STX	XSAVE
	LDA	#$82
	JSR	$FFF4
	TXA
	LDX	XSAVE
	PHA
	TYA
	JMP	PUSH

;	MODEADDR

L82FE	.BYTE	$88,'MODEADD',$D2
	.WORD	L82E4
MODADR	.WORD	*+2
	STX	XSAVE
	LDA	0,X
	TAX
	LDA	#$85
	JSR	$FFF4
	TXA
	LDX	XSAVE
	STY	1,X
	STA	0,X
	JMP	NEXT

;	DIGIT

L831F	.BYTE	$85,'DIGI',$D4
	.WORD	L82FE
DIGIT	.WORD	*+2
	SEC
	LDA	2,X
	SBC	#'0'
	BMI	L8348
	CMP	#$A
	BMI	L833B
	SEC
	SBC	#7
	CMP	#$A
	BMI	L8348
L833B	CMP	0,X
	BPL	L8348
	STA	2,X
	LDA	#1
	PHA
	TYA
	JMP	PUT

L8348	TYA
	PHA
	INX
	INX
	JMP	PUT

;	(FIND)

L834F	.BYTE	$86,'(FIND',$A9
	.WORD	L831F
PFIND	.WORD	*+2
	LDA	#2
	JSR	SETUP
	STX	XSAVE
L8361	LDY	#0
	LDA	(N),Y
	EOR	(N+2),Y
	AND	#$3F
	BNE	L8398
L836B	INY
	LDA	(N),Y
	EOR	(N+2),Y
	ASL	A
	BNE	L8396
	BCC	L836B
	LDX	XSAVE
	DEX
	DEX
	DEX
	DEX
	CLC
	TYA
	ADC	#3
	ADC	N
	STA	2,X
	LDY	#0
	TYA
	ADC	N+1
	STA	3,X
	STY	1,X
	LDA	(N),Y
	STA	0,X
	LDA	#1
	PHA
	JMP	PUSH

L8396	BCS	L839D
L8398	INY
	LDA	(N),Y
	BPL	L8398
L839D	INY
	LDA	(N),Y
	TAX
	INY
	LDA	(N),Y
	STA	N+1
	STX	N
	ORA	N
	BNE	L8361
	LDX	XSAVE
	LDA	#0
	PHA
	JMP	PUSH

;	ENCLOSE

L83B4	.BYTE	$87,'ENCLOS',$C5
	.WORD	L834F
ENCL	.WORD	*+2
	LDA	#2
	JSR	SETUP
	TXA
	SEC
	SBC	#8
	TAX
	DEY
	STY	N+1
	DEC	N+3
L83CF	INY
	BNE	L83D6
	INC	N+1
	INC	N+3
L83D6	LDA	(N+2),Y
	CMP	N
	BEQ	L83CF
	STY	4,X
	LDA	N+1
	STA	5,X
L83E2	LDA	(N+2),Y
	BNE	L8404
	STY	2,X
	STY	0,X
	LDA	N+1
	STA	3,X
	STA	1,X
	TYA
	CMP	4,X
	BNE	L8401
	LDA	N+1
	CMP	5,X
	BNE	L8401
	INC	2,X
	BNE	L8401
	INC	3,X
L8401	JMP	NEXT

L8404	INY
	BNE	L840B
L8407	INC	N+3
	INC	N+1
L840B	CMP	N
	BNE	L83E2
	STY	0,X
	LDA	N+1
	STA	1,X
	STA	3,X
	TYA
	BNE	L841C
	DEC	3,X
L841C	DEY
	STY	2,X
	JMP	NEXT

;	SP@

L8422	.BYTE	$83,'SP',$C0
	.WORD	L83B4
SPAT	.WORD	*+2
	TXA
L842B	PHA
	LDA	#0
	JMP	PUSH

;	RP@

L8431	.BYTE	$83,'RP',$C0
	.WORD	L8422
RPAT	.WORD	*+2
	STX	XSAVE
	TSX
	TXA
	LDX	XSAVE
	PHA
	LDA	#1
	JMP	PUSH

;	SP!

L8445	.BYTE	$83,'SP',$A1
	.WORD	L8431
SPSTO	.WORD	*+2
	LDY	#6
	LDA	(UP),Y
	TAX
	JMP	NEXT

;	RP!

L8455	.BYTE	$83,'RP',$A1
	.WORD	L8445
RPSTO	.WORD	*+2
	STX	XSAVE
	LDY	#8
	LDA	(UP),Y
	TAX
	TXS
L8465	LDX	XSAVE
	JMP	NEXT

;	(EMIT)

L846A	.BYTE	$86,'(EMIT',$A9
	.WORD	L8455
PEMIT	.WORD	*+2
	TYA
	SEC
	LDY	#$1A
	ADC	(UP),Y
	STA	(UP),Y
	INY
	LDA	#0
	ADC	(UP),Y
	STA	(UP),Y
	LDA	0,X
	AND	#$7F
	JSR	$FFEE
	JMP	POP

;	>VDU

L848E	.BYTE	$84,'>VD',$D5
	.WORD	L9FFB-REL
TOVDU	.WORD	*+2
	LDA	0,X
	JSR	$FFEE
	JMP	POP

;	CMOVE

L849F	.BYTE	$85,'CMOV',$C5
	.WORD	L848E
CMOVE	.WORD	*+2
	SEC
	TYA
	SBC	0,X
	TYA
	SBC	1,X
	BPL	L84D0
	LDA	#3
	JSR	SETUP
L84B7	CPY	N
	BNE	L84C2
	DEC	N+1
	BPL	L84C2
	JMP	NEXT

L84C2	LDA	(N+4),Y
	STA	(N+2),Y
	INY
	BNE	L84B7
	INC	N+5
	INC	N+3
	JMP	L84B7

L84D0	INX
	INX
	JMP	POPTWO

;	U*

L84D5	.BYTE	$82,'U',$AA
	.WORD	L849F
USTAR	.WORD	*+2
	LDA	0,X
	STA	N
	LDA	1,X
	STA	N+1
	TYA
	STA	0,X
	CLC
	LDY	#$11
	BNE	L84F9

L84EC	BCC	L84F9
	PHA
	CLC
	LDA	0,X
	ADC	N
	STA	0,X
	PLA
	ADC	N+1
L84F9	ROR	A
	ROR	0,X
	ROR	3,X
	ROR	2,X
	DEY
	BNE	L84EC
	STA	1,X
	JMP	NEXT

;	U/

L8508	.BYTE	$82,'U',$AF
	.WORD	L84D5
USLAS	.WORD	*+2
	STY	N+1
	LDA	4,X
	LDY	2,X
	STY	4,X
	ASL	A
	STA	2,X
	LDA	5,X
	LDY	3,X
	STY	5,X
	ROL	A
	STA	3,X
	LDA	#$10
	STA	N
L8527	ROL	4,X
	ROL	5,X
	ROL	N+1
	SEC
	LDA	4,X
	SBC	0,X
	TAY
	LDA	5,X
	SBC	1,X
	PHA
	LDA	N+1
	SBC	#0
	PLA
	BCC	L8543
	STY	4,X
	STA	5,X
L8543	ROL	2,X
	ROL	3,X
	DEC	N
	BNE	L8527
	JMP	POP

;	AND

L854E	.BYTE	$83,'AN',$C4
	.WORD	L8508
ANDD	.WORD	*+2
	LDA	0,X
	AND	2,X
	PHA
	LDA	1,X
	AND	3,X
	INX
	INX
	JMP	PUT

;	OR

L8564	.BYTE	$82,'O',$D2
	.WORD	L854E
ORR	.WORD	*+2
	LDA	0,X
	ORA	2,X
	PHA
	LDA	1,X
	ORA	3,X
	INX
	INX
	JMP	PUT

;	XOR

L8579	.BYTE	$83,'XO',$D2
	.WORD	L8564
XORR	.WORD	*+2
	LDA	0,X
	EOR	2,X
	PHA
	LDA	1,X
	EOR	3,X
	INX
	INX
	JMP	PUT

;	?KEY

L858F	.BYTE	$84,'?KE',$D9
	.WORD	L8579
QKEY	.WORD	*+2
	STX	XSAVE
	LDX	#1
	LDA	#$C
	JSR	$FFF4
	STX	N
	LDX	#0
	LDA	#$B
	JSR	$FFF4
	STX	N+1
	LDX	#1
	LDA	#$F
	JSR	$FFF4
	LDX	XSAVE
	LDY	1,X
	LDA	0,X
	TAX
	LDA	#$81
	JSR	$FFF4
	TXA
	PHA
	TYA
	PHA
	LDX	N
	LDA	#$C
	JSR	$FFF4
	LDX	N+1
	LDA	#$B
	JSR	$FFF4
	PLA
	LDX	XSAVE
	JMP	PUT

;	(KEY)

L85D7	.BYTE	$85,'(KEY',$A9
	.WORD	L858F
PKEY	.WORD	*+2
	JSR	$FFE0
	JMP	L842B

;	EXIT

L85E7	.BYTE	$84,'EXI',$D4
	.WORD	LA006-REL
EXIT	.WORD	*+2
	PLA
	STA	IP
	PLA
	STA	IP+1
	JMP	NEXT

;	R@

L85F9	.BYTE	$82,'R',$C0
	.WORD	L85E7
RAT	.WORD	*+2
	STX	XSAVE
	TSX
	LDA	$101,X
	PHA
	LDA	$102,X
	LDX	XSAVE
	JMP	PUSH

;	>R

L860F	.BYTE	$82,'>',$D2
	.WORD	L85F9
TOR	.WORD	*+2
	LDA	1,X
	PHA
	LDA	0,X
	PHA
	JMP	POP

;	R>

L861F	.BYTE	$82,'R',$BE
	.WORD	L860F
RFROM	.WORD	*+2
	DEX
	DEX
	PLA
	STA	0,X
	PLA
	STA	1,X
	JMP	NEXT

;	><

L8631	.BYTE	$82,'>',$BC
	.WORD	L861F
BSWAP	.WORD	*+2
	LDY	0,X
	LDA	1,X
	STA	0,X
	STY	1,X
	JMP	NEXT

;	LEAVE

L8643	.BYTE	$85,'LEAV',$C5
	.WORD	L8631
LEAV	.WORD	*+2
	STX	XSAVE
	TSX
	LDA	$101,X
	STA	$103,X
	LDA	$102,X
	STA	$104,X
	LDX	XSAVE
	JMP	NEXT

;	0=

L8661	.BYTE	$82,'0',$BD
	.WORD	L8643
ZEQU	.WORD	*+2
	LDA	0,X
	ORA	1,X
	STY	1,X
	BNE	L8671
	INY
L8671	STY	0,X
	JMP	NEXT

;	0<

L8676	.BYTE	$82,'0',$BC
	.WORD	L8661
ZLESS	.WORD	*+2
	ASL	1,X
	TYA
	ROL	A
	STY	1,X
	STA	0,X
	JMP	NEXT

;	<

L8688	.BYTE	$81,$BC
	.WORD	L8676
LESS	.WORD	*+2
	SEC
	LDA	2,X
	SBC	0,X
	LDA	3,X
	SBC	1,X
	STY	3,X
	BVC	L869D
	EOR	#$80
L869D	BPL	L86A0
	INY
L86A0	STY	2,X
	JMP	POP

;	D<

L86A5	.BYTE	$82,'D',$BC
	.WORD	L8688
DLESS	.WORD	*+2
	SEC
	LDA	6,X
	SBC	2,X
	LDA	7,X
	SBC	3,X
	LDA	4,X
	SBC	0,X
	LDA	5,X
	SBC	1,X
	BVC	L86C1
	EOR	#$80
L86C1	BPL	L86C4
	INY
L86C4	TYA
	LDY	#4
L86C7	INX
	INX
	DEY
	BNE	L86C7
	JMP	L842B

;	+

L86CF	.BYTE	$81,$AB
	.WORD	L86A5
PLUS	.WORD	*+2
	CLC
	LDA	0,X
	ADC	2,X
	STA	2,X
	LDA	1,X
	ADC	3,X
	STA	3,X
	JMP	POP

;	D+

L86E5	.BYTE	$82,'D',$AB
	.WORD	L86CF
DPLUS	.WORD	*+2
	CLC
	LDA	2,X
	ADC	6,X
	STA	6,X
	LDA	3,X
	ADC	7,X
	STA	7,X
	LDA	0,X
	ADC	4,X
	STA	4,X
	LDA	1,X
	ADC	5,X
	STA	5,X
	JMP	POPTWO

;	NEGATE

L8708	.BYTE	$86,'NEGAT',$C5
	.WORD	L86E5
NEGAT	.WORD	*+2
	SEC
L8714	TYA
	SBC	0,X
	STA	0,X
	TYA
	SBC	1,X
	STA	1,X
	JMP	NEXT

;	DNEGATE

L8721	.BYTE	$87,'DNEGAT',$C5
	.WORD	L8708
DNEGAT	.WORD	*+2
	SEC
	TYA
	SBC	2,X
	STA	2,X
	TYA
	SBC	3,X
	STA	3,X
	JMP	L8714

;	DROP

L873B	.BYTE	$84,'DRO',$D0
	.WORD	L8721
DROP	.WORD	POP

;	2DROP

L8744	.BYTE	$85,'2DRO',$D0
	.WORD	L873B
TDROP	.WORD	POPTWO

;	DUP

L874E	.BYTE	$83,'DU',$D0
	.WORD	L8744
DUPP	.WORD	*+2
	LDA	0,X
	PHA
	LDA	1,X
	JMP	PUSH

;	?DUP

L875E	.BYTE	$84,'?DU',$D0
	.WORD	L874E
QDUP	.WORD	*+2
	LDA	0,X
	ORA	1,X
	BNE	DUPP+2
	JMP	NEXT

;	2DUP

L8770	.BYTE	$84,'2DU',$D0
	.WORD	L875E
TDUP	.WORD	*+2
	LDA	0,X
	PHA
	LDA	1,X
	PHA
	LDA	2,X
	PHA
	LDA	3,X
	DEX
	DEX
	STA	1,X
	PLA
	STA	0,X
	PLA
	JMP	PUSH

;	SWAP

L878F	.BYTE	$84,'SWA',$D0
	.WORD	L8770
SWAP	.WORD	*+2
	LDA	2,X
	PHA
	LDA	0,X
	STA	2,X
	LDA	3,X
	LDY	1,X
	STY	3,X
	JMP	PUT

;	2SWAP

L87A8	.BYTE	$85,'2SWA',$D0
	.WORD	L878F
TSWAP	.WORD	*+2
	LDY	6,X
	LDA	2,X
	STA	6,X
	STY	2,X
	LDY	7,X
	LDA	3,X
	STA	7,X
	STY	3,X
	LDA	4,X
	PHA
	LDA	0,X
	STA	4,X
	LDA	5,X
	LDY	1,X
	STY	5,X
	JMP	PUT

;	OVER

L87D2	.BYTE	$84,'OVE',$D2
	.WORD	L87A8
OVER	.WORD	*+2
	LDA	2,X
	PHA
	LDA	3,X
	JMP	PUSH

;	2OVER

L87E3	.BYTE	$85,'2OVE',$D2
	.WORD	L87D2
TOVER	.WORD	*+2
	LDA	4,X
	PHA
	LDA	5,X
	DEX
	DEX
	LDY	9,X
	STY	1,X
	LDY	8,X
	STY	0,X
	JMP	PUSH

;	ROT

L87FF	.BYTE	$83,'RO',$D4
	.WORD	L87E3
ROT	.WORD	*+2
	LDA	4,X
	PHA
	LDY	5,X
	LDA	3,X
	STA	5,X
	LDA	2,X
	STA	4,X
	LDA	1,X
	STA	3,X
	LDA	0,X
	STA	2,X
	TYA
	JMP	PUT

;	TRAVERSE

L8820	.BYTE	$88,'TRAVERS',$C5
	.WORD	L87FF
TRAV	.WORD	*+2
	CLC
	LDA	0,X
	ADC	2,X
	STA	2,X
	LDA	1,X
	ADC	3,X
	STA	3,X
	LDA	(2,X)
	CMP	#$80
	BMI	TRAV+2
	JMP	POP

;	PAGE

L8843	.BYTE	$84,'PAG',$C5
	.WORD	L8820
PAGE	.WORD	*+2
	STX	XSAVE
	LDA	#$83
	JSR	$FFF4
	TXA
	PHA
	TYA
	LDX	XSAVE
	JMP	PUSH

;	HIMEM

L885B	.BYTE	$85,'HIME',$CD
	.WORD	L8843
HIMEM	.WORD	*+2
	STX	XSAVE
	LDA	#$84
	JSR	$FFF4
	TXA
	PHA
	TYA
	LDX	XSAVE
	JMP	PUSH

;	?FILE

L8874	.BYTE	$85,'?FIL',$C5
	.WORD	L885B
QFILE	.WORD	*+2
	TYA
	JSR	$FFDA
	JMP	L842B

;	C@

L8885	.BYTE	$82,'C',$C0
	.WORD	L8874
CAT	.WORD	*+2
	LDA	(0,X)
	STA	0,X
	STY	1,X
	JMP	NEXT

;	@

L8895	.BYTE	$81,$C0
	.WORD	L8885
AT	.WORD	*+2
	LDA	(0,X)
	PHA
	INC	0,X
	BNE	L88A4
	INC	1,X
L88A4	LDA	(0,X)
	JMP	PUT

;	C!

L88A9	.BYTE	$82,'C',$A1
	.WORD	L8895
CSTOR	.WORD	*+2
	LDA	2,X
	STA	(0,X)
	JMP	POPTWO

;	!

L88B7	.BYTE	$81,$A1
	.WORD	L88A9
STORE	.WORD	*+2
	LDA	2,X
	STA	(0,X)
	INC	0,X
	BNE	L88C7
	INC	1,X
L88C7	LDA	3,X
	STA	(0,X)
	JMP	POPTWO

;	+!

L88CE	.BYTE	$82,'+',$A1
	.WORD	L88B7
PSTOR	.WORD	*+2
	CLC
	LDA	(0,X)
	ADC	2,X
	STA	(0,X)
	INC	0,X
	BNE	L88E2
	INC	1,X
L88E2	LDA	(0,X)
	ADC	3,X
	STA	(0,X)
	JMP	POPTWO

;	TOGGLE

L88EB	.BYTE	$86,'TOGGL',$C5
	.WORD	L88CE
TOGGL	.WORD	*+2
	LDA	(2,X)
	EOR	0,X
	STA	(2,X)
	JMP	POPTWO

;	R:

L88FF	.BYTE	$82,'R',$BA
	.WORD	L88EB
RCOLON	.WORD	DOCOL
	.WORD	QEXEC
	.WORD	SCSP
	.WORD	CURR
	.WORD	AT
	.WORD	CONT
	.WORD	STORE
	.WORD	CREAT
	.WORD	RBRAC
	.WORD	PSCOD
DOCOL	LDA	IP+1
	PHA
	LDA	IP
	PHA
	CLC
	LDA	W
	ADC	#2
	STA	IP
	TYA
	ADC	W+1
	STA	IP+1
	JMP	NEXT

;	R;

L892D	.BYTE	$C2,'R',$BB
	.WORD	L88FF
RSEMI	.WORD	DOCOL
	.WORD	QCSP
	.WORD	COMP
	.WORD	EXIT
	.WORD	LBRAC
	.WORD	EXIT

;	CONSTANT

L893E	.BYTE	$88,'CONSTAN',$D4
	.WORD	L892D
CONST	.WORD	DOCOL
	.WORD	CREAT
	.WORD	COMMA
	.WORD	PSCOD
DOCON	LDY	#2
	LDA	(W),Y
	PHA
	INY
	LDA	(W),Y
	JMP	PUSH

;	VARIABLE

L895C	.BYTE	$88,'VARIABL',$C5
	.WORD	L893E
VAR	.WORD	DOCOL
	.WORD	CREAT
	.WORD	ZERO
	.WORD	COMMA
	.WORD	PSCOD
DOVAR	CLC
	LDA	W
	ADC	#2
	PHA
	TYA
	ADC	W+1
	JMP	PUSH

;	USER

L897D	.BYTE	$84,'USE',$D2
	.WORD	L895C
USER	.WORD	DOCOL
	.WORD	CONST
	.WORD	PSCOD
DOUSE	LDY	#2
	CLC
	LDA	(W),Y
	ADC	UP
	PHA
	LDA	#0
	ADC	UP+1
	JMP	PUSH

;	-2

L8999	.BYTE	$82,'-',$B2
	.WORD	L897D
NEGTWO	.WORD	DOCON
	.WORD	-2

;	-1

L89A2	.BYTE	$82,'-',$B1
	.WORD	L8999
TRUE	.WORD	DOCON
	.WORD	-1

;	0

L89AB	.BYTE	$81,$B0
	.WORD	L89A2
ZERO	.WORD	DOCON
	.WORD	0

;	1

L89B3	.BYTE	$81,$B1
	.WORD	L89AB
ONE	.WORD	DOCON
	.WORD	1

;	2

L89BB	.BYTE	$81,$B2
	.WORD	L89B3
TWO	.WORD	DOCON
	.WORD	2

;	BL

L89C3	.BYTE	$82,'B',$CC
	.WORD	L89BB
BLL	.WORD	DOCON
	.WORD	$20

;	C/L

L89CC	.BYTE	$83,'C/',$CC
	.WORD	L89C3
CSLL	.WORD	DOCON
	.WORD	64

;	PAD

L89D6	.BYTE	$83,'PA',$C4
	.WORD	L89CC
PAD	.WORD	DOCON
	.WORD	PADD

;	B/BUF

L89E0	.BYTE	$85,'B/BU',$C6
	.WORD	LA01C-REL
BBUF	.WORD	DOCON
	.WORD	BLKSIZ

;	B/SCR

L89EC	.BYTE	$85,'B/SC',$D2
	.WORD	L89E0
BSCR	.WORD	DOCON
	.WORD	1

;	+ORIGIN

L89F8	.BYTE	$87,'+ORIGI',$CE
	.WORD	L89EC
PORIG	.WORD	DOCOL
	.WORD	LIT,ORIG
	.WORD	PLUS
	.WORD	EXIT

;	S0

L8A0C	.BYTE	$82,'S',$B0
	.WORD	L89F8
SZERO	.WORD	DOUSE
	.BYTE	6

;	R0

L8A14	.BYTE	$82,'R',$B0
	.WORD	L8A0C
RZERO	.WORD	DOUSE
	.BYTE	8

;	TIB

L8A1C	.BYTE	$83,'TI',$C2
	.WORD	L8A14
TIB	.WORD	DOUSE
	.BYTE	$A

;	WIDTH

L8A25	.BYTE	$85,'WIDT',$C8
	.WORD	L8A1C
WIDTH	.WORD	DOUSE
	.BYTE	$C

;	WARNING

L8A30	.BYTE	$87,'WARNIN',$C7
	.WORD	L8A25
WARN	.WORD	DOUSE
	.BYTE	$E

;	FENCE

L8A3D	.BYTE	$85,'FENC',$C5
	.WORD	L8A30
FENCE	.WORD	DOUSE
	.BYTE	$10

;	DP

L8A48	.BYTE	$82,'D',$D0
	.WORD	L8A3D
DP	.WORD	DOUSE
	.BYTE	$12

;	VOC-LINK

L8A50	.BYTE	$88,'VOC-LIN',$CB
	.WORD	L8A48
VOCL	.WORD	DOUSE
	.BYTE	$14

;	BLK

L8A5E	.BYTE	$83,'BL',$CB
	.WORD	L8A50
BLK	.WORD	DOUSE
	.BYTE	$16

;	>IN

L8A67	.BYTE	$83,'>I',$CE
	.WORD	L8A5E
INN	.WORD	DOUSE
	.BYTE	$18

;	QOUT

L8A70	.BYTE	$83,'OU',$D4
	.WORD	L8A67
OUT	.WORD	DOUSE
	.BYTE	$1A

;	SCR

L8A79	.BYTE	$83,'SC',$D2
	.WORD	L8A70
SCR	.WORD	DOUSE
	.BYTE	$1C

;	OFFSET

L8A82	.BYTE	$86,'OFFSE',$D4
	.WORD	L8A79
OFFSE	.WORD	DOUSE
	.BYTE	$1E

;	CONTEXT

L8A8E	.BYTE	$87,'CONTEX',$D4
	.WORD	L8A82
CONT	.WORD	DOUSE
	.BYTE	$20

;	CURRENT

L8A9B	.BYTE	$87,'CURREN',$D4
	.WORD	L8A8E
CURR	.WORD	DOUSE
	.BYTE	$22

;	STATE

L8AA8	.BYTE	$85,'STAT',$C5
	.WORD	L8A9B
STATE	.WORD	DOUSE
	.BYTE	$24

;	BASE

L8AB3	.BYTE	$84,'BAS',$C5
	.WORD	L8AA8
BASE	.WORD	DOUSE
	.BYTE	$26

;	DPL

L8ABD	.BYTE	$83,'DP',$CC
	.WORD	L8AB3
DPL	.WORD	DOUSE
	.BYTE	$28

;	CSP

L8AC6	.BYTE	$83,'CS',$D0
	.WORD	L8ABD
CSP	.WORD	DOUSE
	.BYTE	$2C

;	R#

L8ACF	.BYTE	$82,'R',$A3
	.WORD	L8AC6
RNUM	.WORD	DOUSE
	.BYTE	$2E

;	HLD

L8AD7	.BYTE	$83,'HL',$C4
	.WORD	L8ACF
HLD	.WORD	DOUSE
	.BYTE	$30

;	1+

L8AE0	.BYTE	$82,'1',$AB
	.WORD	L8AD7
ONEP	.WORD	DOCOL
	.WORD	ONE
	.WORD	PLUS
	.WORD	EXIT

;	2+

L8AED	.BYTE	$82,'2',$AB
	.WORD	L8AE0
TWOP	.WORD	DOCOL
	.WORD	TWO
	.WORD	PLUS
	.WORD	EXIT

	.BYTE	0

;	1-

L8AFB	.BYTE	$82,'1',$AD
	.WORD	L8AED
ONESUB	.WORD	DOCOL
	.WORD	TRUE
	.WORD	PLUS
	.WORD	EXIT

;	2-

L8B08	.BYTE	$82,'2',$AD
	.WORD	L8AFB
TWOSUB	.WORD	DOCOL
	.WORD	NEGTWO
	.WORD	PLUS
	.WORD	EXIT

;	HERE

L8B15	.BYTE	$84,'HER',$C5
	.WORD	L8B08
HERE	.WORD	DOCOL
	.WORD	DP
	.WORD	AT
	.WORD	EXIT

;	ALLOT

L8B24	.BYTE	$85,'ALLO',$D4
	.WORD	L8B15
ALLOT	.WORD	DOCOL
	.WORD	DP
	.WORD	PSTOR
	.WORD	EXIT

;	SPACE

L8B34	.BYTE	$85,'SPAC',$C5
	.WORD	L8B24
SPACE	.WORD	DOCOL
	.WORD	BLL
	.WORD	EMIT
	.WORD	EXIT

;	,

L8B44	.BYTE	$81,$AC
	.WORD	L8B34
COMMA	.WORD	DOCOL
	.WORD	HERE
	.WORD	STORE
	.WORD	TWO
	.WORD	ALLOT
	.WORD	EXIT

;	C,

L8B54	.BYTE	$82,'C',$AC
	.WORD	L8B44
CCOMM	.WORD	DOCOL
	.WORD	HERE
	.WORD	CSTOR
	.WORD	ONE
	.WORD	ALLOT
	.WORD	EXIT

;	LAST

L8B65	.BYTE	$84,'LAS',$D4
	.WORD	L8B54
LAST	.WORD	DOCOL
	.WORD	CURR
	.WORD	AT
	.WORD	AT
	.WORD	EXIT

;	SMUDGE

L8B76	.BYTE	$86,'SMUDG',$C5
	.WORD	L8B65
SMUDG	.WORD	DOCOL
	.WORD	LAST
	.WORD	LIT,$20
	.WORD	TOGGL
	.WORD	EXIT

;	-

L8B8B	.BYTE	$81,$AD
	.WORD	L8B76
SUBB	.WORD	DOCOL
	.WORD	NEGAT
	.WORD	PLUS
	.WORD	EXIT

;	=

L8B97	.BYTE	$81,$BD
	.WORD	L8B8B
EQUAL	.WORD	DOCOL
	.WORD	SUBB
	.WORD	ZEQU
	.WORD	EXIT

;	>

L8BA3	.BYTE	$81,$BE
	.WORD	L8B97
GREAT	.WORD	DOCOL
	.WORD	SWAP
	.WORD	LESS
	.WORD	EXIT

;	U<

L8BAF	.BYTE	$82,'U',$BC
	.WORD	L8BA3
ULESS	.WORD	DOCOL
	.WORD	ZERO
	.WORD	SWAP
	.WORD	ZERO
	.WORD	DLESS
	.WORD	EXIT

;	LFA

L8BC0	.BYTE	$83,'LF',$C1
	.WORD	L8BAF
LFA	.WORD	DOCOL
	.WORD	LIT,4
	.WORD	SUBB
	.WORD	EXIT

;	NFA

L8BD0	.BYTE	$83,'NF',$C1
	.WORD	L8BC0
NFA	.WORD	DOCOL
	.WORD	LIT,5
	.WORD	SUBB
	.WORD	TRUE
	.WORD	TRAV
	.WORD	EXIT

;	CFA

L8BE4	.BYTE	$83,'CF',$C1
	.WORD	L8BD0
CFA	.WORD	DOCOL
	.WORD	TWOSUB
	.WORD	EXIT

;	PFA

L8BF0	.BYTE	$83,'PF',$C1
	.WORD	L8BE4
PFA	.WORD	DOCOL
	.WORD	ONE
	.WORD	TRAV
	.WORD	LIT,5
	.WORD	PLUS
	.WORD	EXIT

;	NOT

L8C04	.BYTE	$83,'NO',$D4
	.WORD	L8BF0
NOT	.WORD	DOCOL
	.WORD	ZEQU
	.WORD	EXIT

;	!CSP

L8C10	.BYTE	$84,'!CS',$D0
	.WORD	L8C04
SCSP	.WORD	DOCOL
	.WORD	SPAT
	.WORD	CSP
	.WORD	STORE
	.WORD	EXIT

;	?ERROR

L8C21	.BYTE	$86,'?ERRO',$D2
	.WORD	L8C10
QERR	.WORD	DOCOL
	.WORD	SWAP
	.WORD	ZBRAN,8
	.WORD	ERROR
	.WORD	BRAN,4
	.WORD	DROP
	.WORD	EXIT

;	?COMP

L8C3C	.BYTE	$85,'?COM',$D0
	.WORD	L8C21
QCOMP	.WORD	DOCOL
	.WORD	STATE
	.WORD	AT
	.WORD	ZEQU
	.WORD	LIT,17
	.WORD	QERR
	.WORD	EXIT

;	?EXEC

L8C54	.BYTE	$85,'?EXE',$C3
	.WORD	L8C3C
QEXEC	.WORD	DOCOL
	.WORD	STATE
	.WORD	AT
	.WORD	LIT,18
	.WORD	QERR
	.WORD	EXIT

;	?PAIRS

L8C6A	.BYTE	$86,'?PAIR',$D3
	.WORD	L8C54
QPAIR	.WORD	DOCOL
	.WORD	SUBB
	.WORD	LIT,19
	.WORD	QERR
	.WORD	EXIT

;	?CSP

L8C7F	.BYTE	$84,'?CS',$D0
	.WORD	L8C6A
QCSP	.WORD	DOCOL
	.WORD	SPAT
	.WORD	CSP
	.WORD	AT
	.WORD	SUBB
	.WORD	LIT,20
	.WORD	QERR
	.WORD	EXIT

;	?LOADING

L8C98	.BYTE	$88,'?LOADIN',$C7
	.WORD	L8C7F
QLOAD	.WORD	DOCOL
	.WORD	BLK
	.WORD	AT
	.WORD	ZEQU
	.WORD	LIT,22
	.WORD	QERR
	.WORD	EXIT

;	IMMEDIATE

L8CB3	.BYTE	$89,'IMMEDIAT',$C5
	.WORD	L8C98
IMMED	.WORD	DOCOL
	.WORD	LAST
	.WORD	LIT,$40
	.WORD	TOGGL
	.WORD	EXIT

;	COMPILE

L8CCB	.BYTE	$87,'COMPIL',$C5
	.WORD	L8CB3
COMP	.WORD	DOCOL
	.WORD	QCOMP
	.WORD	RFROM
	.WORD	DUPP
	.WORD	TWOP
	.WORD	TOR
	.WORD	AT
	.WORD	COMMA
	.WORD	EXIT

;	[

L8CE7	.BYTE	$C1,$DB
	.WORD	L8CCB
LBRAC	.WORD	DOCOL
	.WORD	ZERO
	.WORD	STATE
	.WORD	STORE
	.WORD	EXIT

;	]

L8CF5	.BYTE	$81,$DD
	.WORD	L8CE7
RBRAC	.WORD	DOCOL
	.WORD	LIT,$C0
	.WORD	STATE
	.WORD	STORE
	.WORD	EXIT

;	NOOP

L8D05	.BYTE	$84,'NOO',$D0
	.WORD	L8CF5
NOOP	.WORD	DOCOL
	.WORD	EXIT

;	?TAB

L8D10	.BYTE	$84,'?TA',$C2
	.WORD	L8D05
QTAB	.WORD	DOCOL
	.WORD	LIT,$FF9F
	.WORD	QKEY
	.WORD	ONE
	.WORD	ANDD
	.WORD	EXIT

;	HEX

L8D25	.BYTE	$83,'HE',$D8
	.WORD	L8D10
HEX	.WORD	DOCOL
	.WORD	LIT,16
	.WORD	BASE
	.WORD	STORE
	.WORD	EXIT

;	DECIMAL

L8D37	.BYTE	$87,'DECIMA',$CC
	.WORD	L8D25
DECIM	.WORD	DOCOL
	.WORD	LIT,10
	.WORD	BASE
	.WORD	STORE
	.WORD	EXIT

;	CR

L8D4D	.BYTE	$82,'C',$D2
	.WORD	L8D37
CRR	.WORD	DOCOL
	.WORD	LIT,$A
	.WORD	EMIT
	.WORD	LIT,$D
	.WORD	EMIT
	.WORD	NEGTWO
	.WORD	OUT
	.WORD	PSTOR
	.WORD	EXIT

;	(;CODE)

L8D68	.BYTE	$87,'(;CODE',$A9
	.WORD	L8D4D
PSCOD	.WORD	DOCOL
	.WORD	RFROM
	.WORD	LAST
	.WORD	PFA
	.WORD	CFA
	.WORD	STORE
	.WORD	EXIT

;	;CODE

L8D80	.BYTE	$C5,';COD',$C5
	.WORD	L8D68
L8D88	.WORD	DOCOL
	.WORD	QCSP
	.WORD	COMP
	.WORD	PSCOD
	.WORD	LBRAC
	.WORD	ASSEM
	.WORD	SCSP
	.WORD	EXIT

;	DOES>

L8D98	.BYTE	$C5,'DOES',$BE
	.WORD	L8D80
DOES	.WORD	DOCOL
	.WORD	COMP
	.WORD	PSCOD
	.WORD	LIT,$20
	.WORD	CCOMM
	.WORD	COMP
	.WORD	DODOE
	.WORD	EXIT

DODOE	DEX
	DEX
	CLC
	LDA	W
	ADC	#2
	STA	0,X
	TYA
	ADC	W+1
	STA	1,X
	SEC
	PLA
	SBC	#1
	STA	W
	PLA
	SBC	#0
	STA	W+1
	JMP	DOCOL

;	0>

L8DCE	.BYTE	$82,'0',$BE
	.WORD	L8D98
ZGREA	.WORD	DOCOL
	.WORD	NEGAT
	.WORD	ZLESS
	.WORD	EXIT

;	COUNT

L8DDB	.BYTE	$85,'COUN',$D4
	.WORD	L8DCE
COUNT	.WORD	DOCOL
	.WORD	DUPP
	.WORD	ONEP
	.WORD	SWAP
	.WORD	CAT
	.WORD	EXIT

;	TYPE

L8DEF	.BYTE	$84,'TYP',$C5
	.WORD	L8DDB
TYPE	.WORD	DOCOL
	.WORD	DUPP
	.WORD	ZGREA
	.WORD	ZBRAN,$18
	.WORD	OVER
	.WORD	PLUS
	.WORD	SWAP
	.WORD	XDO
	.WORD	IDO
	.WORD	CAT
	.WORD	EMIT
	.WORD	XPULO,$FFF8
	.WORD	BRAN,4
	.WORD	TDROP
	.WORD	EXIT

;	-TRAILING

L8E1A	.BYTE	$89,'-TRAILIN',$C7
	.WORD	L8DEF
DTRAI	.WORD	DOCOL
	.WORD	DUPP
	.WORD	ZLESS
	.WORD	LIT,5
	.WORD	QERR
	.WORD	DUPP
	.WORD	ZERO
	.WORD	XDO
	.WORD	TDUP
	.WORD	PLUS
	.WORD	ONESUB
	.WORD	CAT
	.WORD	BLL
	.WORD	SUBB
	.WORD	ZBRAN,8
	.WORD	LEAV
	.WORD	BRAN,4
	.WORD	ONESUB
	.WORD	XPULO,$FFE6
	.WORD	EXIT

;	TEXT,

L8E56	.BYTE	$85,'TEXT',$AC
	.WORD	L8E1A
TXTCOM	.WORD	DOCOL
	.WORD	DUPP
	.WORD	CCOMM
	.WORD	HERE
	.WORD	OVER
	.WORD	ALLOT
	.WORD	SWAP
	.WORD	CMOVE
	.WORD	EXIT

;	(.")

L8E70	.BYTE	$84,'(."',$A9
	.WORD	L8E56
PDOTQ	.WORD	DOCOL
	.WORD	RAT
	.WORD	COUNT
	.WORD	DUPP
	.WORD	ONEP
	.WORD	RFROM
	.WORD	PLUS
	.WORD	TOR
	.WORD	TYPE
	.WORD	EXIT

;	."

L8E8B	.BYTE	$C2,'.',$A2
	.WORD	L8E70
DOTQ	.WORD	DOCOL
	.WORD	TRUE
	.WORD	INN
	.WORD	PSTOR
	.WORD	LIT,$22
	.WORD	PWORD
	.WORD	ONESUB
	.WORD	QDUP
	.WORD	ZBRAN,$20
	.WORD	SWAP
	.WORD	ONEP
	.WORD	SWAP
	.WORD	STATE
	.WORD	AT
	.WORD	ZBRAN,$C
	.WORD	COMP
	.WORD	PDOTQ
	.WORD	TXTCOM
	.WORD	BRAN,4
	.WORD	TYPE
	.WORD	BRAN,4
	.WORD	DROP
	.WORD	EXIT

;	(EXPECT)

L8EC8	.BYTE	$88,'(EXPECT',$A9
	.WORD	L8E8B
PEXPEC	.WORD	*+2
	STX	XSAVE
	DEX
	LDA	3,X
	STA	0,X
	LDA	1,X
	STA	2,X
	LDA	4,X
	STA	1,X
	LDA	#$20
	STA	3,X
	LDA	#$FF
	STA	4,X
	LDA	#0
	JSR	$FFF1
	LDX	XSAVE
	STY	2,X
	LDA	#0
	STA	3,X
	JMP	POP

;	EXPECT

L8EFC	.BYTE	$86,'EXPEC',$D4
	.WORD	L8EC8
EXPECT	.WORD	DOCOL
	.WORD	OVER
	.WORD	SWAP
	.WORD	PEXPEC
	.WORD	PLUS
	.WORD	ZERO
	.WORD	SWAP
	.WORD	STORE
	.WORD	EXIT

;	QUERY

L8F17	.BYTE	$85,'QUER',$D9
	.WORD	L8EFC
QUERY	.WORD	DOCOL
	.WORD	TIB
	.WORD	AT
	.WORD	LIT,80
	.WORD	EXPECT
	.WORD	ZERO
	.WORD	INN
	.WORD	STORE
	.WORD	EXIT

;	ASCII NULL

L8F33	.BYTE	$C1,$80
	.WORD	L8F17
NULL	.WORD	DOCOL
	.WORD	BLK
	.WORD	AT
	.WORD	ZBRAN,$28
	.WORD	ONE
	.WORD	BLK
	.WORD	PSTOR
	.WORD	ZERO
	.WORD	INN
	.WORD	STORE
	.WORD	BLK
	.WORD	AT
	.WORD	BSCR
	.WORD	ONESUB
	.WORD	ANDD
	.WORD	ZEQU
	.WORD	ZBRAN,8
	.WORD	QEXEC
	.WORD	RFROM
	.WORD	DROP
	.WORD	BRAN,6
	.WORD	RFROM
	.WORD	DROP
	.WORD	EXIT

;	MOVE

L8F6D	.BYTE	$84,'MOV',$C5
	.WORD	L8F33
MOVE	.WORD	DOCOL
	.WORD	DUPP
	.WORD	PLUS
	.WORD	CMOVE
	.WORD	EXIT

;	FILL

L8F7E	.BYTE	$84,'FIL',$CC
	.WORD	L8F6D
FILL	.WORD	DOCOL
	.WORD	OVER
	.WORD	ONE
	.WORD	LESS
	.WORD	ZBRAN,$A
	.WORD	DROP
	.WORD	TDROP
	.WORD	BRAN,$14
	.WORD	SWAP
	.WORD	TOR
	.WORD	OVER
	.WORD	CSTOR
	.WORD	DUPP
	.WORD	ONEP
	.WORD	RFROM
	.WORD	ONESUB
	.WORD	CMOVE
	.WORD	EXIT

;	ERASE

L8FAD	.BYTE	$85,'ERAS',$C5
	.WORD	L8F7E
ERASE	.WORD	DOCOL
	.WORD	ZERO
	.WORD	FILL
	.WORD	EXIT

;	BLANKS

L8FBD	.BYTE	$86,'BLANK',$D3
	.WORD	L8FAD
BLANKS	.WORD	DOCOL
	.WORD	BLL
	.WORD	FILL
	.WORD	EXIT

;	HOLD

L8FCE	.BYTE	$84,'HOL',$C4
	.WORD	L8FBD
HOLD	.WORD	DOCOL
	.WORD	TRUE
	.WORD	HLD
	.WORD	PSTOR
	.WORD	HLD
	.WORD	AT
	.WORD	CSTOR
	.WORD	EXIT

;	(WORD)  ( C -- ADR LEN )

L8FE5	.BYTE	$86,'(WORD',$A9
	.WORD	L8FCE
PWORD	.WORD	DOCOL
	.WORD	BLK
	.WORD	AT
	.WORD	QDUP
	.WORD	ZBRAN,8
	.WORD	BLOCK
	.WORD	BRAN,6
	.WORD	TIB
	.WORD	AT
	.WORD	INN
	.WORD	AT
	.WORD	PLUS
	.WORD	SWAP
	.WORD	ENCL
	.WORD	INN
	.WORD	PSTOR
	.WORD	OVER
	.WORD	SUBB
	.WORD	ROT
	.WORD	ROT
	.WORD	PLUS
	.WORD	SWAP
	.WORD	EXIT

;	WDSZ

L9020	.BYTE	$84,'WDS',$DA
	.WORD	L8FE5
WDSZ	.WORD	DOCON
	.WORD	WBSIZ		; WORD BUFFER SIZE

;	WBFR

L902B	.BYTE	$84,'WBF',$D2
	.WORD	L9020
WBFR	.WORD	DOCON
	.WORD	WORDBU		; WORD BUFFER ADDR

;	1WORD

L9036	.BYTE	$85,'1WOR',$C4
	.WORD	L902B
ONEWRD	.WORD	DOCOL
	.WORD	PWORD
	.WORD	WDSZ
	.WORD	MIN
	.WORD	WBFR
	.WORD	CSTOR
	.WORD	WBFR
	.WORD	COUNT
	.WORD	ONEP
	.WORD	CMOVE
	.WORD	WBFR
	.WORD	EXIT

;	WORD

L9056	.BYTE	$84,'WOR',$C4
	.WORD	L9036
WORD	.WORD	DOCOL
	.WORD	ONEWRD
	.WORD	DUPP
	.WORD	ONEP
	.WORD	CAT
	.WORD	ZEQU
	.WORD	ZBRAN,8
	.WORD	ZERO
	.WORD	OVER
	.WORD	CSTOR
	.WORD	EXIT

;	CONVERT

L9075	.BYTE	$87,'CONVER',$D4
	.WORD	L9056
CONV	.WORD	DOCOL
	.WORD	ONEP
	.WORD	DUPP
	.WORD	TOR
	.WORD	CAT
	.WORD	BASE
	.WORD	AT
	.WORD	DIGIT
	.WORD	ZBRAN,$1C
	.WORD	SWAP
	.WORD	BASE
	.WORD	AT
	.WORD	USTAR
	.WORD	DROP
	.WORD	ROT
	.WORD	BASE
	.WORD	AT
	.WORD	USTAR
	.WORD	DPLUS
	.WORD	RFROM
	.WORD	BRAN,$FFD6
	.WORD	RFROM
	.WORD	EXIT

;	-FIND

L90B1	.BYTE	$85,'-FIN',$C4
	.WORD	L9075
DFIND	.WORD	DOCOL
	.WORD	BLL
	.WORD	ONEWRD
	.WORD	SWAP
	.WORD	PFIND
	.WORD	EXIT

;	FIND

L90C5	.BYTE	$84,'FIN',$C4
	.WORD	L90B1
FIND	.WORD	DOCOL
	.WORD	CONT
	.WORD	AT
	.WORD	AT
	.WORD	DFIND
	.WORD	ZBRAN,8
	.WORD	DROP
	.WORD	BRAN,4
	.WORD	ZERO
	.WORD	EXIT

;	ERROR

L90E4	.BYTE	$85,'ERRO',$D2
	.WORD	L90C5
ERROR	.WORD	DOCOL
	.WORD	WARN
	.WORD	AT
	.WORD	ZLESS
	.WORD	ZBRAN,8
	.WORD	ABORT
	.WORD	BRAN,$1F
	.WORD	WBFR
	.WORD	COUNT
	.WORD	TYPE
	.WORD	PDOTQ
	.BYTE	4,'  ? '
	.WORD	MESS
	.WORD	SPSTO
	.WORD	TDROP
	.WORD	INN
	.WORD	AT
	.WORD	BLK
	.WORD	AT
	.WORD	QUIT
	.WORD	EXIT

;	ID.

L911D	.BYTE	$83,'ID',$AE
	.WORD	L90E4
IDDOT	.WORD	DOCOL
	.WORD	PAD
	.WORD	BLL
	.WORD	LIT,'_'
	.WORD	FILL
	.WORD	DUPP
	.WORD	PFA
	.WORD	LFA
	.WORD	OVER
	.WORD	SUBB
	.WORD	PAD
	.WORD	SWAP
	.WORD	CMOVE
	.WORD	PAD
	.WORD	COUNT
	.WORD	LIT,$1F
	.WORD	ANDD
	.WORD	TYPE
	.WORD	SPACE
	.WORD	EXIT

;	(CREATE)

L914F	.BYTE	$88,'(CREATE',$A9
	.WORD	L911D
PCREAT	.WORD	DOCOL
	.WORD	FIRST
	.WORD	HERE
	.WORD	LIT,$A0
	.WORD	PLUS
	.WORD	ULESS
	.WORD	TWO
	.WORD	QERR
	.WORD	BLL
	.WORD	WORD
	.WORD	DUPP
	.WORD	CAT
	.WORD	DUPP
	.WORD	ZEQU
	.WORD	LIT,10
	.WORD	QERR
	.WORD	OVER
	.WORD	CONT
	.WORD	AT
	.WORD	AT
	.WORD	PFIND
	.WORD	ZBRAN,$12
	.WORD	DROP
	.WORD	TWOP
	.WORD	NFA
	.WORD	IDDOT
	.WORD	LIT,4
	.WORD	MESS
	.WORD	SPACE
	.WORD	WIDTH
	.WORD	AT
	.WORD	MIN
	.WORD	DUPP
	.WORD	DP
	.WORD	CAT
	.WORD	PLUS
	.WORD	LIT,$FC
	.WORD	EQUAL
	.WORD	ALLOT
	.WORD	ONEP
	.WORD	DUPP
	.WORD	TOR
	.WORD	HERE
	.WORD	SWAP
	.WORD	CMOVE
	.WORD	HERE
	.WORD	RFROM
	.WORD	ALLOT
	.WORD	DUPP
	.WORD	LIT,$80
	.WORD	TOGGL
	.WORD	HERE
	.WORD	ONESUB
	.WORD	LIT,$80
	.WORD	TOGGL
	.WORD	LAST
	.WORD	COMMA
	.WORD	CURR
	.WORD	AT
	.WORD	STORE
	.WORD	LIT,DOVAR
	.WORD	COMMA
	.WORD	EXIT

;	[COMPILE]

L91E8	.BYTE	$C9,'[COMPILE',$DD
	.WORD	LA028-REL
BCOMP	.WORD	DOCOL
	.WORD	CONT
	.WORD	AT
	.WORD	AT
	.WORD	DFIND
	.WORD	ZEQU
	.WORD	ZERO
	.WORD	QERR
	.WORD	DROP
	.WORD	COMMA
	.WORD	EXIT

;	LITERAL

L920A	.BYTE	$C7,'LITERA',$CC
	.WORD	L91E8
LITER	.WORD	DOCOL
	.WORD	STATE
	.WORD	AT
	.WORD	ZBRAN,8
	.WORD	COMP
	.WORD	LIT
	.WORD	COMMA
	.WORD	EXIT

;	DLITERAL

L9226	.BYTE	$C8,'DLITERA',$CC
	.WORD	L920A
DLITER	.WORD	DOCOL
	.WORD	STATE
	.WORD	AT
	.WORD	ZBRAN,8
	.WORD	SWAP
	.WORD	LITER
	.WORD	LITER
	.WORD	EXIT

;	?STACK

L9243	.BYTE	$86,'?STAC',$CB
	.WORD	L9226
QSTAC	.WORD	DOCOL
	.WORD	SPAT
	.WORD	SZERO
	.WORD	AT
	.WORD	GREAT
	.WORD	ONE
	.WORD	QERR
	.WORD	SPAT
	.WORD	LIT,BOS
	.WORD	LESS
	.WORD	LIT,7
	.WORD	QERR
	.WORD	EXIT

;	:

L926A	.BYTE	$81,$BA
	.WORD	L9243
COLON	.WORD	DOCOL
	.WORD	RCOLON
	.WORD	SMUDG
	.WORD	EXIT

;	;

L9276	.BYTE	$C1,$BB
	.WORD	L926A
SEMIS	.WORD	DOCOL
	.WORD	RSEMI
	.WORD	SMUDG
	.WORD	EXIT

;	NUMBER

L9282	.BYTE	$86,'NUMBE',$D2
	.WORD	L9276
NUMBER	.WORD	DOCOL
	.WORD	DUPP
	.WORD	CAT
	.WORD	OVER
	.WORD	PLUS
	.WORD	TOR
	.WORD	ZERO
	.WORD	ZERO
	.WORD	ROT
	.WORD	DUPP
	.WORD	ONEP
	.WORD	CAT
	.WORD	LIT,'-'
	.WORD	EQUAL
	.WORD	DUPP
	.WORD	TOR
	.WORD	PLUS
	.WORD	CONV
	.WORD	RFROM
	.WORD	ZBRAN,8
	.WORD	TOR
	.WORD	DNEGAT
	.WORD	RFROM
	.WORD	RFROM
	.WORD	OVER
	.WORD	SUBB
	.WORD	DUPP
	.WORD	ZLESS
	.WORD	ZBRAN,8
	.WORD	TDROP
	.WORD	BRAN,$12
	.WORD	ZERO
	.WORD	QERR
	.WORD	CAT
	.WORD	LIT,'.'
	.WORD	SUBB
	.WORD	ZERO
	.WORD	QERR
	.WORD	EXIT

;	(

L92E3	.BYTE	$C1,$A8
	.WORD	L9282
PAREN	.WORD	DOCOL
	.WORD	TRUE
	.WORD	INN
	.WORD	PSTOR
	.WORD	LIT,')'
	.WORD	WORD
	.WORD	DROP
	.WORD	EXIT

;	(NUM)

L92F9	.BYTE	$85,'(NUM',$A9
	.WORD	L92E3
PNUM	.WORD	DOCOL
	.WORD	DUPP
	.WORD	CAT
	.WORD	OVER
	.WORD	PLUS
	.WORD	SWAP
	.WORD	NUMBER
	.WORD	ROT
	.WORD	CAT
	.WORD	LIT,'.'
	.WORD	SUBB
	.WORD	ZBRAN,$A
	.WORD	DROP
	.WORD	LITER
	.WORD	BRAN,4
	.WORD	DLITER
	.WORD	EXIT

;	INTERPRET

L9329	.BYTE	$89,'INTERPRE',$D4
	.WORD	LA035-REL
INTE	.WORD	DOCOL
	.WORD	CONT
	.WORD	AT
	.WORD	AT
	.WORD	DFIND
	.WORD	ZBRAN,$18
	.WORD	STATE
	.WORD	AT
	.WORD	LESS
	.WORD	ZBRAN,8
	.WORD	COMMA
	.WORD	BRAN,4
	.WORD	EXEC
	.WORD	BRAN,6
	.WORD	WBFR
	.WORD	NUM
	.WORD	QSTAC
	.WORD	BRAN,$FFD6
	.WORD	EXIT

;	VOCABULARY

L9365	.BYTE	$8A,'VOCABULAR',$D9
	.WORD	L9329
VOC	.WORD	DOCOL
	.WORD	CREAT
	.WORD	LIT,$A081
	.WORD	COMMA
	.WORD	CURR
	.WORD	AT
	.WORD	CFA
	.WORD	COMMA
	.WORD	HERE
	.WORD	VOCL
	.WORD	AT
	.WORD	COMMA
	.WORD	VOCL
	.WORD	STORE
	.WORD	PSCOD
DOVOC	JSR	DODOE
	.WORD	TWOP
	.WORD	CONT
	.WORD	STORE
	.WORD	EXIT

;	QUIT

L939D	.BYTE	$84,'QUI',$D4
	.WORD	LA03F-REL
QUIT	.WORD	DOCOL
	.WORD	ZERO
	.WORD	BLK
	.WORD	STORE
	.WORD	LBRAC
	.WORD	RPSTO
	.WORD	CRR
	.WORD	QUERY
	.WORD	INTE
	.WORD	STATE
	.WORD	AT
	.WORD	ZEQU
	.WORD	ZBRAN,7
	.WORD	PDOTQ
	.BYTE	2,'OK'
	.WORD	BRAN,$FFE7
	.WORD	EXIT

;	DEFINITIONS

L93CB	.BYTE	$8B,'DEFINITION',$D3
	.WORD	L939D
DEFIN	.WORD	DOCOL
	.WORD	CONT
	.WORD	AT
	.WORD	CURR
	.WORD	STORE
	.WORD	EXIT

;	(WARM)

L93E5	.BYTE	$86,'(WARM',$A9
	.WORD	L93CB
PWARM	.WORD	DOCOL
	.WORD	SPSTO
	.WORD	CRR
	.WORD	PDOTQ
	.BYTE	2,'OK'
	.WORD	DECIM
	.WORD	FORTH
	.WORD	DEFIN
	.WORD	QUIT
	.WORD	EXIT

;	(ABORT)

L9403	.BYTE	$87,'(ABORT',$A9
	.WORD	L93E5
PABOR	.WORD	DOCOL
	.WORD	SPSTO
	.WORD	CRR
	.WORD	CRR
	.WORD	PDOTQ
	.BYTE	5,'FORTH'
	.WORD	PWARM
	.WORD	EXIT

;	ESCAPE

L9421	.BYTE	$86,'ESCAP',$C5
	.WORD	LA04F-REL
ESCAPE	.WORD	DOCOL
	.WORD	SPSTO
	.WORD	CRR
	.WORD	PDOTQ
	.BYTE	6,'Escape'
	.WORD	QUIT
	.WORD	EXIT

;	OSERROR

L943D	.BYTE	$87,'OSERRO',$D2
	.WORD	L9421
OSERR	.WORD	DOCOL
	.WORD	SPSTO
	.WORD	CRR
	.WORD	PDOTQ
	.BYTE	10,'O.S.Error '
	.WORD	LIT,$FD
	.WORD	AT
	.WORD	DUPP
	.WORD	CAT
	.WORD	DECDOT
	.WORD	ZERO
	.WORD	CLOSE
	.WORD	SPACE
	.WORD	ONEP
	.WORD	DUPP
	.WORD	CAT
	.WORD	DUPP
	.WORD	ZBRAN,8
	.WORD	EMIT
	.WORD	BRAN,$FFF0
	.WORD	TDROP
	.WORD	PWARM
	.WORD	EXIT

;	MODE

L9484	.BYTE	$84,'MOD',$C5
	.WORD	L943D
MODE	.WORD	DOCOL
	.WORD	HIADR
	.WORD	TRUE
	.WORD	EQUAL
	.WORD	ZBRAN,8
	.WORD	DUPP
	.WORD	MODADR
	.WORD	MOVBUF
	.WORD	LIT,$16
	.WORD	TOVDU
	.WORD	TOVDU
	.WORD	EXIT

;	START

L94A7	.BYTE	$85,'STAR',$D4
	.WORD	L9484
START	.WORD	DOCOL
	.WORD	SPSTO
	.WORD	LIT,L9FFB
	.WORD	LIT,RAM
	.WORD	LIT,LA19F-L9FFB
	.WORD	CMOVE
	.WORD	INIVEC
	.WORD	INIBUF
	.WORD	ZERO
	.WORD	OFFSE
	.WORD	STORE
	.WORD	LIT,$1E
	.WORD	PORIG
	.WORD	AT
	.WORD	PRUNE
	.WORD	LIT,3
	.WORD	TOVDU
	.WORD	PAGE
	.WORD	TWOP
	.WORD	DUPP
	.WORD	DP
	.WORD	STORE
	.WORD	FENCE
	.WORD	STORE
	.WORD	PABOR
	.WORD	EXIT

L94ED	LDA	#$7E
	JSR	$FFF4
	LDA	L812C+1
	STA	IP+1
	LDA	L812C
	STA	IP
	LDY	#$F
	JMP	L8130

L9501	LDA	L812E+1
	STA	IP+1
	LDA	L812E
	STA	IP
	LDY	#$F
	JMP	L8130

;	COLD

L9510	.BYTE	$84,'COL',$C4
	.WORD	L94A7
COLD	.WORD	*+2
	LDA	L812A+1		; SET BRKVEC
	STA	$203
	LDA	L812A
	STA	$202
	LDA	L8108+1		; POINT TO START
	STA	IP+1
	LDA	L8108
	STA	IP
	LDY	#$15
	JMP	L8130

;	WARM

L9534	.BYTE	$84,'WAR',$CD
	.WORD	L9510
WARM	.WORD	*+2
	LDA	L810A+1
	STA	IP+1
	LDA	L810A
	STA	IP
	LDA	L812A+1
	STA	$203
	LDA	L812A
	STA	$202
	LDY	#$F
	JMP	L8130

;	S->D

L9558	.BYTE	$84,'S->',$C4
	.WORD	L9534
STOD	.WORD	*+2
	LDA	1,X
	BPL	L9566
	DEY
L9566	TYA
	PHA
	JMP	PUSH

;	+-

L956B	.BYTE	$82,'+',$AD
	.WORD	L9558
PM	.WORD	DOCOL
	.WORD	ZLESS
	.WORD	ZBRAN,4
	.WORD	NEGAT
	.WORD	EXIT

;	D+-

L957C	.BYTE	$83,'D+',$AD
	.WORD	L956B
DPM	.WORD	DOCOL
	.WORD	ZLESS
	.WORD	ZBRAN,4
	.WORD	DNEGAT
	.WORD	EXIT

;	ABS

L958E	.BYTE	$83,'AB',$D3
	.WORD	L957C
ABS	.WORD	DOCOL
	.WORD	DUPP
	.WORD	PM
	.WORD	EXIT

;	DABS

L959C	.BYTE	$84,'DAB',$D3
	.WORD	L958E
DABS	.WORD	DOCOL
	.WORD	DUPP
	.WORD	DPM
	.WORD	EXIT

;	MIN

L95AB	.BYTE	$83,'MI',$CE
	.WORD	L959C
MIN	.WORD	DOCOL
	.WORD	TDUP
	.WORD	GREAT
	.WORD	ZBRAN,4
	.WORD	SWAP
	.WORD	DROP
	.WORD	EXIT

;	MAX

L95C1	.BYTE	$83,'MA',$D8
	.WORD	L95AB
MAX	.WORD	DOCOL
	.WORD	TDUP
	.WORD	LESS
	.WORD	ZBRAN,4
	.WORD	SWAP
	.WORD	DROP
	.WORD	EXIT

;	U/MOD

L95D7	.BYTE	$85,'U/MO',$C4
	.WORD	L95C1
USMOD	.WORD	DOCOL
	.WORD	QDUP
	.WORD	ZBRAN,8
	.WORD	USLAS
	.WORD	BRAN,8
	.WORD	LIT,11
	.WORD	ERROR
	.WORD	EXIT

;	M*

L95F5	.BYTE	$82,'M',$AA
	.WORD	L95D7
MSTAR	.WORD	DOCOL
	.WORD	TDUP
	.WORD	XORR
	.WORD	TOR
	.WORD	ABS
	.WORD	SWAP
	.WORD	ABS
	.WORD	USTAR
	.WORD	RFROM
	.WORD	DPM
	.WORD	EXIT

;	M/

L9610	.BYTE	$82,'M',$AF
	.WORD	L95F5
MSLAS	.WORD	DOCOL
	.WORD	OVER
	.WORD	TOR
	.WORD	TOR
	.WORD	DABS
	.WORD	RAT
	.WORD	ABS
	.WORD	USMOD
	.WORD	RFROM
	.WORD	RAT
	.WORD	XORR
	.WORD	PM
	.WORD	SWAP
	.WORD	RFROM
	.WORD	PM
	.WORD	SWAP
	.WORD	EXIT

;	*

L9637	.BYTE	$81,$AA
	.WORD	L9610
STAR	.WORD	DOCOL
	.WORD	USTAR
	.WORD	DROP
	.WORD	EXIT

;	/MOD

L9643	.BYTE	$84,'/MO',$C4
	.WORD	L9637
SLMOD	.WORD	DOCOL
	.WORD	TOR
	.WORD	STOD
	.WORD	RFROM
	.WORD	MSLAS
	.WORD	EXIT

;	/

L9656	.BYTE	$81,$AF
	.WORD	L9643
SLASH	.WORD	DOCOL
	.WORD	SLMOD
	.WORD	SWAP
	.WORD	DROP
	.WORD	EXIT

;	MOD

L9664	.BYTE	$83,'MO',$C4
	.WORD	L9656
MOD	.WORD	DOCOL
	.WORD	SLMOD
	.WORD	DROP
	.WORD	EXIT

;	*/MOD

L9672	.BYTE	$85,'*/MO',$C4
	.WORD	L9664
SSLMOD	.WORD	DOCOL
	.WORD	TOR
	.WORD	MSTAR
	.WORD	RFROM
	.WORD	MSLAS
	.WORD	EXIT

;	*/

L9686	.BYTE	$82,'*',$AF
	.WORD	L9672
SSLASH	.WORD	DOCOL
	.WORD	SSLMOD
	.WORD	SWAP
	.WORD	DROP
	.WORD	EXIT

;	M/MOD

L9695	.BYTE	$85,'M/MO',$C4
	.WORD	L9686
MSLMOD	.WORD	DOCOL
	.WORD	TOR
	.WORD	ZERO
	.WORD	RAT
	.WORD	USMOD
	.WORD	RFROM
	.WORD	SWAP
	.WORD	TOR
	.WORD	USMOD
	.WORD	RFROM
	.WORD	EXIT

;	SPACES

L96B3	.BYTE	$86,'SPACE',$D3
	.WORD	L9695
SPACS	.WORD	DOCOL
	.WORD	ZERO
	.WORD	MAX
	.WORD	QDUP
	.WORD	ZBRAN,$C
	.WORD	ZERO
	.WORD	XDO
	.WORD	SPACE
	.WORD	XPULO,$FFFC
	.WORD	EXIT

;	<#

L96D4	.BYTE	$82,'<',$A3
	.WORD	L96B3
BDIG	.WORD	DOCOL
	.WORD	PAD
	.WORD	HLD
	.WORD	STORE
	.WORD	EXIT

;	#>

L96E3	.BYTE	$82,'#',$BE
	.WORD	L96D4
EDIG	.WORD	DOCOL
	.WORD	TDROP
	.WORD	HLD
	.WORD	AT
	.WORD	PAD
	.WORD	OVER
	.WORD	SUBB
	.WORD	EXIT

	.BYTE	$66

;	SIGN

L96F9	.BYTE	$84,'SIG',$CE
	.WORD	L96E3
SIGN	.WORD	DOCOL
	.WORD	ROT
	.WORD	ZLESS
	.WORD	ZBRAN,8
	.WORD	LIT,'-'
	.WORD	HOLD
	.WORD	EXIT

;	#

L9712	.BYTE	$81,$A3
	.WORD	L96F9
DIG	.WORD	DOCOL
	.WORD	BASE
	.WORD	AT
	.WORD	MSLMOD
	.WORD	ROT
	.WORD	LIT,9
	.WORD	OVER
	.WORD	LESS
	.WORD	ZBRAN,8
	.WORD	LIT,7
	.WORD	PLUS
	.WORD	LIT,'0'
	.WORD	PLUS
	.WORD	HOLD
	.WORD	EXIT

;	#S

L973C	.BYTE	$82,'#',$D3
	.WORD	L9712
DIGS	.WORD	DOCOL
	.WORD	DIG
	.WORD	TDUP
	.WORD	ORR
	.WORD	ZEQU
	.WORD	ZBRAN,$FFF6
	.WORD	EXIT

;	D.R

L9751	.BYTE	$83,'D.',$D2
	.WORD	L973C
DDOTR	.WORD	DOCOL
	.WORD	TOR
	.WORD	SWAP
	.WORD	OVER
	.WORD	DABS
	.WORD	BDIG
	.WORD	DIGS
	.WORD	SIGN
	.WORD	EDIG
	.WORD	RFROM
	.WORD	OVER
	.WORD	SUBB
	.WORD	SPACS
	.WORD	TYPE
	.WORD	EXIT

;	D.

L9775	.BYTE	$82,'D',$AE
	.WORD	L9751
DDOT	.WORD	DOCOL
	.WORD	ZERO
	.WORD	DDOTR
	.WORD	SPACE
	.WORD	EXIT

;	.R

L9784	.BYTE	$82,'.',$D2
	.WORD	L9775
DOTR	.WORD	DOCOL
	.WORD	TOR
	.WORD	STOD
	.WORD	RFROM
	.WORD	DDOTR
	.WORD	EXIT

;	.

L9795	.BYTE	$81,$AE
	.WORD	L9784
DOT	.WORD	DOCOL
	.WORD	STOD
	.WORD	DDOT
	.WORD	EXIT

;	U.

L97A1	.BYTE	$82,'U',$AE
	.WORD	L9795
UDOT	.WORD	DOCOL
	.WORD	ZERO
	.WORD	DDOT
	.WORD	EXIT

;	?

L97AE	.BYTE	$81,$BF
	.WORD	L97A1
QUES	.WORD	DOCOL
	.WORD	AT
	.WORD	DOT
	.WORD	EXIT

;	DEC.

L97BA	.BYTE	$84,'DEC',$AE
	.WORD	L97AE
DECDOT	.WORD	DOCOL
	.WORD	BASE
	.WORD	AT
	.WORD	SWAP
	.WORD	DECIM
	.WORD	DOT
	.WORD	BASE
	.WORD	STORE
	.WORD	EXIT

;	H.

L97D3	.BYTE	$82,'H',$AE
	.WORD	L97BA
HDOT	.WORD	DOCOL
	.WORD	BASE
	.WORD	AT
	.WORD	SWAP
	.WORD	HEX
	.WORD	DOT
	.WORD	BASE
	.WORD	STORE
	.WORD	EXIT

;	MSG#

L97EA	.BYTE	$84,'MSG',$A3
	.WORD	L97D3
MSGNUM	.WORD	DOCOL
	.WORD	QDUP
	.WORD	ZBRAN,$D
	.WORD	PDOTQ
	.BYTE	6,'MSG # '
	.WORD	DECDOT
	.WORD	EXIT

;	2*

L9806	.BYTE	$82,'2',$AA
	.WORD	LA05B-REL
TSTAR	.WORD	*+2
	ASL	0,X
	ROL	1,X
	JMP	NEXT

;	2/

L9814	.BYTE	$82,'2',$AF
	.WORD	L9806
TSLAS	.WORD	*+2
	CLC
	LDA	1,X
	BPL	L9829
	INC	0,X
	BNE	L9826
	INC	1,X
L9826	BEQ	L9829
	SEC
L9829	ROR	1,X
	ROR	0,X
	JMP	NEXT

;	J

L9830	.BYTE	$81,$CA
	.WORD	L9814
JDO	.WORD	DOCOL
	.WORD	RPAT
	.WORD	LIT,7
	.WORD	PLUS
	.WORD	AT
	.WORD	EXIT

;	BACK

L9842	.BYTE	$84,'BAC',$CB
	.WORD	L9830
BACK	.WORD	DOCOL
	.WORD	HERE
	.WORD	SUBB
	.WORD	COMMA
	.WORD	EXIT

;	DO

L9853	.BYTE	$C2,'D',$CF
	.WORD	L9842
DO	.WORD	DOCOL
	.WORD	COMP
	.WORD	XDO
	.WORD	HERE
	.WORD	LIT,3
	.WORD	EXIT

;	LOOP

L9866	.BYTE	$C4,'LOO',$D0
	.WORD	L9853
LOOP	.WORD	DOCOL
	.WORD	LIT,3
	.WORD	QPAIR
	.WORD	COMP
	.WORD	XLOOP
	.WORD	BACK
	.WORD	EXIT

;	+LOOP

L987D	.BYTE	$C5,'+LOO',$D0
	.WORD	L9866
PLOOP	.WORD	DOCOL
	.WORD	LIT,3
	.WORD	QPAIR
	.WORD	COMP
	.WORD	XPLOO
	.WORD	BACK
	.WORD	EXIT

;	IF

L9895	.BYTE	$C2,'I',$C6
	.WORD	L987D
IFF	.WORD	DOCOL
	.WORD	COMP
	.WORD	ZBRAN
	.WORD	HERE
	.WORD	ZERO
	.WORD	COMMA
	.WORD	TWO
	.WORD	EXIT

;	THEN

L98AA	.BYTE	$C4,'THE',$CE
	.WORD	L9895
THEN	.WORD	DOCOL
	.WORD	QCOMP
	.WORD	TWO
	.WORD	QPAIR
	.WORD	HERE
	.WORD	OVER
	.WORD	SUBB
	.WORD	SWAP
	.WORD	STORE
	.WORD	EXIT

;	ELSE

L98C5	.BYTE	$C4,'ELS',$C5
	.WORD	L98AA
ELSE	.WORD	DOCOL
	.WORD	TWO
	.WORD	QPAIR
	.WORD	COMP
	.WORD	BRAN
	.WORD	HERE
	.WORD	ZERO
	.WORD	COMMA
	.WORD	SWAP
	.WORD	TWO
	.WORD	THEN
	.WORD	TWO
	.WORD	EXIT

;	BEGIN

L98E6	.BYTE	$C5,'BEGI',$CE
	.WORD	L98C5
BEGIN	.WORD	DOCOL
	.WORD	QCOMP
	.WORD	HERE
	.WORD	ONE
	.WORD	EXIT

;	UNTIL

L98F8	.BYTE	$C5,'UNTI',$CC
	.WORD	L98E6
UNTIL	.WORD	DOCOL
	.WORD	ONE
	.WORD	QPAIR
	.WORD	COMP
	.WORD	ZBRAN
	.WORD	BACK
	.WORD	EXIT

;	AGAIN

L990E	.BYTE	$C5,'AGAI',$CE
	.WORD	L98F8
AGAIN	.WORD	DOCOL
	.WORD	ONE
	.WORD	QPAIR
	.WORD	COMP
	.WORD	BRAN
	.WORD	BACK
	.WORD	EXIT

;	WHILE

L9924	.BYTE	$C5,'WHIL',$C5
	.WORD	L990E
WHILE	.WORD	DOCOL
	.WORD	IFF
	.WORD	TWOP
	.WORD	EXIT

;	REPEAT

L9934	.BYTE	$C6,'REPEA',$D4
	.WORD	L9924
REPEAT	.WORD	DOCOL
	.WORD	TOR
	.WORD	TOR
	.WORD	AGAIN
	.WORD	RFROM
	.WORD	RFROM
	.WORD	TWO
	.WORD	SUBB
	.WORD	THEN
	.WORD	EXIT

;	'

L9951	.BYTE	$C1,$A7
	.WORD	L9934
TICK	.WORD	DOCOL
	.WORD	FIND
	.WORD	DUPP
	.WORD	ZEQU
	.WORD	ZERO
	.WORD	QERR
	.WORD	TWOP
	.WORD	LITER
	.WORD	EXIT

;	VLIST

L9967	.BYTE	$85,'VLIS',$D4
	.WORD	L9951
VLIST	.WORD	DOCOL
	.WORD	LIT,128
	.WORD	OUT
	.WORD	STORE
	.WORD	CONT
	.WORD	AT
	.WORD	AT
	.WORD	OUT
	.WORD	AT
	.WORD	CSLL
	.WORD	GREAT
	.WORD	ZBRAN,$A
	.WORD	CRR
	.WORD	ZERO
	.WORD	OUT
	.WORD	STORE
	.WORD	DUPP
	.WORD	IDDOT
	.WORD	SPACE
	.WORD	SPACE
	.WORD	PFA
	.WORD	LFA
	.WORD	AT
	.WORD	DUPP
	.WORD	QTAB
	.WORD	ZBRAN,$1E
	.WORD	QTAB
	.WORD	NOT
	.WORD	ZBRAN,$FFFA
	.WORD	KEY
	.WORD	BLL
	.WORD	EQUAL
	.WORD	ZBRAN,8
	.WORD	TRUE
	.WORD	BRAN,4
	.WORD	ZERO
	.WORD	ANDD
	.WORD	ZEQU
	.WORD	ZBRAN,$FFB6
	.WORD	DROP
	.WORD	EXIT

;	NOVEC

L99CF	.BYTE	$85,'NOVE',$C3
	.WORD	L9967
NOVEC	.WORD	DOCOL
	.WORD	LIT,12
	.WORD	ERROR
	.WORD	EXIT

;	EXVEC:

L99E1	.BYTE	$86,'EXVEC',$BA
	.WORD	L99CF
XVEC	.WORD	DOCOL
	.WORD	CREAT
	.WORD	LIT,NOVEC
	.WORD	COMMA
	.WORD	PSCOD
DOXVEC	JSR	DODOE
	.WORD	ATEXEC
	.WORD	EXIT

;	ASSIGN

L99FD	.BYTE	$C6,'ASSIG',$CE
	.WORD	L99E1
ASSIGN	.WORD	DOCOL
	.WORD	TICK
	.WORD	EXIT

;	DOVEC

L9A0C	.BYTE	$85,'DOVE',$C3
	.WORD	L99FD
DOVEC	.WORD	DOCOL
	.WORD	CFA
	.WORD	SWAP
	.WORD	STORE
	.WORD	EXIT

;	TO-DO

L9A1E	.BYTE	$C5,'TO-D',$CF
	.WORD	L9A0C
TODO	.WORD	DOCOL
	.WORD	TICK
	.WORD	STATE
	.WORD	AT
	.WORD	ZBRAN,4
	.WORD	COMP
	.WORD	DOVEC
	.WORD	EXIT

;	INITVECS

L9A38	.BYTE	$88,'INITVEC',$D3
	.WORD	L9A1E
INIVEC	.WORD	DOCOL
	.WORD	QRSW
	.WORD	LIT,PUPDA
	.WORD	LIT,UPDAT+2
	.WORD	STORE
	.WORD	LIT,PEMIT
	.WORD	LIT,EMIT+2
	.WORD	STORE
	.WORD	LIT,PKEY
	.WORD	LIT,KEY+2
	.WORD	STORE
	.WORD	LIT,PCREAT
	.WORD	LIT,CREAT+2
	.WORD	STORE
	.WORD	LIT,PNUM
	.WORD	LIT,NUM+2
	.WORD	STORE
	.WORD	LIT,PABOR
	.WORD	LIT,ABORT+2
	.WORD	STORE
	.WORD	LIT,SMSG
	.WORD	LIT,MESS+2
	.WORD	STORE
	.WORD	EXIT

;	PRUNE

L9A8F	.BYTE	$85,'PRUN',$C5
	.WORD	L9A38
PRUNE	.WORD	DOCOL
	.WORD	VOCL
	.WORD	AT
	.WORD	DUPP
	.WORD	ZBRAN,$5A
	.WORD	DUPP
	.WORD	TWOSUB
	.WORD	CURR
	.WORD	STORE
	.WORD	SWAP
	.WORD	DUPP
	.WORD	ONESUB
	.WORD	TOR
	.WORD	LAST
	.WORD	RAT
	.WORD	OVER
	.WORD	ULESS
	.WORD	OVER
	.WORD	LIT,$8000
	.WORD	ULESS
	.WORD	ANDD
	.WORD	ZBRAN,$C
	.WORD	PFA
	.WORD	LFA
	.WORD	AT
	.WORD	BRAN,$FFE4
	.WORD	CURR
	.WORD	AT
	.WORD	STORE
	.WORD	RFROM
	.WORD	DROP
	.WORD	OVER
	.WORD	AT
	.WORD	SWAP
	.WORD	ROT
	.WORD	OVER
	.WORD	SWAP
	.WORD	ULESS
	.WORD	ZBRAN,8
	.WORD	OVER
	.WORD	VOCL
	.WORD	STORE
	.WORD	SWAP
	.WORD	BRAN,$FFA4
	.WORD	TDROP
	.WORD	FORTH
	.WORD	DEFIN
	.WORD	EXIT

;	FORGET

L9B03	.BYTE	$86,'FORGE',$D4
	.WORD	L9A8F
FORG	.WORD	DOCOL
	.WORD	CURR
	.WORD	AT
	.WORD	AT
	.WORD	DFIND
	.WORD	ZEQU
	.WORD	LIT,24
	.WORD	QERR
	.WORD	DROP
	.WORD	TWOP
	.WORD	NFA
	.WORD	ZERO
	.WORD	PORIG
	.WORD	OVER
	.WORD	ULESS
	.WORD	OVER
	.WORD	FENCE
	.WORD	AT
	.WORD	ULESS
	.WORD	ORR
	.WORD	LIT,21
	.WORD	QERR
	.WORD	DUPP
	.WORD	DP
	.WORD	STORE
	.WORD	PRUNE
	.WORD	EXIT

;	DEPTH

L9B46	.BYTE	$85,'DEPT',$C8
	.WORD	L9B03
DEPTH	.WORD	DOCOL
	.WORD	SPAT
	.WORD	SZERO
	.WORD	AT
	.WORD	SUBB
	.WORD	NEGAT
	.WORD	TSLAS
	.WORD	EXIT

;	.S

L9B5E	.BYTE	$82,'.',$D3
	.WORD	L9B46
DOTS	.WORD	DOCOL
	.WORD	CRR
	.WORD	DEPTH
	.WORD	ZBRAN,$1A
	.WORD	SPAT
	.WORD	SZERO
	.WORD	AT
	.WORD	TWOSUB
	.WORD	XDO
	.WORD	IDO
	.WORD	QUES
	.WORD	NEGTWO
	.WORD	XPLOO,$FFF8
	.WORD	BRAN,$B
	.WORD	PDOTQ
	.BYTE	6,'EMPTY '
	.WORD	EXIT

;	PICK

L9B90	.BYTE	$84,'PIC',$CB
	.WORD	L9B5E
PICK	.WORD	*+2
	SEC
	TYA
	SBC	0,X
	TYA
	SBC	1,X
	BPL	L9BB6
	ASL	0,X
	ROL	1,X
	CLC
	TXA
	ADC	0,X
	TAY
	LDA	0,Y
	PHA
	INY
	LDA	0,Y
	JMP	PUT

L9BB6	JMP	POP

;	ROLL

L9BB9	.BYTE	$84,'ROL',$CC
	.WORD	L9B90
ROLL	.WORD	*+2
	SEC
	TYA
	SBC	0,X
	TYA
	SBC	1,X
	BPL	L9BF3
	ASL	0,X
	ROL	1,X
	CLC
	TXA
	ADC	0,X
	TAY
	LDA	0,Y
	PHA
	INY
	LDA	0,Y
	PHA
	STX	XSAVE
	TYA
	TAX
	DEX
L9BE2	DEX
	LDA	0,X
	STA	0,Y
	DEY
	CPX	XSAVE
	BNE	L9BE2
	INX
	INX
	PLA
	JMP	PUT

L9BF3	JMP	POP

;	OSCLI

L9BF6	.BYTE	$85,'OSCL',$C9
	.WORD	L9BB9
OSCLI	.WORD	*+2
	STX	XSAVE
	LDY	1,X
	LDA	0,X
	TAX
	JSR	$FFF7
	LDX	XSAVE
	JMP	POP

;	STRING

L9C0F	.BYTE	$86,'STRIN',$C7
	.WORD	L9BF6
STRING	.WORD	DOCOL
	.WORD	TRUE
	.WORD	INN
	.WORD	PSTOR
	.WORD	PWORD
	.WORD	ONESUB
	.WORD	SWAP
	.WORD	OVER
	.WORD	ZBRAN,$A
	.WORD	ONEP
	.WORD	SWAP
	.WORD	BRAN,4
	.WORD	DROP
	.WORD	EXIT

;	($+)

L9C38	.BYTE	$84,'($+',$A9
	.WORD	L9C0F
PSA	.WORD	DOCOL
	.WORD	SWAP
	.WORD	TOR
	.WORD	SWAP
	.WORD	OVER
	.WORD	COUNT
	.WORD	DUPP
	.WORD	RAT
	.WORD	PLUS
	.WORD	LIT,5
	.WORD	ROLL
	.WORD	CSTOR
	.WORD	PLUS
	.WORD	RFROM
	.WORD	CMOVE
	.WORD	EXIT

;	(CLI)

L9C61	.BYTE	$85,'(CLI',$A9
	.WORD	L9C38
PCLI	.WORD	DOCOL
	.WORD	RAT
	.WORD	COUNT
	.WORD	ONEP
	.WORD	RFROM
	.WORD	PLUS
	.WORD	TOR
	.WORD	OSCLI
	.WORD	EXIT

;	>CLI

L9C7B	.BYTE	$C4,'>CL',$C9
	.WORD	L9C61
TOCLI	.WORD	DOCOL
	.WORD	STATE
	.WORD	AT
	.WORD	ZBRAN,$C
	.WORD	COMP
	.WORD	PCLI
	.WORD	TXTCOM
	.WORD	BRAN,6
	.WORD	DROP
	.WORD	OSCLI
	.WORD	EXIT

;	OS'

L9C9C	.BYTE	$C3,'OS',$A7
	.WORD	L9C7B
OSTIC	.WORD	DOCOL
	.WORD	LIT,$27
	.WORD	STRING
	.WORD	QDUP
	.WORD	ZBRAN,$20
	.WORD	PAD
	.WORD	ZERO
	.WORD	OVER
	.WORD	STORE
	.WORD	PSA
	.WORD	LIT,$D
	.WORD	SPAT
	.WORD	ONE
	.WORD	PAD
	.WORD	PSA
	.WORD	DROP
	.WORD	PAD
	.WORD	COUNT
	.WORD	TOCLI
	.WORD	EXIT

;	KEY'

L9CD0	.BYTE	$C4,'KEY',$A7
	.WORD	L9C9C
KEYTIC	.WORD	DOCOL
	.WORD	STATE
	.WORD	AT
	.WORD	ZBRAN,$2A
	.WORD	LIT,$FFFC
	.WORD	ALLOT
	.WORD	HERE
	.WORD	AT
	.WORD	LIT,LIT+2
	.WORD	CFA
	.WORD	SUBB
	.WORD	ZBRAN,$E
	.WORD	TWO
	.WORD	ALLOT
	.WORD	HERE
	.WORD	ATEXEC
	.WORD	BRAN,8
	.WORD	HERE
	.WORD	TWOP
	.WORD	CAT
	.WORD	ZERO
	.WORD	BDIG
	.WORD	LIT,'"'
	.WORD	HOLD
	.WORD	DIG
	.WORD	DIG
	.WORD	LIT,'Y'
	.WORD	HOLD
	.WORD	LIT,'E'
	.WORD	HOLD
	.WORD	LIT,'K'
	.WORD	HOLD
	.WORD	EDIG
	.WORD	PAD
	.WORD	TDUP
	.WORD	CSTOR
	.WORD	ONEP
	.WORD	SWAP
	.WORD	CMOVE
	.WORD	LIT,$27
	.WORD	STRING
	.WORD	QDUP
	.WORD	ZBRAN,6
	.WORD	PAD
	.WORD	PSA
	.WORD	LIT,$D22
	.WORD	SPAT
	.WORD	TWO
	.WORD	PAD
	.WORD	PSA
	.WORD	DROP
	.WORD	PAD
	.WORD	COUNT
	.WORD	TOCLI
	.WORD	EXIT

;	(OPEN)

L9D5D	.BYTE	$86,'(OPEN',$A9
	.WORD	L9CD0
POPEN	.WORD	*+2
	STX	XSAVE
	LDY	1,X
	LDA	0,X
	TAX
	LDA	#$C0
	JSR	$FFCE
	LDX	XSAVE
	STA	0,X
	LDY	#0
	STY	1,X
	JMP	NEXT

;	CLOSE

L9D7F	.BYTE	$85,'CLOS',$C5
	.WORD	L9D5D
CLOSE	.WORD	*+2
	TYA
	LDY	0,X
	JSR	$FFCE
	JMP	POP

;	(R/W)

L9D92	.BYTE	$85,'(R/W',$A9
	.WORD	L9D7F
PRSW	.WORD	*+2
	LDA	0,X
	INX
	INX
	INX
	STX	XSAVE
	JSR	$FFD1
	LDX	XSAVE
	INX
	JMP	POPTWO

;	OPEN

L9DAC	.BYTE	$84,'OPE',$CE
	.WORD	LA093-REL
OPEN	.WORD	DOCOL
	.WORD	POPEN
	.WORD	DUPP
	.WORD	ZEQU
	.WORD	ZBRAN,$C
	.WORD	ZERO
	.WORD	CLOSE
	.WORD	LIT,8
	.WORD	ERROR
	.WORD	CHANNE
	.WORD	CSTOR
	.WORD	EXIT

;	DR/W

L9DCF	.BYTE	$84,'DR/',$D7
	.WORD	L9DAC
DRSW	.WORD	DOCOL
	.WORD	TOR
	.WORD	SWAP
	.WORD	TOR
	.WORD	DUPP
	.WORD	ZLESS
	.WORD	LIT,6
	.WORD	QERR
	.WORD	SFILE
	.WORD	SLMOD
	.WORD	DUPP
	.WORD	MAXFIL
	.WORD	ONESUB
	.WORD	GREAT
	.WORD	LIT,6
	.WORD	QERR
	.WORD	LIT,'0'
	.WORD	PLUS
	.WORD	DUPP
	.WORD	LIT,'9'
	.WORD	GREAT
	.WORD	ZBRAN,8
	.WORD	LIT,7
	.WORD	PLUS
	.WORD	FNAME
	.WORD	CSTOR
	.WORD	FNAME
	.WORD	OPEN
	.WORD	ZERO
	.WORD	SWAP
	.WORD	BBUF
	.WORD	STAR
	.WORD	ZERO
	.WORD	BBUF
	.WORD	HIADR
	.WORD	RFROM
	.WORD	CHANNE
	.WORD	CAT
	.WORD	BSWAP
	.WORD	RFROM
	.WORD	TSTAR
	.WORD	ONEP
	.WORD	PRSW
	.WORD	CHANNE
	.WORD	CAT
	.WORD	CLOSE
	.WORD	LIT,9
	.WORD	QERR
	.WORD	DROP
	.WORD	TDROP
	.WORD	EXIT

;	EMPTY-BUFFERS

L9E4A	.BYTE	$8D,'EMPTY-BUFFER',$D3
	.WORD	LA0DD-REL
MTBUF	.WORD	DOCOL
	.WORD	FIRST
	.WORD	LIMIT
	.WORD	OVER
	.WORD	SUBB
	.WORD	ERASE
	.WORD	FIRST
	.WORD	DUPP
	.WORD	USE
	.WORD	STORE
	.WORD	PREV
	.WORD	STORE
	.WORD	EXIT

;	SETBUF

L9E74	.BYTE	$86,'SETBU',$C6
	.WORD	L9E4A
SETBUF	.WORD	DOCOL
	.WORD	LIMIT
	.WORD	BUFSZ
	.WORD	NBUF
	.WORD	AT
	.WORD	STAR
	.WORD	SUBB
	.WORD	LIT,FIRST+2
	.WORD	STORE
	.WORD	EXIT

;	INITBUF

L9E93	.BYTE	$87,'INITBU',$C6
	.WORD	L9E74
INIBUF	.WORD	DOCOL
	.WORD	HIADR
	.WORD	TRUE
	.WORD	EQUAL
	.WORD	ZBRAN,8
	.WORD	HIMEM
	.WORD	BRAN,6
	.WORD	LIT,$8000
	.WORD	LIT,LIMIT+2
	.WORD	STORE
	.WORD	MINBUF
	.WORD	NBUF
	.WORD	STORE
	.WORD	SETBUF
	.WORD	MTBUF
	.WORD	EXIT

;	+BUF

L9EC5	.BYTE	$84,'+BU',$C6
	.WORD	L9E93
PBUF	.WORD	DOCOL
	.WORD	BUFSZ
	.WORD	PLUS
	.WORD	DUPP
	.WORD	LIMIT
	.WORD	EQUAL
	.WORD	ZBRAN,6
	.WORD	DROP
	.WORD	FIRST
	.WORD	DUPP
	.WORD	PREV
	.WORD	AT
	.WORD	SUBB
	.WORD	EXIT

;	(UPDATE)

L9EEA	.BYTE	$88,'(UPDATE',$A9
	.WORD	L9EC5
PUPDA	.WORD	DOCOL
	.WORD	PREV
	.WORD	AT
	.WORD	AT
	.WORD	LIT,$8000
	.WORD	ORR
	.WORD	PREV
	.WORD	AT
	.WORD	STORE
	.WORD	EXIT

;	BUFFER

L9F0B	.BYTE	$86,'BUFFE',$D2
	.WORD	LA0E8-REL
BUFFE	.WORD	DOCOL
	.WORD	USE
	.WORD	AT
	.WORD	DUPP
	.WORD	TOR
	.WORD	PBUF
	.WORD	ZBRAN,$FFFC
	.WORD	USE
	.WORD	STORE
	.WORD	RAT
	.WORD	AT
	.WORD	ZLESS
	.WORD	ZBRAN,$14
	.WORD	RAT
	.WORD	TWOP
	.WORD	RAT
	.WORD	AT
	.WORD	LIT,$7FFF
	.WORD	ANDD
	.WORD	ZERO
	.WORD	RSW
	.WORD	RAT
	.WORD	STORE
	.WORD	RAT
	.WORD	PREV
	.WORD	STORE
	.WORD	RFROM
	.WORD	TWOP
	.WORD	EXIT

;	BLOCK

L9F54	.BYTE	$85,'BLOC',$CB
	.WORD	L9F0B
BLOCK	.WORD	DOCOL
	.WORD	OFFSE
	.WORD	AT
	.WORD	PLUS
	.WORD	TOR
	.WORD	PREV
	.WORD	AT
	.WORD	DUPP
	.WORD	AT
	.WORD	RAT
	.WORD	SUBB
	.WORD	TSTAR
	.WORD	ZBRAN,$30
	.WORD	PBUF
	.WORD	ZEQU
	.WORD	ZBRAN,$12
	.WORD	DROP
	.WORD	RAT
	.WORD	BUFFE
	.WORD	DUPP
	.WORD	RAT
	.WORD	ONE
	.WORD	RSW
	.WORD	TWOSUB
	.WORD	DUPP
	.WORD	AT
	.WORD	RAT
	.WORD	SUBB
	.WORD	TSTAR
	.WORD	ZEQU
	.WORD	ZBRAN,$FFDA
	.WORD	DUPP
	.WORD	PREV
	.WORD	STORE
	.WORD	RFROM
	.WORD	DROP
	.WORD	TWOP
	.WORD	USE
	.WORD	AT
	.WORD	PREV
	.WORD	AT
	.WORD	EQUAL
	.WORD	ZBRAN,$E
	.WORD	USE
	.WORD	AT
	.WORD	PBUF
	.WORD	DROP
	.WORD	USE
	.WORD	STORE
	.WORD	EXIT

;	LOAD

L9FC8	.BYTE	$84,'LOA',$C4
	.WORD	L9F54
LOAD	.WORD	DOCOL
	.WORD	BLK
	.WORD	AT
	.WORD	TOR
	.WORD	INN
	.WORD	AT
	.WORD	TOR
	.WORD	ZERO
	.WORD	INN
	.WORD	STORE
	.WORD	BSCR
	.WORD	STAR
	.WORD	BLK
	.WORD	STORE
	.WORD	INTE
	.WORD	RFROM
	.WORD	INN
	.WORD	STORE
	.WORD	RFROM
	.WORD	BLK
	.WORD	STORE
	.WORD	EXIT

; START OF BLOCK RELOCATED TO RAM

REL	=	*-RAM

;	EMIT

L9FFB	.BYTE	$84,'EMI',$D4
	.WORD	L846A
XEMIT	.WORD	DOXVEC
	.WORD	PEMIT

EMIT	=	XEMIT-REL

;	KEY

LA006	.BYTE	$83,'KE',$D9
	.WORD	L85D7
XKEY	.WORD	DOXVEC
	.WORD	PKEY

KEY	=	XKEY-REL

;	FIRST

LA010	.BYTE	$85,'FIRS',$D4
	.WORD	L89D6
XFIRS	.WORD	DOCON
	.WORD	BUF1

FIRST	=	XFIRS-REL

;	LIMIT

LA01C	.BYTE	$85,'LIMI',$D4
	.WORD	LA010-REL
XLIMI	.WORD	DOCON
	.WORD	EM

LIMIT	=	XLIMI-REL

;	CREATE

LA028	.BYTE	$86,'CREAT',$C5
	.WORD	L914F
XCREA	.WORD	DOXVEC
	.WORD	PCREAT

CREAT	=	XCREA-REL

;	NUM

LA035	.BYTE	$83,'NU',$CD
	.WORD	L92F9
XNUM	.WORD	DOXVEC
	.WORD	PNUM

NUM	=	XNUM-REL

;	FORTH

LA03F	.BYTE	$C5,'FORT',$C8
	.WORD	L9365
XFORT	.WORD	DOVOC
	.WORD	$A081
	.WORD	TOPNFA
VL0	.WORD	0

FORTH	=	XFORT-REL

;	ABORT

LA04F	.BYTE	$85,'ABOR',$D4
	.WORD	L9403
XABOR	.WORD	DOXVEC
	.WORD	PABOR

ABORT	=	XABOR-REL

;	MESSAGE

LA05B	.BYTE	$87,'MESSAG',$C5
	.WORD	L97EA
XMES	.WORD	DOXVEC
	.WORD	SMSG

MESS	=	XMES-REL

;	S/FILE

LA069	.BYTE	$86,'S/FIL',$C5
	.WORD	L9D92
XSFIL	.WORD	DOCON
	.WORD	9

SFILE	=	XSFIL-REL

;	MAXFILES

LA076	.BYTE	$88,'MAXFILE',$D3
	.WORD	LA069-REL
XMAXFI	.WORD	DOCON
	.WORD	20

MAXFIL	=	XMAXFI-REL

;	CHANNEL

LA085	.BYTE	$87,'CHANNE',$CC
	.WORD	LA076-REL
XCHANN	.WORD	DOVAR
	.WORD	18

CHANNE	=	XCHANN-REL

;	FNAME

LA093	.BYTE	$85,'FNAM',$C5
	.WORD	LA085-REL
XFNAM	.WORD	DOVAR
	.BYTE	'1SCREEN',$D

FNAME	=	XFNAM-REL

;	R/W

LA0A5	.BYTE	$83,'R/',$D7
	.WORD	L9DCF
XRSW	.WORD	DOXVEC
	.WORD	DRSW

RSW	=	XRSW-REL

;	MINBUF

LA0AF	.BYTE	$86,'MINBU',$C6
	.WORD	LA0A5-REL
XMINBU	.WORD	DOCON
	.WORD	NOBUF

MINBUF	=	XMINBU-REL

;	BUFSZ

LA0BC	.BYTE	$85,'BUFS',$DA
	.WORD	LA0AF-REL
XBUFS	.WORD	DOCON
	.WORD	HDBT

BUFSZ	=	XBUFS-REL

;	USE

LA0C8	.BYTE	$83,'US',$C5
	.WORD	LA0BC-REL
XUSE	.WORD	DOVAR
	.WORD	BUF1

USE	=	XUSE-REL

;	PREV

LA0D2	.BYTE	$84,'PRE',$D6
	.WORD	LA0C8-REL
XPRE	.WORD	DOVAR
	.WORD	BUF1+HDBT

PREV	=	XPRE-REL

;	#BUF

LA0DD	.BYTE	$84,'#BU',$C6
	.WORD	LA0D2-REL
XNBU	.WORD	DOVAR
	.WORD	NOBUF

NBUF	=	XNBU-REL

;	UPDATE

LA0E8	.BYTE	$86,'UPDAT',$C5
	.WORD	L9EEA
XUPDA	.WORD	DOXVEC
	.WORD	PUPDA

UPDAT	=	XUPDA-REL

;	(DISK)

LA0F5	.BYTE	$86,'(DISK',$A9
	.WORD	L9FC8
XPDIS	.WORD	DOCOL
	.WORD	PCLI
	.BYTE	5,'DISK',$D
	.WORD	EXIT

PDISK	=	XPDIS-REL

;	TLD

LA10A	.BYTE	$83,'TL',$C4
	.WORD	LA274
XTLD	.WORD	DOCOL
	.WORD	PCLI
	.BYTE	16
	.BYTE	'LOAD"'
LA11A	.BYTE	'XXXX" '
LA120	.BYTE	'YYYY',$D
	.WORD	EXIT

TLD	=	XTLD-REL

;	TSV

LA127	.BYTE	$83,'TS',$D6
	.WORD	LA10A-REL
XTSV	.WORD	DOCOL
	.WORD	PCLI
	.BYTE	21,'SAVE"XXXX" YYYY ZZZZ',$D
	.WORD	EXIT

TSV	=	XTSV-REL

;	SSV

LA149	.BYTE	$83,'SS',$D6
	.WORD	LA127-REL
XSSV	.WORD	DOCOL
	.WORD	PCLI
	.BYTE	24
	.BYTE	'SAVE"'
LA159	.BYTE	'XSCREEN" '
LA162	.BYTE	'XXXX '
LA167	.BYTE	'YYYY',$D
	.WORD	EXIT

SSV	=	XSSV-REL

;	ASSEMBLER

LA16E	.BYTE	$C9,'ASSEMBLE',$D2
	.WORD	LA4F6
XASSE	.WORD	DOVOC
	.WORD	$A081
	.WORD	LAB1C
LA180	.WORD	VL0-REL

ASSEM	=	XASSE-REL

;	MODE

LA182	.BYTE	$84,'MOD',$C5
	.WORD	LA5C7
XMOD	.WORD	DOVAR
	.WORD	2

AMODE	=	XMOD-REL

;	EDITOR

LA18D	.BYTE	$C6,'EDITO',$D2
	.WORD	LAB39
XEDIT	.WORD	DOVOC
	.WORD	$A081
	.WORD	LAFEC
	.WORD	LA180-REL
	.BYTE	0

EDITOR	=	XEDIT-REL

; END OF BLOCK RELOCATED TO RAM

;	DISK

LA19F	.BYTE	$84,'DIS',$CB
	.WORD	LA0F5-REL
DISK	.WORD	DOCOL
	.WORD	HIADR
	.WORD	TRUE
	.WORD	EQUAL
	.WORD	ZBRAN,$10
	.WORD	PAGE
	.WORD	LIT,$1900
	.WORD	ULESS
	.WORD	LIT,25
	.WORD	QERR
	.WORD	LIT,RSW+2
	.WORD	LIT,DRSW+2
	.WORD	DOVEC
	.WORD	PDISK
	.WORD	EXIT

;	SAVE-BUFFERS

LA1CE	.BYTE	$8C,'SAVE-BUFFER',$D3
	.WORD	LA19F
SAVBUF	.WORD	DOCOL
	.WORD	FIRST
	.WORD	LIMIT
	.WORD	FIRST
	.WORD	SUBB
	.WORD	BUFSZ
	.WORD	SLASH
	.WORD	ZERO
	.WORD	XDO
	.WORD	DUPP
	.WORD	AT
	.WORD	ZLESS
	.WORD	ZBRAN,$1C
	.WORD	DUPP
	.WORD	AT
	.WORD	LIT,$7FFF
	.WORD	ANDD
	.WORD	OVER
	.WORD	STORE
	.WORD	DUPP
	.WORD	TWOP
	.WORD	OVER
	.WORD	AT
	.WORD	ZERO
	.WORD	RSW
	.WORD	BUFSZ
	.WORD	PLUS
	.WORD	XLOOP,$FFD6
	.WORD	DROP
	.WORD	EXIT

;	FLUSH

LA21F	.BYTE	$85,'FLUS',$C8
	.WORD	LA1CE
FLUSH	.WORD	DOCOL
	.WORD	SAVBUF
	.WORD	MTBUF
	.WORD	EXIT

;	-->

LA22F	.BYTE	$C3,'--',$BE
	.WORD	LA21F
ARROW	.WORD	DOCOL
	.WORD	QLOAD
	.WORD	ZERO
	.WORD	INN
	.WORD	STORE
	.WORD	BSCR
	.WORD	BLK
	.WORD	AT
	.WORD	OVER
	.WORD	MOD
	.WORD	SUBB
	.WORD	BLK
	.WORD	PSTOR
	.WORD	EXIT

;	(LINE)

LA251	.BYTE	$86,'(LINE',$A9
	.WORD	LA22F
PLINE	.WORD	DOCOL
	.WORD	TOR
	.WORD	CSLL
	.WORD	BBUF
	.WORD	SSLMOD
	.WORD	RFROM
	.WORD	BSCR
	.WORD	STAR
	.WORD	PLUS
	.WORD	BLOCK
	.WORD	PLUS
	.WORD	CSLL
	.WORD	EXIT

;	.LINE

LA274	.BYTE	$85,'.LIN',$C5
	.WORD	LA251
DOTLIN	.WORD	DOCOL
	.WORD	PLINE
	.WORD	DTRAI
	.WORD	TYPE
	.WORD	EXIT

;	4HEX

LA286	.BYTE	$84,'4HE',$D8
	.WORD	LA149-REL
FHEX	.WORD	DOCOL
	.WORD	BASE
	.WORD	AT
	.WORD	HEX
	.WORD	SWAP
	.WORD	ZERO
	.WORD	BDIG
	.WORD	DIG
	.WORD	DIG
	.WORD	DIG
	.WORD	DIG
	.WORD	EDIG
	.WORD	ROT
	.WORD	BASE
	.WORD	STORE
	.WORD	EXIT

;	TR

LA2AD	.BYTE	$82,'T',$D2
	.WORD	LA286
TR	.WORD	DOCOL
	.WORD	FHEX
	.WORD	LIT,TLD+2
	.WORD	LIT,8
	.WORD	PLUS
	.WORD	SWAP
	.WORD	CMOVE
	.WORD	FHEX
	.WORD	LIT,TLD+2
	.WORD	LIT,$E
	.WORD	PLUS
	.WORD	SWAP
	.WORD	CMOVE
	.WORD	TLD
	.WORD	EXIT

;	TW

LA2D8	.BYTE	$82,'T',$D7
	.WORD	LA2AD
TW	.WORD	DOCOL
	.WORD	FHEX
	.WORD	LIT,TSV+2
	.WORD	LIT,8
	.WORD	PLUS
	.WORD	SWAP
	.WORD	CMOVE
	.WORD	DUPP
	.WORD	FHEX
	.WORD	LIT,TSV+2
	.WORD	LIT,$E
	.WORD	PLUS
	.WORD	SWAP
	.WORD	CMOVE
	.WORD	BBUF
	.WORD	PLUS
	.WORD	FHEX
	.WORD	LIT,TSV+2
	.WORD	LIT,$13
	.WORD	PLUS
	.WORD	SWAP
	.WORD	CMOVE
	.WORD	TSV
	.WORD	EXIT

;	TR/W

LA319	.BYTE	$84,'TR/',$D7
	.WORD	LA2D8
TRSW	.WORD	DOCOL
	.WORD	ZBRAN,8
	.WORD	TR
	.WORD	BRAN,4
	.WORD	TW
	.WORD	EXIT

;	?R/W

LA330	.BYTE	$84,'?R/',$D7
	.WORD	LA319
QRSW	.WORD	DOCOL
	.WORD	QFILE
	.WORD	LIT,3
	.WORD	LESS
	.WORD	ZBRAN,$10
	.WORD	LIT,RSW+2
	.WORD	LIT,TRSW+2
	.WORD	DOVEC
	.WORD	BRAN,$C
	.WORD	LIT,RSW+2
	.WORD	LIT,DRSW+2
	.WORD	DOVEC
	.WORD	EXIT

;	TAPE

LA35F	.BYTE	$84,'TAP',$C5
	.WORD	LA330
TAPE	.WORD	DOCOL
	.WORD	PCLI
	.BYTE	5,'TAPE',$D
	.WORD	LIT,RSW+2
	.WORD	LIT,TRSW+2
	.WORD	DOVEC
	.WORD	EXIT

;	CREATE-SCREENS

LA37C	.BYTE	$8E,'CREATE-SCREEN',$D3
	.WORD	LA35F
CRESCR	.WORD	DOCOL
	.WORD	QFILE
	.WORD	LIT,4
	.WORD	LESS
	.WORD	ZBRAN,$E
	.WORD	PDOTQ
	.BYTE	7,'No disk'
	.WORD	ABORT
	.WORD	HERE
	.WORD	DUPP
	.WORD	BBUF
	.WORD	BSCR
	.WORD	SFILE
	.WORD	STAR
	.WORD	STAR
	.WORD	TDUP
	.WORD	PLUS
	.WORD	FIRST
	.WORD	OVER
	.WORD	ULESS
	.WORD	LIT,25
	.WORD	QERR
	.WORD	PDOTQ
	.BYTE	20,'Are you sure (Y/N)? '
	.WORD	KEY
	.WORD	LIT,'Y'
	.WORD	EQUAL
	.WORD	ZBRAN,$6A
	.WORD	FHEX
	.WORD	LIT,LA167-REL
	.WORD	SWAP
	.WORD	CMOVE
	.WORD	BLANKS
	.WORD	FHEX
	.WORD	LIT,LA162-REL
	.WORD	SWAP
	.WORD	CMOVE
	.WORD	CRR
	.WORD	PDOTQ
	.BYTE	17,'Creating screens '
	.WORD	LIT,$2F
	.WORD	FNAME
	.WORD	CSTOR
	.WORD	MAXFIL
	.WORD	ZERO
	.WORD	XDO
	.WORD	FNAME
	.WORD	CAT
	.WORD	ONEP
	.WORD	DUPP
	.WORD	LIT,$3A
	.WORD	EQUAL
	.WORD	ZBRAN,8
	.WORD	LIT,7
	.WORD	PLUS
	.WORD	DUPP
	.WORD	FNAME
	.WORD	CSTOR
	.WORD	LIT,LA159-REL
	.WORD	CSTOR
	.WORD	SSV
	.WORD	XLOOP,$FFD8
	.WORD	BRAN,6
	.WORD	TDROP
	.WORD	TDROP
	.WORD	EXIT

;	LIST

LA456	.BYTE	$84,'LIS',$D4
	.WORD	LA37C
LIST	.WORD	DOCOL
	.WORD	DECIM
	.WORD	CRR
	.WORD	DUPP
	.WORD	SCR
	.WORD	STORE
	.WORD	DUPP
	.WORD	BLOCK
	.WORD	DROP
	.WORD	PDOTQ
	.BYTE	6,'SCR # '
	.WORD	DUPP
	.WORD	DOT
	.WORD	LIT,5
	.WORD	SPACS
	.WORD	HDOT
	.WORD	PDOTQ
	.BYTE	1,'H'
	.WORD	LIT,16
	.WORD	ZERO
	.WORD	XDO
	.WORD	CRR
	.WORD	IDO
	.WORD	LIT,3
	.WORD	DOTR
	.WORD	SPACE
	.WORD	IDO
	.WORD	SCR
	.WORD	AT
	.WORD	DOTLIN
	.WORD	XLOOP,$FFEA
	.WORD	CRR
	.WORD	EXIT

;	79-STANDARD

LA4AC	.BYTE	$8B,'79-STANDAR',$C4
	.WORD	LA456
STD79	.WORD	DOCOL
	.WORD	EXIT

;	INDEX

LA4BE	.BYTE	$85,'INDE',$D8
	.WORD	LA4AC
INDEX	.WORD	DOCOL
	.WORD	LIT,$C
	.WORD	EMIT
	.WORD	CRR
	.WORD	ONEP
	.WORD	SWAP
	.WORD	XDO
	.WORD	CRR
	.WORD	IDO
	.WORD	LIT,3
	.WORD	DOTR
	.WORD	SPACE
	.WORD	ZERO
	.WORD	IDO
	.WORD	DOTLIN
	.WORD	QTAB
	.WORD	ZBRAN,4
	.WORD	LEAV
	.WORD	XLOOP,$FFE4
	.WORD	EXIT

;	TRIAD

LA4F6	.BYTE	$85,'TRIA',$C4
	.WORD	LA4BE
TRIAD	.WORD	DOCOL
	.WORD	LIT,$C
	.WORD	EMIT
	.WORD	LIT,3
	.WORD	SLASH
	.WORD	LIT,3
	.WORD	STAR
	.WORD	LIT,3
	.WORD	OVER
	.WORD	PLUS
	.WORD	SWAP
	.WORD	XDO
	.WORD	CRR
	.WORD	IDO
	.WORD	LIST
	.WORD	XLOOP,$FFF8
	.WORD	CRR
	.WORD	EXIT

;	?CURRENT

LA52C	.BYTE	$88,'?CURREN',$D4
	.WORD	LA16E-REL
QCURR	.WORD	DOCOL
	.WORD	TWOP
	.WORD	CURR
	.WORD	AT
	.WORD	SUBB
	.WORD	LIT,14
	.WORD	QERR
	.WORD	EXIT

;	N

LA549	.BYTE	$81,$CE
	.WORD	FORTH+2
ANN	.WORD	DOCON
	.WORD	N

;	XSAVE

LA551	.BYTE	$85,'XSAV',$C5
	.WORD	LA549
XSAV	.WORD	DOCON
	.WORD	XSAVE

;	W

LA55D	.BYTE	$81,$D7
	.WORD	LA551
AWW	.WORD	DOCON
	.WORD	W

;	IP

LA565	.BYTE	$82,'I',$D0
	.WORD	LA55D
AIP	.WORD	DOCON
	.WORD	IP

;	UP

LA56E	.BYTE	$82,'U',$D0
	.WORD	LA565
AUP	.WORD	DOCON
	.WORD	UP

;	PUSH

LA577	.BYTE	$84,'PUS',$C8
	.WORD	LA56E
APUSH	.WORD	DOCON
	.WORD	PUSH

;	PUT

LA582	.BYTE	$83,'PU',$D4
	.WORD	LA577
APUT	.WORD	DOCON
	.WORD	PUT

;	NEXT

LA58C	.BYTE	$84,'NEX',$D4
	.WORD	LA582
ANEXT	.WORD	DOCON
	.WORD	NEXT

;	SETUP

LA597	.BYTE	$85,'SETU',$D0
	.WORD	LA58C
ASETU	.WORD	DOCON
	.WORD	SETUP

;	POPTWO

LA5A3	.BYTE	$86,'POPTW',$CF
	.WORD	LA597
APOPTW	.WORD	DOCON
	.WORD	POPTWO

;	POP

LA5B0	.BYTE	$83,'PO',$D0
	.WORD	LA5A3
APOP	.WORD	DOCON
	.WORD	POP

;	PUSH0

LA5BA	.BYTE	$86,'PUSH0',$C1
	.WORD	LA5B0
APUSH0	.WORD	DOCON
	.WORD	L842B

;	BASE-ADDR

LA5C7	.BYTE	$89,'BASE-ADD',$D2
	.WORD	LA5BA
BASADR	.WORD	DOVAR
	.BYTE	$09,$09,$05,$15,$15,$01,$11,$80
	.BYTE	$09,$80,$0D,$1D,$19,$80,$80,$80
	.BYTE	$80,$00,$04,$14,$14,$80,$80,$80
	.BYTE	$80,$80,$0C,$1C,$1C,$80,$80,$2C

;	.A

LA5F5	.BYTE	$82,'.',$C1
	.WORD	LA182-REL
DOTA	.WORD	DOCOL
	.WORD	ZERO
	.WORD	AMODE
	.WORD	STORE
	.WORD	EXIT

;	#

LA604	.BYTE	$81,$A3
	.WORD	LA5F5
ANUM	.WORD	DOCOL
	.WORD	ONE
	.WORD	AMODE
	.WORD	STORE
	.WORD	EXIT

;	MEM

LA612	.BYTE	$83,'ME',$CD
	.WORD	LA604
AMEM	.WORD	DOCOL
	.WORD	TWO
	.WORD	AMODE
	.WORD	STORE
	.WORD	EXIT

;	,X

LA622	.BYTE	$82,',',$D8
	.WORD	LA612
COMX	.WORD	DOCOL
	.WORD	LIT,3
	.WORD	AMODE
	.WORD	STORE
	.WORD	EXIT

;	,Y

LA633	.BYTE	$82,',',$D9
	.WORD	LA622
COMY	.WORD	DOCOL
	.WORD	LIT,4
	.WORD	AMODE
	.WORD	STORE
	.WORD	EXIT

;	X)

LA644	.BYTE	$82,'X',$A9
	.WORD	LA633
XPAR	.WORD	DOCOL
	.WORD	LIT,5
	.WORD	AMODE
	.WORD	STORE
	.WORD	EXIT

;	)Y

LA655	.BYTE	$82,')',$D9
	.WORD	LA644
PARY	.WORD	DOCOL
	.WORD	LIT,6
	.WORD	AMODE
	.WORD	STORE
	.WORD	EXIT

;	)

LA666	.BYTE	$81,$A9
	.WORD	LA655
APAR	.WORD	DOCOL
	.WORD	LIT,$F
	.WORD	AMODE
	.WORD	STORE
	.WORD	EXIT

;	BOT

LA676	.BYTE	$83,'BO',$D4
	.WORD	LA666
ABOT	.WORD	DOCOL
	.WORD	COMX
	.WORD	ZERO
	.WORD	EXIT

;	SEC

LA684	.BYTE	$83,'SE',$C3
	.WORD	LA676
ASEC	.WORD	DOCOL
	.WORD	COMX
	.WORD	TWO
	.WORD	EXIT

;	RP)

LA692	.BYTE	$83,'RP',$A9
	.WORD	LA684
RPP	.WORD	DOCOL
	.WORD	COMX
	.WORD	LIT,$101
	.WORD	EXIT

;	CHKMODE

LA6A2	.BYTE	$87,'CHKMOD',$C5
	.WORD	LA692
CHKMOD	.WORD	DOCOL
	.WORD	ZBRAN,$1A
	.WORD	AMODE
	.WORD	AT
	.WORD	LIT,8
	.WORD	ANDD
	.WORD	ZEQU
	.WORD	ZBRAN,$A
	.WORD	LIT,8
	.WORD	AMODE
	.WORD	PSTOR
	.WORD	ONE
	.WORD	AMODE
	.WORD	AT
	.WORD	LIT,$F
	.WORD	ANDD
	.WORD	QDUP
	.WORD	ZBRAN,$E
	.WORD	ZERO
	.WORD	XDO
	.WORD	DUPP
	.WORD	PLUS
	.WORD	XLOOP,$FFFA
	.WORD	OVER
	.WORD	ONEP
	.WORD	AT
	.WORD	ANDD
	.WORD	ZEQU
	.WORD	EXIT

;	SOP

LA6F4	.BYTE	$83,'SO',$D0
	.WORD	LA6A2
SOP	.WORD	DOCOL
	.WORD	CREAT
	.WORD	CCOMM
	.WORD	PSCOD
DOSOP	JSR	DODOE
	.WORD	CAT
	.WORD	CCOMM
	.WORD	AMEM
	.WORD	EXIT

;	BRK,

LA70D	.BYTE	$84,'BRK',$AC
	.WORD	LA6F4
	.WORD	DOSOP
	.BYTE	0

;	CLC,

LA717	.BYTE	$84,'CLC',$AC
	.WORD	LA70D
	.WORD	DOSOP
	.BYTE	$18

;	CLD,

LA721	.BYTE	$84,'CLD',$AC
	.WORD	LA717
	.WORD	DOSOP
	.BYTE	$D8

;	CLI,

LA72B	.BYTE	$84,'CLI',$AC
	.WORD	LA721
	.WORD	DOSOP
	.BYTE	$58

;	CLV,

LA735	.BYTE	$84,'CLV',$AC
	.WORD	LA72B
	.WORD	DOSOP
	.BYTE	$B8

;	DEX,

LA73F	.BYTE	$84,'DEX',$AC
	.WORD	LA735
	.WORD	DOSOP
	.BYTE	$CA

;	DEY,

LA749	.BYTE	$84,'DEY',$AC
	.WORD	LA73F
	.WORD	DOSOP
	.BYTE	$88

;	INX,

LA753	.BYTE	$84,'INX',$AC
	.WORD	LA749
	.WORD	DOSOP
	.BYTE	$E8

;	INY,

LA75D	.BYTE	$84,'INY',$AC
	.WORD	LA753
	.WORD	DOSOP
	.BYTE	$C8

;	NOP,

LA767	.BYTE	$84,'NOP',$AC
	.WORD	LA75D
	.WORD	DOSOP
	.BYTE	$EA

;	PHA,

LA771	.BYTE	$84,'PHA',$AC
	.WORD	LA767
	.WORD	DOSOP
	.BYTE	$48

;	PHP,

LA77B	.BYTE	$84,'PHP',$AC
	.WORD	LA771
	.WORD	DOSOP
	.BYTE	8

;	PLA,

LA785	.BYTE	$84,'PLA',$AC
	.WORD	LA77B
	.WORD	DOSOP
	.BYTE	$68

;	PLP,

LA78F	.BYTE	$84,'PLP',$AC
	.WORD	LA785
	.WORD	DOSOP
	.BYTE	$28

;	RTI,

LA799	.BYTE	$84,'RTI',$AC
	.WORD	LA78F
	.WORD	DOSOP
	.BYTE	$40

;	RTS,

LA7A3	.BYTE	$84,'RTS',$AC
	.WORD	LA799
	.WORD	DOSOP
	.BYTE	$60

;	SEC,

LA7AD	.BYTE	$84,'SEC',$AC
	.WORD	LA7A3
	.WORD	DOSOP
	.BYTE	$38

;	SED,

LA7B7	.BYTE	$84,'SED',$AC
	.WORD	LA7AD
	.WORD	DOSOP
	.BYTE	$F8

;	SEI,

LA7C1	.BYTE	$84,'SEI',$AC
	.WORD	LA7B7
	.WORD	DOSOP
	.BYTE	$78

;	TAX,

LA7CB	.BYTE	$84,'TAX',$AC
	.WORD	LA7C1
	.WORD	DOSOP
	.BYTE	$AA

;	TAY,

LA7D5	.BYTE	$84,'TAY',$AC
	.WORD	LA7CB
	.WORD	DOSOP
	.BYTE	$A8

;	TSX,

LA7DF	.BYTE	$84,'TSX',$AC
	.WORD	LA7D5
	.WORD	DOSOP
	.BYTE	$BA

;	TXA,

LA7E9	.BYTE	$84,'TXA',$AC
	.WORD	LA7DF
	.WORD	DOSOP
	.BYTE	$8A

;	TXS,

LA7F3	.BYTE	$84,'TXS',$AC
	.WORD	LA7E9
	.WORD	DOSOP
	.BYTE	$9A

;	TYA,

LA7FD	.BYTE	$84,'TYA',$AC
	.WORD	LA7F3
	.WORD	DOSOP
	.BYTE	$98

;	MOP

LA807	.BYTE	$83,'MO',$D0
	.WORD	LA7FD
MOP	.WORD	DOCOL
	.WORD	CREAT
	.WORD	CCOMM
	.WORD	COMMA
	.WORD	PSCOD
DOMOP	JSR	DODOE
	.WORD	DUPP
	.WORD	ONEP
	.WORD	AT
	.WORD	LIT,$80
	.WORD	ANDD
	.WORD	ZBRAN,$A
	.WORD	LIT,$10
	.WORD	AMODE
	.WORD	PSTOR
	.WORD	OVER
	.WORD	LIT,$FF00
	.WORD	ANDD
	.WORD	CHKMOD
	.WORD	CHKMOD
	.WORD	ZBRAN,$10
	.WORD	AMEM
	.WORD	CRR
	.WORD	LAST
	.WORD	IDDOT
	.WORD	LIT,3
	.WORD	ERROR
	.WORD	CAT
	.WORD	AMODE
	.WORD	CAT
	.WORD	BASADR
	.WORD	PLUS
	.WORD	CAT
	.WORD	PLUS
	.WORD	CCOMM
	.WORD	AMODE
	.WORD	CAT
	.WORD	LIT,7
	.WORD	ANDD
	.WORD	ZBRAN,$1E
	.WORD	AMODE
	.WORD	CAT
	.WORD	LIT,$F
	.WORD	ANDD
	.WORD	LIT,7
	.WORD	LESS
	.WORD	ZBRAN,8
	.WORD	CCOMM
	.WORD	BRAN,4
	.WORD	COMMA
	.WORD	AMEM
	.WORD	EXIT

;	ADC,

LA88E	.BYTE	$84,'ADC',$AC
	.WORD	LA807
	.WORD	DOMOP
	.BYTE	$60,$6E,$1C

;	AND,

LA89A	.BYTE	$84,'AND',$AC
	.WORD	LA88E
	.WORD	DOMOP
	.BYTE	$20,$6E,$1C

;	CMP,

LA8A6	.BYTE	$84,'CMP',$AC
	.WORD	LA89A
	.WORD	DOMOP
	.BYTE	$C0,$6E,$1C

;	EOR,

LA8B2	.BYTE	$84,'EOR',$AC
	.WORD	LA8A6
	.WORD	DOMOP
	.BYTE	$40,$6E,$1C

;	LDA,

LA8BE	.BYTE	$84,'LDA',$AC
	.WORD	LA8B2
	.WORD	DOMOP
	.BYTE	$A0,$6E,$1C

;	ORA,

LA8CA	.BYTE	$84,'ORA',$AC
	.WORD	LA8BE
	.WORD	DOMOP
	.BYTE	0,$6E,$1C

;	SBC,

LA8D6	.BYTE	$84,'SBC',$AC
	.WORD	LA8CA
	.WORD	DOMOP
	.BYTE	$E0,$6E,$1C

;	STA,

LA8E2	.BYTE	$84,'STA',$AC
	.WORD	LA8D6
	.WORD	DOMOP
	.BYTE	$80,$6C,$1C

;	ASL,

LA8EE	.BYTE	$84,'ASL',$AC
	.WORD	LA8E2
	.WORD	DOMOP
	.BYTE	1,$D,$D

;	DEC,

LA8FA	.BYTE	$84,'DEC',$AC
	.WORD	LA8EE
	.WORD	DOMOP
	.BYTE	$C1,$C,$C

;	INC,

LA906	.BYTE	$84,'INC',$AC
	.WORD	LA8FA
	.WORD	DOMOP
	.BYTE	$E1,$C,$C

;	LSR,

LA912	.BYTE	$84,'LSR',$AC
	.WORD	LA906
	.WORD	DOMOP
	.BYTE	$41,$D,$D

;	ROL,

LA91E	.BYTE	$84,'ROL',$AC
	.WORD	LA912
	.WORD	DOMOP
	.BYTE	$21,$D,$D

;	ROR,

LA92A	.BYTE	$84,'ROR',$AC
	.WORD	LA91E
	.WORD	DOMOP
	.BYTE	$61,$D,$D

;	STX,

LA936	.BYTE	$84,'STX',$AC
	.WORD	LA92A
	.WORD	DOMOP
	.BYTE	$81,$14,4

;	CPX,

LA942	.BYTE	$84,'CPX',$AC
	.WORD	LA936
	.WORD	DOMOP
	.BYTE	$E0,$86,4

;	CPY,

LA94E	.BYTE	$84,'CPY',$AC
	.WORD	LA942
	.WORD	DOMOP
	.BYTE	$C0,$86,4

;	LDX,

LA95A	.BYTE	$84,'LDX',$AC
	.WORD	LA94E
	.WORD	DOMOP
	.BYTE	$A2,$96,$14

;	LDY,

LA966	.BYTE	$84,'LDY',$AC
	.WORD	LA95A
	.WORD	DOMOP
	.BYTE	$A0,$8E,$C

;	STY,

LA972	.BYTE	$84,'STY',$AC
	.WORD	LA966
	.WORD	DOMOP
	.BYTE	$80,$8C,4

;	JSR,

LA97E	.BYTE	$84,'JSR',$AC
	.WORD	LA972
	.WORD	DOMOP
	.BYTE	$14,$80,4

;	JMP,

LA98A	.BYTE	$84,'JMP',$AC
	.WORD	LA97E
JMPP	.WORD	DOMOP
	.BYTE	$40,$80,$84

;	BIT,

LA996	.BYTE	$84,'BIT',$AC
	.WORD	LA98A
	.WORD	DOMOP
	.BYTE	$20,$84,4

;	>BRANGE

LA9A2	.BYTE	$87,'>BRANG',$C5
	.WORD	LA996
LA9AC	.WORD	DOCOL
	.WORD	DUPP
	.WORD	ZLESS
	.WORD	OVER
	.WORD	LIT,$7F
	.WORD	GREAT
	.WORD	ORR
	.WORD	LIT,13
	.WORD	QERR
	.WORD	EXIT

;	<BRANGE

LA9C4	.BYTE	$87,'<BRANG',$C5
	.WORD	LA9A2
LA9CE	.WORD	DOCOL
	.WORD	DUPP
	.WORD	ZGREA
	.WORD	OVER
	.WORD	LIT,$FF80
	.WORD	LESS
	.WORD	ORR
	.WORD	LIT,13
	.WORD	QERR
	.WORD	EXIT

;	0<

LA9E6	.BYTE	$82,'0',$BC
	.WORD	LA9C4
LA9EB	.WORD	DOCON
	.WORD	$10

;	VS

LA9EF	.BYTE	$82,'V',$D3
	.WORD	LA9E6
LA9F4	.WORD	DOCON
	.WORD	$50

;	CS

LA9F8	.BYTE	$82,'C',$D3
	.WORD	LA9EF
LA9FD	.WORD	DOCON
	.WORD	$90

;	0=

LAA01	.BYTE	$82,'0',$BD
	.WORD	LA9F8
LAA06	.WORD	DOCON
	.WORD	$D0

;	NOT

LAA0A	.BYTE	$83,'NO',$D4
	.WORD	LAA01
LAA10	.WORD	DOCOL
	.WORD	LIT,$20
	.WORD	PLUS
	.WORD	EXIT

;	IF,

LAA1A	.BYTE	$83,'IF',$AC
	.WORD	LAA0A
AIF	.WORD	DOCOL
	.WORD	CCOMM
	.WORD	HERE
	.WORD	ZERO
	.WORD	CCOMM
	.WORD	TWO
	.WORD	EXIT

;	THEN,

LAA2E	.BYTE	$85,'THEN',$AC
	.WORD	LAA1A
ATHEN	.WORD	DOCOL
	.WORD	QEXEC
	.WORD	TWO
	.WORD	QPAIR
	.WORD	HERE
	.WORD	OVER
	.WORD	CAT
	.WORD	ZBRAN,$A
	.WORD	SWAP
	.WORD	STORE
	.WORD	BRAN,$E
	.WORD	OVER
	.WORD	ONEP
	.WORD	SUBB
	.WORD	LA9AC
	.WORD	SWAP
	.WORD	CSTOR
	.WORD	EXIT

;	ELSE,

LAA5E	.BYTE	$85,'ELSE',$AC
	.WORD	LAA2E
AELSE	.WORD	DOCOL
	.WORD	TWO
	.WORD	QPAIR
	.WORD	HERE
	.WORD	ONEP
	.WORD	ONE
	.WORD	JMPP
	.WORD	SWAP
	.WORD	HERE
	.WORD	OVER
	.WORD	ONEP
	.WORD	SUBB
	.WORD	LA9AC
	.WORD	SWAP
	.WORD	CSTOR
	.WORD	TWO
	.WORD	EXIT

;	BEGIN,

LAA88	.BYTE	$86,'BEGIN',$AC
	.WORD	LAA5E
ABEGIN	.WORD	DOCOL
	.WORD	HERE
	.WORD	ONE
	.WORD	EXIT

;	UNTIL,

LAA99	.BYTE	$86,'UNTIL',$AC
	.WORD	LAA88
AUNTIL	.WORD	DOCOL
	.WORD	QEXEC
	.WORD	SWAP
	.WORD	ONE
	.WORD	QPAIR
	.WORD	CCOMM
	.WORD	HERE
	.WORD	ONEP
	.WORD	SUBB
	.WORD	LA9CE
	.WORD	CCOMM
	.WORD	EXIT

;	AGAIN,

LAABA	.BYTE	$86,'AGAIN',$AC
	.WORD	LAA99
AAGAIN	.WORD	DOCOL
	.WORD	QEXEC
	.WORD	ONE
	.WORD	QPAIR
	.WORD	JMPP
	.WORD	EXIT

;	WHILE,

LAACF	.BYTE	$86,'WHILE',$AC
	.WORD	LAABA
AWHIL	.WORD	DOCOL
	.WORD	OVER
	.WORD	ONE
	.WORD	QPAIR
	.WORD	AIF
	.WORD	EXIT

;	REPEAT,

LAAE4	.BYTE	$87,'REPEAT',$AC
	.WORD	LAACF
AREPEA	.WORD	DOCOL
	.WORD	QEXEC
	.WORD	TWO
	.WORD	QPAIR
	.WORD	HERE
	.WORD	TWOP
	.WORD	OVER
	.WORD	SUBB
	.WORD	LA9AC
	.WORD	SWAP
	.WORD	CSTOR
	.WORD	AAGAIN
	.WORD	EXIT

;	MACRO

LAB08	.BYTE	$85,'MACR',$CF
	.WORD	LAAE4
MACRO	.WORD	DOCOL
	.WORD	LIT,ASSEM+2
	.WORD	QCURR
	.WORD	COLON
	.WORD	EXIT

;	END-CODE

LAB1C	.BYTE	$C8,'END-COD',$C5
	.WORD	LAB08
ENDCOD	.WORD	DOCOL
	.WORD	CURR
	.WORD	AT
	.WORD	CONT
	.WORD	STORE
	.WORD	QEXEC
	.WORD	QCSP
	.WORD	SMUDG
	.WORD	EXIT

;	CODE

LAB39	.BYTE	$C4,'COD',$C5
	.WORD	LA52C
CODE	.WORD	DOCOL
	.WORD	QEXEC
	.WORD	CREAT
	.WORD	HERE
	.WORD	HERE
	.WORD	TWOSUB
	.WORD	STORE
	.WORD	SMUDG
	.WORD	ASSEM
	.WORD	AMEM
	.WORD	SCSP
	.WORD	EXIT

;	LOCATE

LAB58	.BYTE	$86,'LOCAT',$C5
	.WORD	LA18D-REL
LOCATE	.WORD	DOCOL
	.WORD	QFILE
	.WORD	LIT,4
	.WORD	LESS
	.WORD	ZBRAN,$28
	.WORD	ONESUB
	.WORD	HIADR
	.WORD	TRUE
	.WORD	EQUAL
	.WORD	ZBRAN,$A
	.WORD	LIT,$8000
	.WORD	BRAN,4
	.WORD	HERE
	.WORD	SWAP
	.WORD	ONE
	.WORD	RSW
	.WORD	LIT,7
	.WORD	TOVDU
	.WORD	BRAN,4
	.WORD	DROP
	.WORD	EXIT

;	SAVE

LAB99	.BYTE	$84,'SAV',$C5
	.WORD	LAB58
SAVE	.WORD	DOCOL
	.WORD	SCR
	.WORD	AT
	.WORD	LIST
	.WORD	CRR
	.WORD	PDOTQ
	.BYTE	4,'OK? '
	.WORD	KEY
	.WORD	LIT,$59
	.WORD	EQUAL
	.WORD	ZBRAN,$A
	.WORD	PUPDA
	.WORD	SAVBUF
	.WORD	BRAN,4
	.WORD	QUIT
	.WORD	EXIT

;	CLRSCR

LABC9	.BYTE	$86,'CLRSC',$D2
	.WORD	LAB99
CLRSCR	.WORD	DOCOL
	.WORD	SCR
	.WORD	AT
	.WORD	DUPP
	.WORD	LIT,$8000
	.WORD	ANDD
	.WORD	LIT,6
	.WORD	QERR
	.WORD	DUPP
	.WORD	PREV
	.WORD	AT
	.WORD	DUPP
	.WORD	BUFSZ
	.WORD	TWOSUB
	.WORD	TDUP
	.WORD	PLUS
	.WORD	ZERO
	.WORD	SWAP
	.WORD	STORE
	.WORD	BLANKS
	.WORD	STORE
	.WORD	LIST
	.WORD	EXIT

;	PROGRAM

LAC04	.BYTE	$87,'PROGRA',$CD
	.WORD	LABC9
PROGRA	.WORD	DOCOL
	.WORD	CRR
	.WORD	PDOTQ
	.BYTE	19,'1st screen number? '
	.WORD	QUERY
	.WORD	INTE
	.WORD	SCR
	.WORD	STORE
	.WORD	CLRSCR
	.WORD	EDITOR
	.WORD	EXIT

;	ANOTHER

LAC36	.BYTE	$87,'ANOTHE',$D2
	.WORD	LAC04
ANOTHR	.WORD	DOCOL
	.WORD	ONE
	.WORD	SCR
	.WORD	PSTOR
	.WORD	CLRSCR
	.WORD	EXIT

;	MORE

LAC4C	.BYTE	$84,'MOR',$C5
	.WORD	LAC36
MORE	.WORD	DOCOL
	.WORD	SAVE
	.WORD	ANOTHR
	.WORD	EXIT

;	TEXT

LAC5B	.BYTE	$84,'TEX',$D4
	.WORD	LAC4C
TEXT	.WORD	DOCOL
	.WORD	PAD
	.WORD	CSLL
	.WORD	TWOP
	.WORD	BLANKS
	.WORD	PWORD
	.WORD	CSLL
	.WORD	MIN
	.WORD	PAD
	.WORD	CSTOR
	.WORD	PAD
	.WORD	COUNT
	.WORD	CMOVE
	.WORD	EXIT

;	LINE

LAC7E	.BYTE	$84,'LIN',$C5
	.WORD	LAC5B
LINE	.WORD	DOCOL
	.WORD	DUPP
	.WORD	LIT,$FFF0
	.WORD	ANDD
	.WORD	LIT,23
	.WORD	QERR
	.WORD	SCR
	.WORD	AT
	.WORD	PLINE
	.WORD	DROP
	.WORD	EXIT

;	WHERE

LAC9F	.BYTE	$85,'WHER',$C5
	.WORD	LAC7E
WHERE	.WORD	DOCOL
	.WORD	DUPP
	.WORD	BSCR
	.WORD	SLASH
	.WORD	DUPP
	.WORD	SCR
	.WORD	STORE
	.WORD	PDOTQ
	.BYTE	6,'SCR # '
	.WORD	DECDOT
	.WORD	SWAP
	.WORD	CSLL
	.WORD	SLMOD
	.WORD	CSLL
	.WORD	STAR
	.WORD	ROT
	.WORD	BLOCK
	.WORD	PLUS
	.WORD	CRR
	.WORD	CSLL
	.WORD	TYPE
	.WORD	CRR
	.WORD	WBFR
	.WORD	CAT
	.WORD	SUBB
	.WORD	SPACS
	.WORD	LIT,$5E
	.WORD	EMIT
	.WORD	EDITOR
	.WORD	SPSTO
	.WORD	QUIT
	.WORD	EXIT

;	#LOCATE

LACEE	.BYTE	$87,'#LOCAT',$C5
	.WORD	FORTH+2
NLOCAT	.WORD	DOCOL
	.WORD	RNUM
	.WORD	AT
	.WORD	CSLL
	.WORD	SLMOD
	.WORD	EXIT

;	#LEAD

LAD04	.BYTE	$85,'#LEA',$C4
	.WORD	LACEE
NLEAD	.WORD	DOCOL
	.WORD	NLOCAT
	.WORD	LINE
	.WORD	SWAP
	.WORD	EXIT

;	#LAG

LAD16	.BYTE	$84,'#LA',$C7
	.WORD	LAD04
LAG	.WORD	DOCOL
	.WORD	NLEAD
	.WORD	DUPP
	.WORD	TOR
	.WORD	PLUS
	.WORD	CSLL
	.WORD	RFROM
	.WORD	SUBB
	.WORD	EXIT

;	-MOVE

LAD2F	.BYTE	$85,'-MOV',$C5
	.WORD	LAD16
DMOVE	.WORD	DOCOL
	.WORD	LINE
	.WORD	CSLL
	.WORD	CMOVE
	.WORD	UPDAT
	.WORD	EXIT

;	H

LAD43	.BYTE	$81,$C8
	.WORD	LAD2F
HH	.WORD	DOCOL
	.WORD	LINE
	.WORD	PAD
	.WORD	ONEP
	.WORD	CSLL
	.WORD	DUPP
	.WORD	PAD
	.WORD	CSTOR
	.WORD	CMOVE
	.WORD	EXIT

;	E

LAD5B	.BYTE	$81,$C5
	.WORD	LAD43
EE	.WORD	DOCOL
	.WORD	LINE
	.WORD	CSLL
	.WORD	BLANKS
	.WORD	UPDAT
	.WORD	EXIT

;	S

LAD6B	.BYTE	$81,$D3
	.WORD	LAD5B
SS	.WORD	DOCOL
	.WORD	DUPP
	.WORD	LIT,$FFF0
	.WORD	ANDD
	.WORD	NOT
	.WORD	ZBRAN,$1A
	.WORD	DUPP
	.WORD	LIT,$E
	.WORD	XDO
	.WORD	IDO
	.WORD	LINE
	.WORD	IDO
	.WORD	ONEP
	.WORD	DMOVE
	.WORD	TRUE
	.WORD	XPLOO,$FFF2
	.WORD	EE
	.WORD	EXIT

;	D

LAD9B	.BYTE	$81,$C4
	.WORD	LAD6B
DD	.WORD	DOCOL
	.WORD	DUPP
	.WORD	HH
	.WORD	DUPP
	.WORD	LIT,$F
	.WORD	SUBB
	.WORD	ZBRAN,$1A
	.WORD	LIT,$F
	.WORD	DUPP
	.WORD	ROT
	.WORD	XDO
	.WORD	IDO
	.WORD	ONEP
	.WORD	LINE
	.WORD	IDO
	.WORD	DMOVE
	.WORD	XLOOP,$FFF4
	.WORD	EE
	.WORD	EXIT

;	M

LADCD	.BYTE	$81,$CD
	.WORD	LAD9B
EMM	.WORD	DOCOL
	.WORD	RNUM
	.WORD	PSTOR
	.WORD	CRR
	.WORD	SPACE
	.WORD	NLEAD
	.WORD	TYPE
	.WORD	LIT,$7C
	.WORD	EMIT
	.WORD	LAG
	.WORD	TYPE
	.WORD	NLOCAT
	.WORD	DOT
	.WORD	DROP
	.WORD	EXIT

;	T

LADF1	.BYTE	$81,$D4
	.WORD	LADCD
TT	.WORD	DOCOL
	.WORD	DUPP
	.WORD	CSLL
	.WORD	STAR
	.WORD	RNUM
	.WORD	STORE
	.WORD	HH
	.WORD	ZERO
	.WORD	EMM
	.WORD	EXIT

;	L

LAE09	.BYTE	$81,$CC
	.WORD	LADF1
LL	.WORD	DOCOL
	.WORD	SCR
	.WORD	AT
	.WORD	LIST
	.WORD	ZERO
	.WORD	EMM
	.WORD	EXIT

;	R

LAE1B	.BYTE	$81,$D2
	.WORD	LAE09
RR	.WORD	DOCOL
	.WORD	PAD
	.WORD	ONEP
	.WORD	SWAP
	.WORD	DMOVE
	.WORD	EXIT

;	P

LAE2B	.BYTE	$81,$D0
	.WORD	LAE1B
PP	.WORD	DOCOL
	.WORD	ONE
	.WORD	TEXT
	.WORD	RR
	.WORD	EXIT

;	I

LAE39	.BYTE	$81,$C9
	.WORD	LAE2B
II	.WORD	DOCOL
	.WORD	DUPP
	.WORD	SS
	.WORD	RR
	.WORD	EXIT

;	TOP

LAE47	.BYTE	$83,'TO',$D0
	.WORD	LAE39
TOPP	.WORD	DOCOL
	.WORD	ZERO
	.WORD	RNUM
	.WORD	STORE
	.WORD	EXIT

;	CLEAR

LAE57	.BYTE	$85,'CLEA',$D2
	.WORD	LAE47
CLEAR	.WORD	DOCOL
	.WORD	SCR
	.WORD	STORE
	.WORD	LIT,16
	.WORD	ZERO
	.WORD	XDO
	.WORD	IDO
	.WORD	EE
	.WORD	XLOOP,$FFFA
	.WORD	EXIT

;	COPY

LAE77	.BYTE	$84,'COP',$D9
	.WORD	LAE57
COPY	.WORD	DOCOL
	.WORD	BSCR
	.WORD	STAR
	.WORD	OFFSE
	.WORD	AT
	.WORD	PLUS
	.WORD	SWAP
	.WORD	BSCR
	.WORD	STAR
	.WORD	BSCR
	.WORD	OVER
	.WORD	PLUS
	.WORD	SWAP
	.WORD	XDO
	.WORD	DUPP
	.WORD	IDO
	.WORD	BLOCK
	.WORD	TWOSUB
	.WORD	STORE
	.WORD	ONEP
	.WORD	UPDAT
	.WORD	XLOOP,$FFF0
	.WORD	DROP
	.WORD	SAVBUF
	.WORD	EXIT

;	MATCH

LAEB2	.BYTE	$85,'MATC',$C8
	.WORD	LAE77
MATCH	.WORD	*+2
	LDA	#4
	JSR	SETUP
	DEX
	DEX
	DEX
	DEX
	STY	0,X
	STY	1,X
LAEC9	LDY	#$FF
LAECB	INY
	CPY	N
	BCS	LAEFC
	LDA	(N+2),Y
	CMP	($66),Y
	BEQ	LAECB
	INC	$66
	BNE	LAEDC
	INC	$67
LAEDC	INC	0,X
	BNE	LAEE2
	INC	1,X
LAEE2	LDA	N+4
	BNE	LAEE8
	DEC	N+5
LAEE8	DEC	N+4
	LDA	N+4
	CMP	N
	LDA	N+5
	SBC	N+1
	BCS	LAEC9
	LDA	#0
	STA	2,X
	STA	3,X
	LDY	N+4
LAEFC	CLC
	TYA
	ADC	0,X
	PHA
	LDA	#0
	ADC	1,X
	JMP	PUT

;	1LINE

LAF08	.BYTE	$85,'1LIN',$C5
	.WORD	LAEB2
ONELIN	.WORD	DOCOL
	.WORD	LAG
	.WORD	PAD
	.WORD	COUNT
	.WORD	MATCH
	.WORD	RNUM
	.WORD	PSTOR
	.WORD	EXIT

;	$FIND

LAF20	.BYTE	$85,'$FIN',$C4
	.WORD	LAF08
SFIND	.WORD	DOCOL
	.WORD	LIT,$3FF
	.WORD	RNUM
	.WORD	AT
	.WORD	LESS
	.WORD	ZBRAN,$12
	.WORD	TOPP
	.WORD	PAD
	.WORD	HERE
	.WORD	CSLL
	.WORD	ONEP
	.WORD	CMOVE
	.WORD	ZERO
	.WORD	ERROR
	.WORD	ONELIN
	.WORD	ZBRAN,$FFDE
	.WORD	EXIT

;	DELETE

LAF50	.BYTE	$86,'DELET',$C5
	.WORD	LAF20
DELETE	.WORD	DOCOL
	.WORD	TOR
	.WORD	LAG
	.WORD	PLUS
	.WORD	RAT
	.WORD	SUBB
	.WORD	LAG
	.WORD	RAT
	.WORD	NEGAT
	.WORD	RNUM
	.WORD	PSTOR
	.WORD	NLEAD
	.WORD	PLUS
	.WORD	SWAP
	.WORD	CMOVE
	.WORD	RFROM
	.WORD	BLANKS
	.WORD	UPDAT
	.WORD	EXIT

;	N

LAF7F	.BYTE	$81,$CE
	.WORD	LAF50
NN	.WORD	DOCOL
	.WORD	SFIND
	.WORD	ZERO
	.WORD	EMM
	.WORD	EXIT

;	F

LAF8D	.BYTE	$81,$C6
	.WORD	LAF7F
FF	.WORD	DOCOL
	.WORD	ONE
	.WORD	TEXT
	.WORD	NN
	.WORD	EXIT

;	B

LAF9B	.BYTE	$81,$C2
	.WORD	LAF8D
BB	.WORD	DOCOL
	.WORD	PAD
	.WORD	CAT
	.WORD	NEGAT
	.WORD	EMM
	.WORD	EXIT

;	X

LAFAB	.BYTE	$81,$D8
	.WORD	LAF9B
XX	.WORD	DOCOL
	.WORD	ONE
	.WORD	TEXT
	.WORD	SFIND
	.WORD	PAD
	.WORD	CAT
	.WORD	DELETE
	.WORD	ZERO
	.WORD	EMM
	.WORD	EXIT

;	TILL

LAFC3	.BYTE	$84,'TIL',$CC
	.WORD	LAFAB
TILL	.WORD	DOCOL
	.WORD	NLEAD
	.WORD	PLUS
	.WORD	ONE
	.WORD	TEXT
	.WORD	ONELIN
	.WORD	ZEQU
	.WORD	ZERO
	.WORD	QERR
	.WORD	NLEAD
	.WORD	PLUS
	.WORD	SWAP
	.WORD	SUBB
	.WORD	DELETE
	.WORD	ZERO
	.WORD	EMM
	.WORD	EXIT

;	C

LAFEC	.BYTE	$81,$C3
	.WORD	LAFC3
CC	.WORD	DOCOL
	.WORD	ONE
	.WORD	TEXT
	.WORD	PAD
	.WORD	COUNT
	.WORD	LAG
	.WORD	ROT
	.WORD	OVER
	.WORD	MIN
	.WORD	TOR
	.WORD	RAT
	.WORD	RNUM
	.WORD	PSTOR
	.WORD	RAT
	.WORD	SUBB
	.WORD	TOR
	.WORD	DUPP
	.WORD	WBFR
	.WORD	RAT
	.WORD	CMOVE
	.WORD	WBFR
	.WORD	NLEAD
	.WORD	PLUS
	.WORD	RFROM
	.WORD	CMOVE
	.WORD	RFROM
	.WORD	CMOVE
	.WORD	UPDAT
	.WORD	ZERO
	.WORD	EMM
	.WORD	EXIT

;	<CMOVE

LB02E	.BYTE	$86,'<CMOV',$C5
	.WORD	LAC9F
CMOVU	.WORD	*+2
	LDA	#3
	JSR	SETUP
	LDA	N+1
	BMI	LB068
	CLC
	ADC	N+3
	STA	N+3
	LDA	N+1
	CLC
	ADC	N+5
	STA	N+5
	LDY	N

LB050	TYA
	BNE	LB060
	LDA	N+1
	BNE	LB05A
	JMP	NEXT

LB05A	DEC	N+1
	DEC	N+3
	DEC	N+5
LB060	DEY
	LDA	(N+4),Y
	STA	(N+2),Y
	JMP	LB050

LB068	JMP	NEXT

;	MOVE-BUFFERS

LB06B	.BYTE	$8C,'MOVE-BUFFER',$D3
	.WORD	LB02E
MOVBUF	.WORD	DOCOL
	.WORD	LIMIT
	.WORD	TDUP
	.WORD	SUBB
	.WORD	QDUP
	.WORD	ZBRAN,$56
	.WORD	FIRST
	.WORD	OVER
	.WORD	PLUS
	.WORD	DUPP
	.WORD	HERE
	.WORD	ULESS
	.WORD	LIT,25
	.WORD	QERR
	.WORD	ROT
	.WORD	FIRST
	.WORD	SUBB
	.WORD	TOR
	.WORD	SWAP
	.WORD	DUPP
	.WORD	PREV
	.WORD	PSTOR
	.WORD	DUPP
	.WORD	USE
	.WORD	PSTOR
	.WORD	TOR
	.WORD	FIRST
	.WORD	OVER
	.WORD	LIT,FIRST+2
	.WORD	STORE
	.WORD	SWAP
	.WORD	RFROM
	.WORD	RFROM
	.WORD	SWAP
	.WORD	ZLESS
	.WORD	ZBRAN,8
	.WORD	CMOVE
	.WORD	BRAN,4
	.WORD	CMOVU
	.WORD	LIT,LIMIT+2
	.WORD	STORE
	.WORD	BRAN,4
	.WORD	TDROP
	.WORD	EXIT

;	PLOT

LB0E0	.BYTE	$84,'PLO',$D4
	.WORD	LB06B
PLOT	.WORD	DOCOL
	.WORD	LIT,$19
	.WORD	TOVDU
	.WORD	SWAP
	.WORD	ROT
	.WORD	TOVDU
	.WORD	DUPP
	.WORD	TOVDU
	.WORD	BSWAP
	.WORD	TOVDU
	.WORD	DUPP
	.WORD	TOVDU
	.WORD	BSWAP
	.WORD	TOVDU
	.WORD	EXIT

TOPNFA	=	*

;	$MSG

LB107	.BYTE	$84,'$MS',$C7
	.WORD	LB0E0
SMSG	.WORD	DOCOL
	.WORD	DUPP
	.WORD	DUPP
	.WORD	ZGREA
	.WORD	SWAP
	.WORD	LIT,26
	.WORD	LESS
	.WORD	ANDD
	.WORD	ZBRAN,$20
	.WORD	LIT,LB47E
	.WORD	SWAP
	.WORD	ZERO
	.WORD	XDO
	.WORD	DUPP
	.WORD	CAT
	.WORD	PLUS
	.WORD	ONEP
	.WORD	XLOOP,$FFF6
	.WORD	COUNT
	.WORD	TYPE
	.WORD	BRAN,4
	.WORD	MSGNUM
	.WORD	EXIT

;	MM

LB146	.BYTE	$82,'M',$CD
	.WORD	LB107
MM	.WORD	DOCOL
	.WORD	TWOP
	.WORD	SWAP
	.WORD	DUPP
	.WORD	ROT
	.WORD	DUPP
	.WORD	ROT
	.WORD	OVER
	.WORD	CAT
	.WORD	ONEP
	.WORD	CMOVE
	.WORD	CAT
	.WORD	ONEP
	.WORD	PLUS
	.WORD	EXIT

;	M1

LB169	.BYTE	$82,'M',$B1
	.WORD	LB146
M1	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	11,'Stack empty'
	.WORD	EXIT

;	M2

LB180	.BYTE	$82,'M',$B2
	.WORD	LB169
M2	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	15,'Dictionary full'
	.WORD	EXIT

;	M3

LB19B	.BYTE	$82,'M',$B3
	.WORD	LB180
M3	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	26,'Has incorrect address mode'
	.WORD	EXIT

;	M4

LB1C1	.BYTE	$82,'M',$B4
	.WORD	LB19B
M4	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	12,'Isn',$27,'t unique'
	.WORD	EXIT

;	M5

LB1D9	.BYTE	$82,'M',$B5
	.WORD	LB1C1
M5	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	29,'Parameter outside valid range'
	.WORD	EXIT

;	M6

LB202	.BYTE	$82,'M',$B6
	.WORD	LB1D9
M6	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	26,'Screen number out of range'
	.WORD	EXIT

;	M7

LB228	.BYTE	$82,'M',$B7
	.WORD	LB202
M7	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	10,'Stack full'
	.WORD	EXIT

;	M8

LB23E	.BYTE	$82,'M',$B8
	.WORD	LB228
M8	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	25,'Can',$27,'t open or extend file'
	.WORD	EXIT

;	M9

LB263	.BYTE	$82,'M',$B9
	.WORD	LB23E
M9	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	24,'Read/Write not completed'
	.WORD	EXIT

;	M10

LB287	.BYTE	$83,'M1',$B0
	.WORD	LB263
M10	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	26,'Can',$27,'t redefine end-of-line'
	.WORD	EXIT

;	M11

LB2AE	.BYTE	$83,'M1',$B1
	.WORD	LB287
M11	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	20,'Can',$27,'t divide by zero'
	.WORD	EXIT

;	M12

LB2CF	.BYTE	$83,'M1',$B2
	.WORD	LB2AE
M12	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	26,'Undefined execution vector'
	.WORD	EXIT

;	M13

LB2F6	.BYTE	$83,'M1',$B3
	.WORD	LB2CF
M13	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	15,'Branch too long'
	.WORD	EXIT

;	M14

LB312	.BYTE	$83,'M1',$B4
	.WORD	LB2F6
M14	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	28,'Incorrect CURRENT vocabulary'
	.WORD	EXIT

;	M15

LB33B	.BYTE	$83,'M1',$B5
	.WORD	LB312
M15	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	1,' '
	.WORD	EXIT

;	M16

LB349	.BYTE	$83,'M1',$B6
	.WORD	LB33B
M16	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	1,' '
	.WORD	EXIT

;	M17

LB357	.BYTE	$83,'M1',$B7
	.WORD	LB349
M17	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	16,'Compilation only'
	.WORD	EXIT

;	M18

LB374	.BYTE	$83,'M1',$B8
	.WORD	LB357
M18	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	14,'Execution only'
	.WORD	EXIT

;	M19

LB38F	.BYTE	$83,'M1',$B9
	.WORD	LB374
M19	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	23,'Conditionals not paired'
	.WORD	EXIT

;	M20

LB3B3	.BYTE	$83,'M2',$B0
	.WORD	LB38F
M20	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	23,'Definition not finished'
	.WORD	EXIT

;	M21

LB3D7	.BYTE	$83,'M2',$B1
	.WORD	LB3B3
M21	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	23,'In protected dictionary'
	.WORD	EXIT

;	M22

LB3FB	.BYTE	$83,'M2',$B2
	.WORD	LB3D7
M22	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	21,'Use only when LOADing'
	.WORD	EXIT

;	M23

LB41D	.BYTE	$83,'M2',$B3
	.WORD	LB3FB
M23	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	26,'Off current editing screen'
	.WORD	EXIT

;	M24

LB444	.BYTE	$83,'M2',$B4
	.WORD	LB41D
M24	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	25,'NOT in CURRENT vocabulary'
	.WORD	EXIT

;	M25

LB46A	.BYTE	$83,'M2',$B5
	.WORD	LB444
M25	.WORD	DOCOL
	.WORD	PDOTQ
	.BYTE	7,'No room'
	.WORD	EXIT

LB47E	.WORD	1
	.BYTE	11,'Stack empty'
	.BYTE	15,'Dictionary full'
	.BYTE	26,'Has incorrect address mode'
	.BYTE	12,'Isn',$27,'t unique'
	.BYTE	29,'Parameter outside valid range'
	.BYTE	26,'Screen number out of range'
	.BYTE	10,'Stack full'
	.BYTE	25,'Can',$27,'t open or extend file'
	.BYTE	24,'Read/Write not completed'
	.BYTE	26,'Can',$27,'t redefine end-of-line'
	.BYTE	20,'Can',$27,'t divide by zero'
	.BYTE	26,'Undefined execution vector'
	.BYTE	15,'Branch too long'
	.BYTE	28,'Incorrect CURRENT vocabulary'
	.BYTE	1,' '
	.BYTE	1,' '
	.BYTE	16,'Compilation only'
	.BYTE	14,'Execution only'
	.BYTE	23,'Conditionals not paired'
	.BYTE	23,'Definition not finished'
	.BYTE	23,'In protected dictionary'
	.BYTE	21,'Use only when LOADing'
	.BYTE	26,'Off current editing screen'
	.BYTE	25,'NOT in CURRENT vocabulary'
	.BYTE	7,'No room'

TOPDP	=	*	; TOP OF DICTIONARY

	.BYTE	$FF,$FF,$FF,$FF,$FF,$FF
	.BYTE	$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
	.BYTE	$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
	.BYTE	$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
	.BYTE	$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
	.BYTE	$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
	.BYTE	$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
	.BYTE	$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
	.BYTE	$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
	.BYTE	$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
	.BYTE	$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
	.BYTE	$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
	.BYTE	$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
	.BYTE	$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
	.BYTE	$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
	.BYTE	$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
	.BYTE	$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
	.BYTE	$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF

LB700	.BYTE	$78,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
LB800	.BYTE	$78,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
LB900	.BYTE	$78,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
LBA00	.BYTE	$78,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
LBB00	.BYTE	$78,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
LBC00	.BYTE	$78,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
LBD00	.BYTE	$78,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
LBE00	.BYTE	$78,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
LBF00	.BYTE	$78,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0
	.BYTE	0,0,0,0,0,0,0,0

	.END
