Google
 

Trailing-Edge - PDP-10 Archives - SRI_NIC_PERM_FS_1_19910112 - c/old/kc/stdio.fai
There are no other files named stdio.fai in the archive.
	TITLE	stdio
	.LIBRARY C:CLIB
	EXTERN	.START
.iob:	
	0
	0
	0
	5
	0
	0
	0
	0
	2
	1
	0
	0
	0
	6
	2
	BLOCK	43
stdin:	0
stdout:	0
stderr:	0
.bigbu:	BLOCK	4020
.small:	BLOCK	22
stdio:
	ADJSP	17,1
	SETZB	2,0(17)
$3::
	MOVE	4,(17)
	CAIL	4,20
	JRST	$2
	SETZ	5,
	MOVE	7,(17)
	IMULI	7,201
	MOVEM	5,.bigbu+200(7)
$1::
	MOVE	10,(17)
	AOS	(17)
	JRST	$3
$2::
	MOVEI	6,3
	MOVEM	6,(17)
$6::
	MOVE	12,(17)
	CAIL	12,12
	JRST	$5
	SETZ	13,
	MOVE	15,(17)
	IMULI	15,5
	MOVEM	13,.iob+3(15)
$4::
	MOVE	2,(17)
	AOS	(17)
	JRST	$6
$5::
	MOVEI	3,.iob
	MOVEM	3,stdin
	MOVEI	7,.iob
	ADDI	7,5
	MOVEM	7,stdout
	SETZ	14,
	MOVE	6,stdout
	MOVEM	14,1(6)
	MOVEI	5,.iob
	ADDI	5,12
	MOVEM	5,stderr
	SETZ	10,
	MOVE	12,stderr
	MOVEM	10,1(12)
	ADJSP	17,-1
	POPJ	17,
fopen:
	ADJSP	17,6
	LDB	2,-10(17)
	IBP	-10(17)
	MOVEM	2,-4(17)
	LDB	4,-10(17)
	MOVEM	4,-3(17)
	MOVE	7,-3(17)
	JUMPN	7,$10
	SETZ	6,
	MOVEI	10,1
	MOVE	12,-4(17)
	CAIN	12,162
	SETZ	10,
	JUMPE	10,$11
	MOVE	14,-4(17)
	CAIN	14,167
	JRST	$11
	MOVE	2,-4(17)
	CAIN	2,141
	JRST	$11
	MOVE	5,-4(17)
	CAIN	5,122
	JRST	$11
	MOVE	15,-4(17)
	CAIN	15,127
	JRST	$11
	MOVE	3,-4(17)
	CAIN	3,151
	JRST	$11
	MOVE	11,-4(17)
	CAIN	11,157
	JRST	$11
	MOVEI	6,1
$11::
	JUMPE	6,$7
$10::
	PUSH	17,stderr
	MOVE	2,$12
	PUSH	17,2
	PUSHJ	17,fputs
	ADJSP	17,-2
	PUSH	17,stderr
	PUSH	17,-11(17)
	PUSHJ	17,fputs
	ADJSP	17,-2
	PUSH	17,stderr
	MOVE	2,$13
	PUSH	17,2
	PUSHJ	17,fputs
	ADJSP	17,-2
	PUSH	17,stderr
	PUSH	17,-10(17)
	PUSHJ	17,fputs
	ADJSP	17,-2
	PUSH	17,stderr
	PUSH	17,[12]
	PUSHJ	17,putc
	ADJSP	17,-2
	PUSH	17,[1]
	PUSHJ	17,sexit
	ADJSP	17,-1
$7::
	MOVEI	2,3
	MOVEM	2,-5(17)
$16::
	MOVE	4,-5(17)
	CAIL	4,12
	JRST	$15
	MOVEI	5,.iob
	MOVE	7,-5(17)
	IMULI	7,5
	ADD	5,7
	MOVE	6,3(5)
	ANDI	6,3
	JUMPE	6,$15
$14::
	MOVE	11,-5(17)
	AOS	-5(17)
	JRST	$16
$15::
	MOVE	12,-5(17)
	CAIGE	12,12
	JRST	$17
	PUSH	17,stderr
	MOVE	2,$20
	PUSH	17,2
	PUSHJ	17,fputs
	ADJSP	17,-2
	SETZ	2,
	MOVE	0,2
	ADJSP	17,-6
	POPJ	17,
$17::
	MOVE	4,-5(17)
	IMULI	4,5
	ADDI	4,.iob
	MOVEM	4,(17)
	MOVE	5,-4(17)
	MOVE	6,5
	IDIVI	6,12
	MOVM	7,7
	CAME	5,$30(7)
	JRST	$21
	JRST	@$31(7)
$30::
	-1
	157
	122
	-1
	162
	151
	-1
	127
	-1
	167
$31::
	$21
	$27
	$23
	$21
	$22
	$24
	$21
	$26
	$21
	$25
$22::
	SETZ	2,
	PUSH	17,2
	PUSH	17,-10(17)
	PUSHJ	17,open
	ADJSP	17,-2
	MOVEM	0,-2(17)
	MOVEI	2,101
	MOVEM	2,-1(17)
	JRST	$21
$23::
	SETZ	2,
	PUSH	17,2
	PUSH	17,-10(17)
	PUSHJ	17,bopen
	ADJSP	17,-2
	MOVEM	0,-2(17)
	MOVEI	2,201
	MOVEM	2,-1(17)
	JRST	$21
$24::
	SETZ	2,
	PUSH	17,2
	PUSH	17,-10(17)
	PUSHJ	17,iopen
	ADJSP	17,-2
	MOVEM	0,-2(17)
	MOVEI	2,41
	MOVEM	2,-1(17)
	JRST	$21
$25::
	PUSH	17,[644]
	PUSH	17,-10(17)
	PUSHJ	17,creat
	ADJSP	17,-2
	MOVEM	0,-2(17)
	MOVEI	2,2
	MOVEM	2,-1(17)
	JRST	$21
