	; io.c
	SECTION NUM1,DATA
L0:
	dc.l	-1
L1:
	dc.l	L2
	dc.l	L3
	dc.l	L4
	SECTION NUM2,BSS
	XDEF	_t_line
_t_line	DS.B	4
	XDEF	_t_lab
_t_lab	DS.B	4
	XDEF	_t_op
_t_op	DS.B	4
	XDEF	_t_arg
_t_arg	DS.B	4
L5:	ds.b	2048
	SECTION NUM3,CODE
	XDEF	_readline
_readline:
	bra	L7
L6:
L9:
	move.l	_ifp,-(sp)
	move.l	#2048,-(sp)
	move.l	#L5,-(sp)
	jsr	_fgets
	add.w	#12,sp
	tst.l	d0
	bne	L12
	clr.l	d0
	bra	L8
L12:
	move.l	#L5,_t_line
	move.l	#L5,-(sp)
	jsr	_tokenize
	add.w	#4,sp
	move.l	#L14,-(sp)
	move.l	_t_op,-(sp)
	jsr	_stricmp
	add.w	#8,sp
	tst.l	d0
	bne	L13
	move.l	_t_arg,-10(a6)
L15:
	move.l	-10(a6),a0
	cmp.b	#44,(a0)
	beq	L16
	move.l	-10(a6),a0
	tst.b	(a0)
	beq	L16
	add.l	#1,-10(a6)
	bra	L15
L16:
	tst.l	-10(a6)
	beq	L17
	add.l	#1,-10(a6)
	clr.l	-14(a6)
L18:
	move.l	-10(a6),a0
	move.b	(a0),d0
	ext.w	d0
	ext.l	d0
	add.l	#__ctype,d0
	move.l	d0,a0
	clr.l	d0
	move.b	(a0),d0
	and.l	#12,d0
	beq	L19
	cmp.l	#4,-14(a6)
	bge	L19
	move.l	-10(a6),a0
	lea	-5(a6),a1
	add.l	-14(a6),a1
	move.b	(a0),(a1)
	add.l	#1,-10(a6)
	add.l	#1,-14(a6)
	bra	L18
L19:
	lea	-5(a6),a0
	add.l	-14(a6),a0
	clr.b	(a0)
	move.l	L1,-(sp)
	pea	-5(a6)
	jsr	_stricmp
	add.w	#8,sp
	tst.l	d0
	bne	L20
	clr.l	L0
	bra	L10
	bra	L21
L20:
	move.l	L1+4,-(sp)
	pea	-5(a6)
	jsr	_stricmp
	add.w	#8,sp
	tst.l	d0
	bne	L22
	move.l	#1,L0
	bra	L10
	bra	L23
L22:
	move.l	L1+8,-(sp)
	pea	-5(a6)
	jsr	_stricmp
	add.w	#8,sp
	tst.l	d0
	bne	L24
	move.l	#2,L0
	bra	L10
L24:
L23:
L21:
L17:
	bra	L25
L13:
	move.l	#L27,-(sp)
	move.l	_t_op,-(sp)
	jsr	_stricmp
	add.w	#8,sp
	tst.l	d0
	bne	L26
	bra	L10
	bra	L28
L26:
	move.l	#L30,-(sp)
	move.l	_t_op,-(sp)
	jsr	_stricmp
	add.w	#8,sp
	tst.l	d0
	bne	L29
	move.l	_ofp,-(sp)
	move.l	#L5,-(sp)
	jsr	_fputs
	add.w	#8,sp
	bra	L10
L29:
L28:
L25:
	cmp.l	#2,L0
	bne	L31
	move.l	#1,d0
	bra	L8
L31:
	move.l	L0,-(sp)
	jsr	_store
	add.w	#4,sp
L10:
	bra	L9
L11:
L8:
	unlk	a6
	rts
L7:
	link	a6,#-14
	bra	L6
_tokenize:
	bra	L33
L32:
	move.l	8(a6),a3
	move.l	a3,-(sp)
	move.l	#L38,-(sp)
	jsr	_printf
	add.w	#8,sp
	clr.l	d3
L39:
	tst.b	(a3)
	beq	L40
	cmp.b	#9,(a3)
	beq	L41
	cmp.b	#32,(a3)
	beq	L41
	cmp.b	#10,(a3)
	beq	L41
	clr	d0
	bra	L42
