	.TITLE	EXT
	.DSABL	GBL
	.GLOBL	MODE
	.GLOBL	UPACK
	.GLOBL	EXTAB	EXLEN	EXMSL
	.GLOBL	PROMPT	MINI
	.GLOBL	LINE	LEN	MSTRLE	X

	.GLOBL	ENTRY	STENTER
	.GLOBL	L.EDIT

A.F10::
	MOV	#L.EDIT,R1
	MOV	#LINE,R2
1$:	CMPB	@R1,#'!
	BEQ	2$
	MOVB	(R1)+,(R2)+
	BNE	1$
	MOVB	#' ,-1(R2)

2$:	MOV	#T.PCEXT,R1
3$:	MOVB	(R1)+,(R2)+
	BNE	3$

	SUB	#LINE+1,R2
	MOV	R2,LEN
	MOV	R2,X
	JMP	STENTER

.EDIT:	MOV	#L.EDIT,R3
	BR	STORE

EDENTER::
	MOV	#.EDIT,.SEARCH
	BR	.EXENTER

SEARCH:	ADD	#6,R2
	MOV	#EXTAB,R3
	MOV	#EXLEN,R4

1$:	CMP	@R2,(R3)+
	BEQ	STORE
	ADD	#EXMSL,R3
	SOB	R4,1$
ERROR:	SEC
	RETURN

EXENTER::
	MOV	#SEARCH,.SEARCH
.EXENTER:
	BIT	#100200,MODE(R5)
	BNE	ERROR
	TST	@R5
	BEQ	ERROR
	CALL	UPACK
.SEARCH	=	. + 2
	JMP	@#SEARCH

STORE:	MOV	#LINE,R4
3$:	CMPB	@R3,#'!
	BEQ	4$
	CMP	R4,#LINE+MSTRLEN
	BEQ	8$
	MOVB	(R3)+,(R4)+
	BNE	3$
	BR	9$

8$:	CLRB	@R4
9$:	SUB	#LINE+1,R4
	MOV	R4,LEN
	MOV	R4,X
	CLC
	RETURN

4$:	TSTB	(R3)+
	CMPB	-2(R3),#'.
	BEQ	6$
	CMPB	@R3,#':
	BEQ	7$
	MOV	#6.,R0
	MOV	#MINI,R1

5$:	CMPB	@R1,#' 
	BEQ	3$
	CMP	R4,#LINE+MSTRLEN
	BEQ	8$
	MOVB	(R1)+,(R4)+
	SOB	R0,5$
	BR	3$

6$:	MOV	#3.,R0
	MOV	#MINI+7.,R1
	BR	5$

7$:	MOV	#3.,R0
	MOV	#PROMPT,R1
	BR	5$

T.PCEX:	.ASCIZ	"SY:PC.EXT"
	.EVEN

	.END
                                                                                                                                                                                                                                                       