$26::
	PUSH	17,[644]
	PUSH	17,-10(17)
	PUSHJ	17,bcreat
	ADJSP	17,-2
	MOVEM	0,-2(17)
	MOVEI	2,202
	MOVEM	2,-1(17)
	JRST	$21
$27::
	PUSH	17,[644]
	PUSH	17,-10(17)
	PUSHJ	17,icreat
	ADJSP	17,-2
	MOVEM	0,-2(17)
	MOVEI	2,42
	MOVEM	2,-1(17)
	JRST	$21
$21::
	MOVE	4,-2(17)
	JUMPGE	4,$32
	SETZ	5,
	MOVE	0,5
	ADJSP	17,-6
	POPJ	17,
$32::
	MOVE	7,-2(17)
	MOVE	10,(17)
	MOVEM	7,4(10)
	SETZ	6,
	MOVE	12,(17)
	MOVEM	6,1(12)
	SETZ	11,
	MOVE	14,(17)
	MOVEM	11,2(14)
	MOVE	15,-1(17)
	MOVE	2,(17)
	MOVEM	15,3(2)
	MOVE	0,(17)
	ADJSP	17,-6
	POPJ	17,
$20::	POINT	9,.+1,8
	BYTE	(9) 116,157,40,111
	BYTE	(9) 57,117,40,142
	BYTE	(9) 165,146,146,145
	BYTE	(9) 162,40,154,145
	BYTE	(9) 146,164,56,12
	BYTE	(9) 0

$13::	POINT	9,.+1,8
	BYTE	(9) 40,157,160,145
	BYTE	(9) 156,151,156,147
	BYTE	(9) 40,0

$12::	POINT	9,.+1,8
	BYTE	(9) 151,154,154,145
	BYTE	(9) 147,141,154,40
	BYTE	(9) 155,157,144,145
	BYTE	(9) 40,0

uopen:
	ADJSP	17,6
	LDB	2,-10(17)
	IBP	-10(17)
	MOVEM	2,-4(17)
	LDB	4,-10(17)
	MOVEM	4,-3(17)
	MOVE	7,-3(17)
	JUMPN	7,$34
	SETZ	6,
	MOVEI	10,1
	MOVE	12,-4(17)
	CAIN	12,162
	SETZ	10,
	JUMPE	10,$35
	MOVE	14,-4(17)
	CAIN	14,167
	JRST	$35
	MOVE	2,-4(17)
	CAIN	2,141
	JRST	$35
	MOVE	5,-4(17)
	CAIN	5,122
	JRST	$35
	MOVE	15,-4(17)
	CAIN	15,127
	JRST	$35
	MOVE	3,-4(17)
	CAIN	3,151
	JRST	$35
	MOVE	11,-4(17)
	CAIN	11,157
	JRST	$35
	MOVEI	6,1
$35::
	JUMPE	6,$33
$34::
	PUSH	17,stderr
	MOVE	2,$36
	PUSH	17,2
	PUSHJ	17,fputs
	ADJSP	17,-2
	PUSH	17,stderr
	PUSH	17,-11(17)
	PUSHJ	17,fputs
	ADJSP	17,-2
	PUSH	17,stderr
	MOVE	2,$37
	PUSH	17,2
	PUSHJ	17,fputs
	ADJSP	17,-2
	PUSH	17,stderr
	PUSH	17,-10(17)
	PUSHJ	17,fputs
	ADJSP	17,-2
	PUSH	17,stderr
	PUSH	17,[12]
	PUSHJ	17,putc
	ADJSP	17,-2
	PUSH	17,[1]
	PUSHJ	17,sexit
	ADJSP	17,-1
$33::
	MOVEI	2,3
	MOVEM	2,-5(17)
$42::
	MOVE	4,-5(17)
	CAIL	4,12
	JRST	$41
	MOVEI	5,.iob
	MOVE	7,-5(17)
	IMULI	7,5
	ADD	5,7
	MOVE	6,3(5)
	ANDI	6,3
	JUMPE	6,$41
$40::
	MOVE	11,-5(17)
	AOS	-5(17)
	JRST	$42
$41::
	MOVE	12,-5(17)
	CAIGE	12,12
	JRST	$43
	PUSH	17,stderr
	MOVE	2,$44
	PUSH	17,2
	PUSHJ	17,fputs
	ADJSP	17,-2
	SETZ	2,
	MOVE	0,2
	ADJSP	17,-6
	POPJ	17,
$43::
	MOVE	4,-5(17)
	IMULI	4,5
	ADDI	4,.iob
	MOVEM	4,(17)
	MOVE	5,-4(17)
	MOVE	6,5
	IDIVI	6,12
	MOVM	7,7
	CAME	5,$54(7)
	JRST	$45
	JRST	@$55(7)
$54::
	-1
	157
	122
	-1
	162
	151
	-1
	127
	-1
	167
$55::
	$45
	$53
	$47
	$45
	$46
	$50
	$45
	$52
	$45
	$51
$46::
	SETZ	2,
	PUSH	17,2
	PUSH	17,-10(17)
	PUSHJ	17,open
	ADJSP	17,-2
	MOVEM	0,-2(17)
	MOVEI	2,105
	MOVEM	2,-1(17)
	JRST	$45
$47::
	SETZ	2,
	PUSH	17,2
	PUSH	17,-10(17)
	PUSHJ	17,bopen
	ADJSP	17,-2
	MOVEM	0,-2(17)
	MOVEI	2,205
	MOVEM	2,-1(17)
	JRST	$45
$50::
	SETZ	2,
	PUSH	17,2
	PUSH	17,-10(17)
	PUSHJ	17,iopen
	ADJSP	17,-2
	MOVEM	0,-2(17)
	MOVEI	2,45
	MOVEM	2,-1(17)
	JRST	$45
$51::
	PUSH	17,[644]
	PUSH	17,-10(17)
	PUSHJ	17,creat
	ADJSP	17,-2
	MOVEM	0,-2(17)
	MOVEI	2,6
	MOVEM	2,-1(17)
	JRST	$45
