	.TITLE	CUT
	.MCALL	.PRINT	.EXIT
	.MCALL	.DBLK	.LOOKU	.CSTAT	.READW	
	.MCALL	.PURGE	.ENTER	.WRITW	.CLOSE
	.DSABL	GBL

USERRB	=	53
ERROR$	=	10

.CUT	=	416
.PCDRI	=	420
.PCTRK	=	422

CUT:	MOV	#BUFF,R5
	.LOOKU	#AREA,#0,#DBLK
	BCC	3$
	JMP	E.LOOK

3$:	.CSTAT	#AREA,#0,#ADDR
	MOV	ADDR+4,R1
	SWAB	R1
	MOV	R1,WCNT

	.READW	#AREA,#0,R5,R1,#0
	BCC	4$
	JMP	E.READ

4$:	.PURGE	#0
	.ENTER	#AREA,#0,#..DBLK,#1
	BCS	E.ENT

	MOV	.CUT(R5),R2
	ADD	R5,R2

	MOV	400(R2),-(SP)
	MOV	402(R2),-(SP)
	MOV	404(R2),-(SP)
	CLR	R0
	MOV	ADDR+4,R1
	ADD	#14.,R1
	DIV	#20.,R0
	MOV	R0,402(R2)
	CLR	400(R2)
	CMP	R1,#10.
	BLO	2$
	SUB	#10.,R1
	MOV	#200,400(R2)
2$:	INC	R1
	MOV	R1,404(R2)

	MOV	.PCDRI(R5),R0
	MOVB	400(R2),BUFF(R0)
	MOV	.PCTRK(R5),R0
	MOVB	402(R2),BUFF(R0)

	.WRITW	#AREA,#0,R2,#203,#0
	BCS	E.WRIT

	MOV	(SP)+,404(R2)
	MOV	(SP)+,402(R2)
	MOV	(SP)+,400(R2)

	.CLOSE	#0
	BCS	E.CLO

	MOV	#200,R0
1$:	MOV	#-1,(R2)+
	SOB	R0,1$

	CLR	.CUT(R5)
	CLR	.PCDRI(R5)
	CLR	.PCTRK(R5)

	.PURGE	#0
	.ENTER	#AREA,#0,#.DBLK,ADDR+4
	BCS	E.ENT

	.WRITW	#AREA,#0,R5,WCNT,#0
	BCS	E.WRIT

	.CLOSE	#0
	BCS	E.CLO

	MOV	#T.OK,R0
	.PRINT
	.EXIT

E.LOOK:	MOV	#T.LOOK,R0
	BR	E.
E.READ:	MOV	#T.READ,R0
	BR	E.
E.ENT:	MOV	#T.ENT,R0
	BR	E.
E.WRIT:	MOV	#T.WRIT,R0
	BR	E.
E.CLO:	MOV	#T.CLO,R0
E.:	.PRINT
	BISB	#ERROR$,@#USERRB
	.EXIT

WCNT:	.WORD
AREA:	.BLKW	5
ADDR:	.BLKW	6
DBLK:	.DBLK	DK,PC,1
.DBLK:	.DBLK	DK,PC,2
..DBLK:	.DBLK	DK,CUT,

T.OK:	.ASCIZ	"OK"
T.LOOK:	.ASCIZ	"LOOKUP"
T.READ:	.ASCIZ	"READW"
T.ENT:	.ASCIZ	"ENTER"
T.WRIT:	.ASCIZ	"WRITW"
T.CLO:	.ASCIZ	"CLOSE"
	.EVEN

BUFF:	.END	CUT
                                                                                                                                                                                                                                                                                                                                                                                                   