L41:	moveq	#1,d0
L42:
	tst.l	d0
	bne	L40
	cmp.b	#58,(a3)
	beq	L40
	move.l	a3,d0
	add.l	#1,a3
	move.l	d0,a0
	move.l	d3,d0
	add.l	#1,d3
	add.l	#L35,d0
	move.l	d0,a1
	move.b	(a0),(a1)
	bra	L39
L40:
	move.l	#L35,d0
	add.l	d3,d0
	move.l	d0,a0
	clr.b	(a0)
	move.l	d3,-(sp)
	move.l	#L35,-(sp)
	move.l	a3,-(sp)
	move.l	#L45,-(sp)
	jsr	_printf
	add.w	#16,sp
	cmp.b	#58,(a3)
	bne	L46
	add.l	#1,a3
L46:
L47:
	cmp.b	#9,(a3)
	beq	L49
	cmp.b	#32,(a3)
	beq	L49
	cmp.b	#10,(a3)
	bne	L48
L49:
	add.l	#1,a3
	bra	L47
L48:
	clr.l	d3
L50:
	tst.b	(a3)
	beq	L51
	cmp.b	#9,(a3)
	beq	L52
	cmp.b	#32,(a3)
	beq	L52
	clr	d0
	bra	L53
L52:	moveq	#1,d0
L53:
	tst.l	d0
	bne	L54
	cmp.b	#10,(a3)
	beq	L54
	clr	d0
	bra	L55
L54:	moveq	#1,d0
L55:
	tst.l	d0
	bne	L51
	move.l	a3,d0
	add.l	#1,a3
	move.l	d0,a0
	move.l	d3,d0
	add.l	#1,d3
	add.l	#L36,d0
	move.l	d0,a1
	move.b	(a0),(a1)
	bra	L50
L51:
	move.l	#L36,d0
	add.l	d3,d0
	move.l	d0,a0
	clr.b	(a0)
L56:
	cmp.b	#9,(a3)
	beq	L58
	cmp.b	#32,(a3)
	beq	L58
	cmp.b	#10,(a3)
	bne	L57
L58:
	add.l	#1,a3
	bra	L56
L57:
	clr.l	d3
L59:
	tst.b	(a3)
	beq	L60
	cmp.b	#9,(a3)
	beq	L61
	cmp.b	#32,(a3)
	beq	L61
	clr	d0
	bra	L62
L61:	moveq	#1,d0
L62:
	tst.l	d0
	bne	L63
	cmp.b	#10,(a3)
	beq	L63
	clr	d0
	bra	L64
L63:	moveq	#1,d0
L64:
	tst.l	d0
	bne	L60
	move.l	a3,d0
	add.l	#1,a3
	move.l	d0,a0
	move.l	d3,d0
	add.l	#1,d3
	add.l	#L37,d0
	move.l	d0,a1
	move.b	(a0),(a1)
	bra	L59
L60:
	move.l	#L37,d0
	add.l	d3,d0
	move.l	d0,a0
	clr.b	(a0)
	move.l	#L37,-(sp)
	move.l	#L36,-(sp)
	move.l	#L35,-(sp)
	move.l	#L65,-(sp)
	jsr	_printf
	add.w	#16,sp
	move.l	#L35,_t_lab
	move.l	#L36,_t_op
	move.l	#L37,_t_arg
L34:
	movem.l	(sp)+,d3/a3
	unlk	a6
	rts
L33:
	link	a6,#-0
	movem.l	d3/a3,-(sp)
	bra	L32
	SECTION NUM4,BSS
L35:	ds.b	2048
L36:	ds.b	2048
L37:	ds.b	2048
	SECTION NUM5,DATA
L65:	dc.b	'line -> |%s'
	dc.b	'| |%s| |%s|',$a
	dc.b	0
L45:	dc.b	'line .. |%s'
	dc.b	'| |%s| %d',$a
	dc.b	0
L38:	dc.b	'line    |%s'
	dc.b	'|',$a
	dc.b	0
L30:	dc.b	'XDEF'
	dc.b	0
L27:	dc.b	'END'
	dc.b	0
L14:	dc.b	'SECTION'
	dc.b	0
L4:	dc.b	'code'
	dc.b	0
L3:	dc.b	'data'
	dc.b	0
L2:	dc.b	'bss'
	dc.b	0
	END