$52::
	PUSH	17,[644]
	PUSH	17,-10(17)
	PUSHJ	17,bcreat
	ADJSP	17,-2
	MOVEM	0,-2(17)
	MOVEI	2,206
	MOVEM	2,-1(17)
	JRST	$45
$53::
	PUSH	17,[644]
	PUSH	17,-10(17)
	PUSHJ	17,icreat
	ADJSP	17,-2
	MOVEM	0,-2(17)
	MOVEI	2,46
	MOVEM	2,-1(17)
	JRST	$45
$45::
	MOVE	4,-2(17)
	JUMPGE	4,$56
	SETZ	5,
	MOVE	0,5
	ADJSP	17,-6
	POPJ	17,
$56::
	MOVE	7,-2(17)
	MOVE	10,(17)
	MOVEM	7,4(10)
	SETZ	6,
	MOVE	12,(17)
	MOVEM	6,1(12)
	SETZ	11,
	MOVE	14,(17)
	MOVEM	11,2(14)
	MOVE	15,-1(17)
	MOVE	2,(17)
	MOVEM	15,3(2)
	MOVE	0,(17)
	ADJSP	17,-6
	POPJ	17,
$44::	POINT	9,.+1,8
	BYTE	(9) 116,157,40,111
	BYTE	(9) 57,117,40,142
	BYTE	(9) 165,146,146,145
	BYTE	(9) 162,40,154,145
	BYTE	(9) 146,164,56,12
	BYTE	(9) 0

$37::	POINT	9,.+1,8
	BYTE	(9) 40,157,160,145
	BYTE	(9) 156,151,156,147
	BYTE	(9) 40,0

$36::	POINT	9,.+1,8
	BYTE	(9) 151,154,154,145
	BYTE	(9) 147,141,154,40
	BYTE	(9) 155,157,144,145
	BYTE	(9) 40,0

fclose:
	ADJSP	17,2
	MOVE	3,-3(17)
	MOVE	2,3(3)
	ANDI	2,2
	JUMPE	2,$57
	PUSH	17,-3(17)
	PUSH	17,[0]
	PUSHJ	17,.flush
	ADJSP	17,-2
$57::
	MOVE	3,-3(17)
	MOVE	2,2(3)
	MOVEM	2,-1(17)
	SETZB	4,0(17)
$62::
	MOVE	6,(17)
	CAIL	6,12
	JRST	$61
	MOVEI	7,.bigbu
	MOVE	11,(17)
	IMULI	11,201
	ADD	7,11
	HRLI	7,331100
	CAME	7,-1(17)
	JRST	$63
	SETZ	10,
	MOVE	13,(17)
	IMULI	13,201
	MOVEM	10,.bigbu+200(13)
	JRST	$61
$63::
$60::
	MOVE	14,(17)
	AOS	(17)
	JRST	$62
$61::
	MOVE	3,-3(17)
	MOVE	2,4(3)
	PUSH	17,2
	PUSHJ	17,close
	ADJSP	17,-1
	SETZ	2,
	MOVE	4,-3(17)
	MOVEM	2,3(4)
	ADJSP	17,-2
	POPJ	17,
sexit:
	ADJSP	17,1
	PUSH	17,stdout
	PUSH	17,[0]
	PUSHJ	17,.flush
	ADJSP	17,-2
	PUSH	17,stderr
	PUSH	17,[0]
	PUSHJ	17,.flush
	ADJSP	17,-2
	MOVEI	2,3
	MOVEM	2,(17)
$66::
	MOVE	4,(17)
	CAIL	4,12
	JRST	$65
	MOVEI	5,.iob
	MOVE	7,(17)
	IMULI	7,5
	ADD	5,7
	MOVE	6,3(5)
	JUMPE	6,$67
	MOVE	3,(17)
	IMULI	3,5
	ADDI	3,.iob
	PUSH	17,3
	PUSHJ	17,fclose
	ADJSP	17,-1
	SETZ	2,
	MOVE	4,(17)
	IMULI	4,5
	MOVEM	2,.iob(4)
	SETZ	3,
	MOVE	6,(17)
	IMULI	6,5
	MOVEM	3,.iob+1(6)
	SETZ	5,
	MOVE	10,(17)
	IMULI	10,5
	MOVEM	5,.iob+2(10)
$67::
$64::
	MOVE	11,(17)
	AOS	(17)
	JRST	$66
$65::
	ADJSP	17,-1
	POPJ	17,
getc:
	ADJSP	17,1
	MOVE	3,-2(17)
	ADDI	3,1
	SOS	(3)
	MOVE	2,(3)
	JUMPL	2,$70
	MOVE	6,-2(17)
	LDB	7,(6)
	IBP	(6)
	MOVEM	7,(17)
	MOVEI	10,1
	MOVE	12,(17)
	CAIE	12,15
	SETZ	10,
	JUMPE	10,$71
	MOVE	14,-2(17)
	MOVE	13,3(14)
	ANDI	13,200
	JUMPN	13,$71
	PUSH	17,-2(17)
	PUSHJ	17,getc
	ADJSP	17,-1
	MOVEM	0,(17)
	MOVE	3,(17)
	CAIN	3,12
	JRST	$72
	PUSH	17,-2(17)
	PUSH	17,-1(17)
	PUSHJ	17,ungetc
	ADJSP	17,-2
	MOVEI	0,15
	ADJSP	17,-1
	POPJ	17,
$72::
$71::
	MOVE	0,(17)
	ADJSP	17,-1
	POPJ	17,
	JRST	$73
$70::
	PUSH	17,-2(17)
	PUSHJ	17,.fillb
	ADJSP	17,-1
	MOVEM	0,(17)
	CAME	0,[-1]
	JRST	$74
	MOVE	0,[-1]
	ADJSP	17,-1
	POPJ	17,
$74::
	PUSH	17,-2(17)
	PUSH	17,-1(17)
	PUSHJ	17,ungetc
	ADJSP	17,-2
	PUSH	17,-2(17)
	PUSHJ	17,getc
	ADJSP	17,-1
	MOVE	0,0
	ADJSP	17,-1
	POPJ	17,
$73::
	ADJSP	17,-1
	POPJ	17,
ungetc:
	MOVE	3,-2(17)
	ADDI	3,1
	MOVE	2,(3)
	AOS	(3)
	MOVE	5,-2(17)
	MOVE	4,(5)
	MOVNI	6,1
	ADJBP	6,(5)
	MOVEM	6,(5)
	MOVE	10,-1(17)
	MOVE	7,@-2(17)
	DPB	10,7
	POPJ	17,
putc:
	ADJSP	17,1
	MOVEI	2,1
	MOVE	4,-2(17)
	CAIE	4,12
	SETZ	2,
	JUMPE	2,$75
	MOVE	6,-3(17)
	MOVE	5,3(6)
	ANDI	5,200
	JUMPN	5,$75
	PUSH	17,-3(17)
	PUSH	17,[15]
	PUSHJ	17,putc
	ADJSP	17,-2
$75::
	MOVE	3,-3(17)
	ADDI	3,1
	MOVE	2,(3)
	SOS	(3)
	JUMPLE	2,$76
	MOVEI	5,1
	MOVE	7,-3(17)
	CAME	7,stdout
	SETZ	5,
	JUMPN	5,$100
	MOVEI	6,1
	MOVE	12,-3(17)
	CAME	12,stderr
	SETZ	6,
	JUMPE	6,$77
$100::
	MOVE	14,-2(17)
	CAIE	14,12
	JRST	$77
	MOVEI	15,12
	MOVE	3,-3(17)
	MOVE	2,(3)
	IBP	(3)
	DPB	15,2
	PUSH	17,-3(17)
	PUSH	17,[0]
	PUSHJ	17,.flush
	ADJSP	17,-3
	POPJ	17,
$77::
	MOVE	3,-2(17)
	MOVE	4,-3(17)
	MOVE	2,(4)
	IBP	(4)
	DPB	3,2
	JRST	$101
$76::
	MOVEI	5,1
	MOVE	7,-3(17)
	CAME	7,stdout
	SETZ	5,
	JUMPN	5,$103
	MOVEI	6,1
	MOVE	12,-3(17)
	CAME	12,stderr
	SETZ	6,
	JUMPE	6,$102
$103::
	MOVE	14,-2(17)
	CAIE	14,12
	JRST	$102
	MOVEI	15,12
	MOVE	3,-3(17)
	MOVE	2,(3)
	IBP	(3)
	DPB	15,2
	MOVEI	4,1
	MOVE	7,-3(17)
	MOVEM	4,1(7)
	PUSH	17,-3(17)
	PUSH	17,[0]
	PUSHJ	17,.flush
	ADJSP	17,-2
	JRST	$104
$102::
	MOVE	3,-3(17)
	MOVE	2,3(3)
	ANDI	2,4
	JUMPE	2,$105
	MOVEI	2,1
	MOVE	4,-3(17)
	MOVEM	2,1(4)
	PUSH	17,-3(17)
	PUSH	17,-3(17)
	PUSHJ	17,.flush
	ADJSP	17,-2
	JRST	$106
$105::
	MOVE	3,-3(17)
	ADDI	3,1
	MOVE	2,(3)
	AOS	(3)
	PUSH	17,-3(17)
	PUSH	17,-3(17)
	PUSHJ	17,.flush
	ADJSP	17,-2
$106::
$104::
$101::
	ADJSP	17,-1
	POPJ	17,
.putc:
	MOVE	3,-2(17)
	ADDI	3,1
	MOVE	2,(3)
	SOS	(3)
	JUMPLE	2,$107
	MOVE	6,-1(17)
	MOVE	7,-2(17)
	MOVE	5,(7)
	IBP	(7)
	DPB	6,5
	MOVEI	10,1
	MOVE	12,-2(17)
	CAME	12,stdout
	SETZ	10,
	JUMPN	10,$111
	MOVEI	11,1
	MOVE	15,-2(17)
	CAME	15,stderr
	SETZ	11,
	JUMPE	11,$110
$111::
	MOVE	4,-1(17)
	CAIE	4,12
	JRST	$110
	PUSH	17,-2(17)
	PUSH	17,[0]
	PUSHJ	17,.flush
	ADJSP	17,-2
$110::
	JRST	$112
$107::
	MOVE	3,-2(17)
	ADDI	3,1
	MOVE	2,(3)
	AOS	(3)
	PUSH	17,-2(17)
	PUSH	17,-2(17)
	PUSHJ	17,.flush
	ADJSP	17,-2
$112::
	POPJ	17,
fgets:
	ADJSP	17,3
	MOVE	3,-4(17)
	MOVEM	3,(17)
	MOVEI	2,1
	MOVEM	2,-2(17)
$115::
	MOVE	5,-2(17)
	CAML	5,-5(17)
	JRST	$114
	PUSH	17,-6(17)
	PUSHJ	17,getc
	ADJSP	17,-1
	MOVEM	0,-1(17)
	CAME	0,[-1]
	JRST	$116
	SETZB	3,-4(17)
	JRST	$114
$116::
	MOVE	5,-1(17)
	MOVE	6,(17)
	IBP	(17)
	DPB	5,6
	CAIN	5,12
	JRST	$114
$113::
	MOVE	10,-2(17)
	AOS	-2(17)
	JRST	$115
$114::
	SETZ	7,
	DPB	7,(17)
	MOVE	0,-4(17)
	ADJSP	17,-3
	POPJ	17,
	ADJSP	17,-3
	POPJ	17,
fputs:
$117::
	LDB	2,-1(17)
	JUMPE	2,$120
	PUSH	17,-2(17)
	LDB	2,-2(17)
	IBP	-2(17)
	PUSH	17,2
	PUSHJ	17,putc
	ADJSP	17,-2
	JRST	$117
$120::
	POPJ	17,
.flush:
	ADJSP	17,5
	MOVE	3,-7(17)
	MOVE	2,3(3)
	ANDI	2,2
	JUMPN	2,$121
	ADJSP	17,-5
	POPJ	17,
$121::
	MOVE	5,-7(17)
	MOVE	4,3(5)
	ANDI	4,4
	MOVEM	4,-1(17)
	MOVE	7,-1(17)
	JUMPE	7,$122
	MOVE	10,-6(17)
	JUMPN	10,$122
	MOVE	11,-7(17)
	MOVE	6,1(11)
	JUMPN	6,$122
	ADJSP	17,-5
	POPJ	17,
$122::
	MOVE	13,-7(17)
	MOVE	12,2(13)
	JUMPN	12,$123
	PUSH	17,-7(17)
	PUSHJ	17,..find
	ADJSP	17,-1
	MOVE	3,-7(17)
	MOVE	2,2(3)
	MOVEM	2,@-7(17)
	MOVEI	4,1000
	MOVE	6,-7(17)
	MOVEM	4,1(6)
$123::
	MOVE	7,-1(17)
	JUMPE	7,$124
	MOVE	10,-6(17)
	JUMPE	10,$124
	MOVE	11,-6(17)
	MOVE	12,-7(17)
	MOVE	5,2(12)
	DPB	11,5
	PUSH	17,[1]
	MOVE	4,-10(17)
	MOVE	3,2(4)
	PUSH	17,3
	MOVE	6,-11(17)
	MOVE	5,4(6)
	PUSH	17,5
	PUSHJ	17,write
	ADJSP	17,-3
	MOVE	3,-7(17)
	MOVE	2,2(3)
	MOVEM	2,@-7(17)
	SETZ	4,
	MOVE	6,-7(17)
	MOVEM	4,1(6)
	ADJSP	17,-5
	POPJ	17,
$124::
	MOVE	7,-1(17)
	JUMPE	7,$126
	MOVEI	2,1
	JRST	$127
$126::
	MOVEI	2,1000
	MOVE	5,-7(17)
	MOVE	4,1(5)
	SUB	2,4
$127::
	MOVEM	2,-4(17)
	JUMPE	2,$125
	MOVE	3,-7(17)
	MOVE	2,3(3)
	ANDI	2,200
	JUMPE	2,$130
	PUSH	17,-4(17)
	MOVE	4,-10(17)
	MOVE	2,2(4)
	PUSH	17,2
	MOVE	6,-11(17)
	MOVE	5,4(6)
	PUSH	17,5
	PUSHJ	17,bwrite
	ADJSP	17,-3
	JRST	$131
$130::
	MOVE	3,-7(17)
	MOVE	2,3(3)
	ANDI	2,40
	JUMPE	2,$132
	PUSH	17,-4(17)
	MOVE	4,-10(17)
	MOVE	2,2(4)
	PUSH	17,2
	MOVE	6,-11(17)
	MOVE	5,4(6)
	PUSH	17,5
	PUSHJ	17,iwrite
	ADJSP	17,-3
	JRST	$133
$132::
	PUSH	17,-4(17)
	MOVE	4,-10(17)
	MOVE	2,2(4)
	PUSH	17,2
	MOVE	6,-11(17)
	MOVE	5,4(6)
	PUSH	17,5
	PUSHJ	17,write
	ADJSP	17,-3
$133::
$131::
	MOVE	3,-7(17)
	MOVE	2,2(3)
	MOVEM	2,@-7(17)
	MOVE	5,-1(17)
	JUMPE	5,$134
	SETZ	2,
	JRST	$135
$134::
	MOVEI	2,1000
$135::
	MOVE	5,-7(17)
	MOVEM	2,1(5)
$125::
	MOVE	6,-6(17)
	JUMPE	6,$136
	MOVE	3,-6(17)
	MOVE	4,-7(17)
	MOVE	2,(4)
	IBP	(4)
	DPB	3,2
	MOVE	6,-7(17)
	ADDI	6,1
	MOVE	5,(6)
	SOS	(6)
$136::
	ADJSP	17,-5
	POPJ	17,
.fillb:
	ADJSP	17,5
	MOVE	3,-6(17)
	MOVE	2,3(3)
	MOVEM	2,-3(17)
	MOVE	5,-3(17)
	ANDI	5,1
	MOVEI	4,1
	JUMPE	5,.+2
	SETZ	4,
	JUMPN	4,$140
	MOVE	7,-3(17)
	ANDI	7,3000
	JUMPE	7,$137
$140::
	MOVE	0,[-1]
	ADJSP	17,-5
	POPJ	17,
$137::
	MOVE	10,-6(17)
	MOVE	6,2(10)
	JUMPN	6,$141
	PUSH	17,-6(17)
	PUSHJ	17,..find
	ADJSP	17,-1
$141::
	MOVE	3,-6(17)
	MOVE	2,2(3)
	MOVEM	2,@-6(17)
	MOVE	5,-6(17)
	MOVE	4,3(5)
	MOVEM	4,-3(17)
	MOVE	7,-3(17)
	ANDI	7,200
	JUMPE	7,$142
	MOVE	10,-3(17)
	ANDI	10,4
	JUMPN	10,$142
	PUSH	17,[1000]
	MOVE	4,-7(17)
	MOVE	3,2(4)
	PUSH	17,3
	MOVE	6,-10(17)
	MOVE	5,4(6)
	PUSH	17,5
	PUSHJ	17,bread
	ADJSP	17,-3
	MOVEM	0,-1(17)
	JRST	$143
$142::
	MOVE	3,-3(17)
	ANDI	3,40
	JUMPE	3,$144
	MOVE	3,-3(17)
	ANDI	3,4
	JUMPE	3,$145
	MOVEI	2,1
	JRST	$146
$145::
	MOVEI	2,1000
$146::
	PUSH	17,2
	MOVE	5,-7(17)
	MOVE	4,2(5)
	PUSH	17,4
	MOVE	7,-10(17)
	MOVE	6,4(7)
	PUSH	17,6
	PUSHJ	17,iread
	ADJSP	17,-3
	MOVEM	0,-1(17)
	JRST	$147
$144::
	MOVE	3,-3(17)
	ANDI	3,4
	JUMPE	3,$150
	MOVEI	2,1
	JRST	$151
$150::
	MOVEI	2,1000
$151::
	PUSH	17,2
	MOVE	5,-7(17)
	MOVE	4,2(5)
	PUSH	17,4
	MOVE	7,-10(17)
	MOVE	6,4(7)
	PUSH	17,6
	PUSHJ	17,read
	ADJSP	17,-3
	MOVEM	0,-1(17)
$147::
$143::
	MOVE	3,-1(17)
	MOVE	4,-6(17)
	MOVEM	3,1(4)
	MOVE	5,-6(17)
	MOVE	2,1(5)
	JUMPG	2,$152
	MOVE	10,-6(17)
	MOVE	7,3(10)
	MOVEI	11,1
	MOVE	13,-1(17)
	CAME	13,[-1]
	SETZ	11,
	IOR	7,11
	JUMPE	7,$153
	MOVEI	2,1000
	JRST	$154
$153::
	MOVEI	2,2000
$154::
	MOVE	5,-6(17)
	MOVEM	2,3(5)
	SETZ	4,
	MOVE	7,-6(17)
	MOVEM	4,1(7)
	MOVE	0,[-1]
	ADJSP	17,-5
	POPJ	17,
$152::
	PUSH	17,-6(17)
	PUSHJ	17,getc
	ADJSP	17,-1
	MOVEM	0,-4(17)
	MOVE	0,-4(17)
	ADJSP	17,-5
	POPJ	17,
	ADJSP	17,-5
	POPJ	17,
..find:
	ADJSP	17,2
	MOVE	3,-3(17)
	MOVE	2,3(3)
	MOVEM	2,-1(17)
	MOVE	5,-1(17)
	ANDI	5,4
	JUMPE	5,$155
	MOVE	3,-3(17)
	MOVE	2,4(3)
	ADJBP	2,[331100,,.small]
	MOVE	5,-3(17)
	MOVEM	2,2(5)
	ADJSP	17,-2
	POPJ	17,
$155::
	MOVEI	4,3
	MOVEM	4,(17)
$160::
	MOVE	7,(17)
	CAIL	7,20
	JRST	$157
	MOVEI	10,.bigbu
	MOVE	12,(17)
	IMULI	12,201
	ADD	10,12
	MOVE	11,200(10)
	JUMPE	11,$157
$156::
	MOVE	15,(17)
	AOS	(17)
	JRST	$160
$157::
	MOVE	2,(17)
	CAIL	2,20
	JRST	$161
	MOVE	5,-1(17)
	IORI	5,10
	MOVE	14,-3(17)
	MOVEM	5,3(14)
	MOVE	6,(17)
	IMULI	6,201
	ADDI	6,.bigbu
	HRLI	6,331100
	MOVE	7,-3(17)
	MOVEM	6,2(7)
	MOVEI	4,1
	MOVE	11,(17)
	IMULI	11,201
	MOVEM	4,.bigbu+200(11)
	JRST	$162
$161::
	MOVE	12,-1(17)
	IORI	12,4
	MOVE	13,-3(17)
	MOVEM	12,3(13)
	MOVE	2,-3(17)
	MOVE	3,4(2)
	ADJBP	3,[331100,,.small]
	MOVE	10,-3(17)
	MOVEM	3,2(10)
$162::
	ADJSP	17,-2
	POPJ	17,
sprint:
	ADJSP	17,4
$163::
	LDB	2,-6(17)
	CAIN	2,45
	JRST	$167
	JUMPE	2,$166
	JRST	$170
$166::
	SETZ	4,
	DPB	4,-5(17)
	ADJSP	17,-4
	POPJ	17,
$167::
	MOVE	6,-6(17)
	IBP	-6(17)
	MOVEI	5,1
	LDB	7,-6(17)
	CAIE	7,55
	SETZ	5,
	MOVEM	5,-3(17)
	JUMPE	5,$171
	MOVE	3,-6(17)
	IBP	-6(17)
$171::
	SETZB	2,-2(17)
$172::
	MOVEI	4,1
	LDB	5,-6(17)
	CAIGE	5,60
	SETZ	4,
	JUMPE	4,$173
	LDB	10,-6(17)
	CAILE	10,71
	JRST	$173
	LDB	13,-6(17)
	IBP	-6(17)
	MOVE	2,-2(17)
	IMULI	2,12
	ADD	13,2
	SUBI	13,60
	MOVEM	13,-2(17)
	JRST	$172
$173::
	MOVE	4,-3(17)
	JUMPE	4,$174
	MOVN	3,-2(17)
	MOVEM	3,-2(17)
$174::
	MOVEI	2,1
	MOVEM	2,-1(17)
	LDB	4,-6(17)
	MOVE	6,4
	IDIVI	6,15
	MOVM	7,7
	CAME	4,$204(7)
	JRST	$203
	JRST	@$205(7)
$204::
	-1
	-1
	-1
	170
	-1
	-1
	-1
	157
	143
	144
	-1
	163
	-1
$205::
	$203
	$203
	$203
	$202
	$203
	$203
	$203
	$200
	$176
	$177
	$203
	$201
	$203
$176::
	MOVE	11,-7(17)
	MOVE	12,-5(17)
	IBP	-5(17)
	DPB	11,12
	JRST	$175
$177::
	PUSH	17,[12]
	PUSH	17,-3(17)
	PUSH	17,-11(17)
	MOVEI	16,-10(17)
	PUSH	17,16
	PUSHJ	17,..pn
	ADJSP	17,-4
	JRST	$175
$200::
	PUSH	17,[10]
	PUSH	17,-3(17)
	PUSH	17,-11(17)
	MOVEI	16,-10(17)
	PUSH	17,16
	PUSHJ	17,..pn
	ADJSP	17,-4
	JRST	$175
$201::
	PUSH	17,-2(17)
	PUSH	17,-10(17)
	MOVEI	16,-7(17)
	PUSH	17,16
	PUSHJ	17,..ps
	ADJSP	17,-3
	JRST	$175
$202::
	PUSH	17,[20]
	PUSH	17,-3(17)
	PUSH	17,-11(17)
	MOVEI	16,-10(17)
	PUSH	17,16
	PUSHJ	17,..pn
	ADJSP	17,-4
	JRST	$175
$203::
	SETZB	2,-1(17)
$175::
	MOVE	4,-1(17)
	JUMPE	4,$206
	PUSH	17,-16(17)
	PUSH	17,-16(17)
	PUSH	17,-16(17)
	PUSH	17,-16(17)
	PUSH	17,-16(17)
	PUSH	17,-16(17)
	PUSH	17,-16(17)
	IBP	-15(17)
	PUSH	17,-15(17)
	PUSH	17,-15(17)
	PUSHJ	17,sprint
	ADJSP	17,-15
	POPJ	17,
$206::
$170::
	LDB	2,-6(17)
	IBP	-6(17)
	MOVE	5,-5(17)
	IBP	-5(17)
	DPB	2,5
$165::
	JRST	$163
$164::
	ADJSP	17,-4
	POPJ	17,
printf:
	ADJSP	17,41
	PUSH	17,-52(17)
	PUSH	17,-52(17)
	PUSH	17,-52(17)
	PUSH	17,-52(17)
	PUSH	17,-52(17)
	PUSH	17,-52(17)
	PUSH	17,-52(17)
	PUSH	17,-52(17)
	PUSH	17,-52(17)
	MOVEI	2,-51(17)
	HRLI	2,331100
	PUSH	17,2
	PUSHJ	17,sprint
	ADJSP	17,-12
	PUSH	17,stdout
	MOVEI	2,-41(17)
	HRLI	2,331100
	PUSH	17,2
	PUSHJ	17,fputs
	ADJSP	17,-43
	POPJ	17,
fprint:
	ADJSP	17,41
	PUSH	17,-53(17)
	PUSH	17,-53(17)
	PUSH	17,-53(17)
	PUSH	17,-53(17)
	PUSH	17,-53(17)
	PUSH	17,-53(17)
	PUSH	17,-53(17)
	PUSH	17,-53(17)
	PUSH	17,-53(17)
	MOVEI	2,-51(17)
	HRLI	2,331100
	PUSH	17,2
	PUSHJ	17,sprint
	ADJSP	17,-12
	PUSH	17,-42(17)
	MOVEI	2,-41(17)
	HRLI	2,331100
	PUSH	17,2
	PUSHJ	17,fputs
	ADJSP	17,-43
	POPJ	17,
..ps:
	ADJSP	17,3
	MOVE	3,-6(17)
	JUMPGE	3,$207
	MOVN	5,-6(17)
	JRST	$210
$207::
	MOVE	5,-6(17)
$210::
	MOVEM	5,-1(17)
	PUSH	17,-5(17)
	PUSHJ	17,.ps.
	ADJSP	17,-1
	MOVE	3,-1(17)
	SUB	3,0
	MOVEM	3,-2(17)
	MOVE	2,@-4(17)
	MOVEM	2,(17)
	MOVE	5,-6(17)
	JUMPGE	5,$211
$212::
	LDB	6,-5(17)
	JUMPE	6,$213
	LDB	2,-5(17)
	IBP	-5(17)
	MOVE	5,(17)
	IBP	(17)
	DPB	2,5
	JRST	$212
$213::
$214::
	MOVE	6,-2(17)
	SOS	-2(17)
	JUMPLE	6,$215
	MOVEI	7,40
	MOVE	11,(17)
	IBP	(17)
	DPB	7,11
	JRST	$214
$215::
	JRST	$216
$211::
$217::
	MOVE	12,-2(17)
	SOS	-2(17)
	JUMPLE	12,$220
	MOVEI	13,40
	MOVE	15,(17)
	IBP	(17)
	DPB	13,15
	JRST	$217
$220::
$221::
	LDB	3,-5(17)
	JUMPE	3,$222
	LDB	2,-5(17)
	IBP	-5(17)
	MOVE	5,(17)
	IBP	(17)
	DPB	2,5
	JRST	$221
$222::
$216::
	MOVE	6,(17)
	MOVEM	6,@-4(17)
	ADJSP	17,-3
	POPJ	17,
.ps.:
	ADJSP	17,1
	SETZB	2,0(17)
$223::
	LDB	3,-2(17)
	IBP	-2(17)
	JUMPE	3,$224
	MOVE	3,(17)
	AOS	(17)
	JRST	$223
$224::
	MOVE	0,(17)
	ADJSP	17,-1
	POPJ	17,
..pn:
	ADJSP	17,45
	MOVE	3,-50(17)
	JUMPGE	3,$225
	MOVN	5,-50(17)
	JRST	$226
$225::
	MOVE	5,-50(17)
$226::
	MOVEM	5,-43(17)
	MOVEI	4,-40(17)
	HRLI	4,331100
	MOVEM	4,-41(17)
	MOVE	10,-51(17)
	CAIN	10,20
	JRST	$232
	CAIN	10,12
	JRST	$231
	CAIN	10,10
	JRST	$230
	JRST	$227
$230::
	PUSH	17,-47(17)
	MOVEI	16,-42(17)
	PUSH	17,16
	PUSHJ	17,.po.
	ADJSP	17,-2
	MOVEM	0,-44(17)
	JRST	$227
$231::
	PUSH	17,-47(17)
	MOVEI	16,-42(17)
	PUSH	17,16
	PUSHJ	17,.pd.
	ADJSP	17,-2
	MOVEM	0,-44(17)
	JRST	$227
$232::
	PUSH	17,-47(17)
	MOVEI	16,-42(17)
	PUSH	17,16
	PUSHJ	17,.px.
	ADJSP	17,-2
	MOVEM	0,-44(17)
	JRST	$227
$227::
	MOVE	3,-43(17)
	SUB	3,-44(17)
	MOVEM	3,-44(17)
	SETZ	2,
	DPB	2,-41(17)
	MOVE	4,@-46(17)
	MOVEM	4,-42(17)
	MOVEI	5,-40(17)
	HRLI	5,331100
	MOVEM	5,-41(17)
	MOVE	7,-50(17)
	JUMPGE	7,$233
$234::
	LDB	10,-41(17)
	JUMPE	10,$235
	LDB	2,-41(17)
	IBP	-41(17)
	MOVE	5,-42(17)
	IBP	-42(17)
	DPB	2,5
	JRST	$234
$235::
$236::
	MOVE	6,-44(17)
	SOS	-44(17)
	JUMPLE	6,$237
	MOVEI	7,40
	MOVE	11,-42(17)
	IBP	-42(17)
	DPB	7,11
	JRST	$236
$237::
	JRST	$240
$233::
$241::
	MOVE	12,-44(17)
	SOS	-44(17)
	JUMPLE	12,$242
	MOVEI	13,40
	MOVE	15,-42(17)
	IBP	-42(17)
	DPB	13,15
	JRST	$241
$242::
$243::
	LDB	3,-41(17)
	JUMPE	3,$244
	LDB	2,-41(17)
	IBP	-41(17)
	MOVE	5,-42(17)
	IBP	-42(17)
	DPB	2,5
	JRST	$243
$244::
$240::
	MOVE	6,-42(17)
	MOVEM	6,@-46(17)
	ADJSP	17,-45
	POPJ	17,
.pd.:
	ADJSP	17,3
	MOVE	3,-5(17)
	JUMPGE	3,$245
	MOVN	5,-5(17)
	MOVEM	5,-5(17)
	MOVE	4,@-4(17)
	MOVEM	4,-2(17)
	MOVEI	6,55
	MOVE	10,-2(17)
	IBP	-2(17)
	DPB	6,10
	MOVE	11,-2(17)
	MOVEM	11,@-4(17)
	MOVEI	7,2
	MOVEM	7,(17)
	JRST	$246
$245::
	MOVEI	12,1
	MOVEM	12,(17)
$246::
	MOVE	14,-5(17)
	IDIVI	14,12
	MOVEM	14,-1(17)
	JUMPE	14,$247
	PUSH	17,-1(17)
	PUSH	17,-5(17)
	PUSHJ	17,.pd.
	ADJSP	17,-2
	ADD	0,(17)
	MOVEM	0,(17)
$247::
	MOVE	2,@-4(17)
	MOVEM	2,-2(17)
	MOVE	4,-5(17)
	IDIVI	4,12
	ADDI	5,60
	MOVE	6,-2(17)
	IBP	-2(17)
	DPB	5,6
	MOVE	7,-2(17)
	MOVEM	7,@-4(17)
	MOVE	0,(17)
	ADJSP	17,-3
	POPJ	17,
	ADJSP	17,-3
	POPJ	17,
.po.:
	ADJSP	17,3
	MOVE	3,-5(17)
	LSH	3,-3
	MOVEM	3,-1(17)
	JUMPE	3,$250
	PUSH	17,-1(17)
	PUSH	17,-5(17)
	PUSHJ	17,.po.
	ADJSP	17,-2
	ADDI	0,1
	MOVEM	0,(17)
	JRST	$251
$250::
	MOVEI	2,1
	MOVEM	2,(17)
$251::
	MOVE	3,@-4(17)
	MOVEM	3,-2(17)
	MOVE	5,-5(17)
	ANDI	5,7
	ADDI	5,60
	MOVE	6,-2(17)
	IBP	-2(17)
	DPB	5,6
	MOVE	7,-2(17)
	MOVEM	7,@-4(17)
	MOVE	0,(17)
	ADJSP	17,-3
	POPJ	17,
	ADJSP	17,-3
	POPJ	17,
.px.:
	ADJSP	17,3
	MOVE	3,-5(17)
	LSH	3,-4
	MOVEM	3,-1(17)
	JUMPE	3,$252
	PUSH	17,-1(17)
	PUSH	17,-5(17)
	PUSHJ	17,.px.
	ADJSP	17,-2
	ADDI	0,1
	MOVEM	0,(17)
	JRST	$253
$252::
	MOVEI	2,1
	MOVEM	2,(17)
$253::
	MOVE	4,-5(17)
	ANDI	4,17
	MOVEM	4,-1(17)
	MOVE	3,@-4(17)
	MOVEM	3,-2(17)
	MOVE	6,-1(17)
	CAIL	6,12
	JRST	$254
	MOVE	10,-1(17)
	ADDI	10,60
	JRST	$255
$254::
	MOVE	10,-1(17)
	ADDI	10,101
	SUBI	10,12
$255::
	MOVE	12,-2(17)
	IBP	-2(17)
	DPB	10,12
	MOVE	13,-2(17)
	MOVEM	13,@-4(17)
	MOVE	0,(17)
	ADJSP	17,-3
	POPJ	17,
	ADJSP	17,-3
	POPJ	17,

	INTERN	.iob,stdin,stdout,stderr,stdio,fopen,fputs,putc,sexit
	INTERN	uopen,fclose,.flush,getc,ungetc,.fillb,.putc,fgets
	INTERN	..find,sprint,..pn,..ps,printf,fprint,.ps.,.po.,.pd.
	INTERN	.px.

	EXTERN	open,bopen,iopen,creat,bcreat,icreat,close,write
	EXTERN	bwrite,iwrite,bread,iread,read

	END