Google
 

Trailing-Edge - PDP-10 Archives - SRI_NIC_PERM_SRC_1_19910112 - 5-galaxy/is.fai
There are no other files named is.fai in the archive.
	TITLE	is
	EXTERN	$$ONE
	OPDEF	ADJBP	[IBP]	
DEFINE %CHRBP(TOAC,FRMBP)	
<	SETO	TOAC,		
	ADJBP	TOAC,FRMBP	
>




	IFNDEF	ERJMP,< OPDEF ERJMP [JUMP 16,] >
	OPDEF	ERJMPA	[ERJMP]
	OPDEF	XMOVEI	[SETMI]
	DEFINE	IFIW	<SETZ >



	.REQUEST C:CLIB


	TWOSEG	400000	    	
	RELOC	0
	RELOC	400000		

	DEFINE	$$CODE	<RELOC>
	DEFINE	$$DATA	<RELOC>


IFNDEF $START,<		
	EXTERN	$START
	EXTERN	$RET,$RETZ,$RETN,$RETP,$RETF,$RETT
	EXTERN	$ZERO
>


	PURGE	IFE,IFN,IFG,IFGE,IFL,IFLE,IFDEF,IFNDEF,IFIDN,IFDIF



	$$DATA
infd:	BLOCK	1
logfd:	BLOCK	1
done:	BLOCK	1
debug:	BLOCK	1
specia:	BLOCK	1
vswitc:	BLOCK	1
diagsw:	BLOCK	1
pcount:	0
ndiagb:	BLOCK	1
testb:	377
inRawM:	0
HasOpe:	0
Logfil:	0

	$$CODE
main:
	JRST glxini
mainx:
	ADJSP 17,2
	SETZB 3,pcount
	XMOVEI 6,$1
	IOR 6,$BYTE*$$ONE+4
	MOVEM 6,0(17)
	PUSH 17,6
	PUSHJ 17,bsize
	ADJSP 17,-1
	MOVEM 1,-1(17)
	CAIE 1,10
	 JRST $3
	XMOVEI 3,$4
	IOR 3,$BYTE*$$ONE+4
	PUSH 17,3
	PUSH 17,-1(17)
	PUSHJ 17,fopen
	ADJSP 17,-2
	MOVEM 1,infd
	JRST $2
$3::
	XMOVEI 3,$5
	IOR 3,$BYTE*$$ONE+4
	PUSH 17,3
	PUSH 17,-1(17)
	PUSHJ 17,fopen
	ADJSP 17,-2
	MOVEM 1,infd
$2::
	SETZB 4,done
	MOVEM 4,debug
	MOVEM 4,specia
	MOVEM 4,vswitc
	MOVEM 4,diagsw
	PUSHJ 17,i10ini
	PUSH 17,[1]
	PUSHJ 17,PCdriv
	ADJSP 17,-1
	PUSHJ 17,i10clo
	PUSH 17,pcount
	PUSHJ 17,Report
	ADJSP 17,-1
	SKIPE 4,diagsw
	 JRST $6
	PUSH 17,infd
	PUSHJ 17,fclose
	ADJSP 17,-1
$6::
	ADJSP 17,-2
	POPJ 17,
$5::
	BYTE	(7) 162,0

$4::
	BYTE	(7) 122,0

$1::
	BYTE	(7) 160,163,72,74,163
	BYTE	(7) 160,157,157,154,76
	BYTE	(7) 146,157,157,142,141
	BYTE	(7) 162,56,151,163,0

i10ini:
	SKIPE 4,vswitc
	 POPJ 17,
	PUSHJ 17,openre
	JUMPN 1,$8
	XMOVEI 3,$9
	IOR 3,$BYTE*$$ONE+4
	PUSH 17,3
	PUSHJ 17,die
	ADJSP 17,-1
$8::
	MOVEI 3,1
	MOVEM 3,HasOpe
	POPJ 17,
$9::
	BYTE	(7) 103,141,156,47,164
	BYTE	(7) 40,157,160,145,156
	BYTE	(7) 40,103,141,156,157
	BYTE	(7) 156,40,154,151,156
	BYTE	(7) 145,12,0

i10clo:
	SKIPE 4,HasOpe
	 PUSHJ 17,closer
	SKIPN 4,Logfil
	 JRST $11
	PUSH 17,logfd
	PUSHJ 17,fclose
	ADJSP 17,-1
$11::
	POPJ 17,
Report:
	JRST Repacc

	$$DATA
state:	10
nstate:	10
icnt:	0
height:	0
width:	0

	$$CODE
PHobyt:
	MOVNI 3,2
	MOVE 10,-1(17)
	MOVEM 3,0(10)
	SKIPE 11,done
	 SKIPA 1,[404]
	 TRNA 
	 POPJ 17,
	ADJSP 17,1
	MOVEI 12,1
	MOVEM 12,0(10)
	SKIPN 7,diagsw
	 JRST $14
	SOSL 5,ndiagb
	 JRST $15
	MOVEI 6,400
	MOVEM 6,0(17)
	MOVEM 12,done
	JRST $13
$15::
	MOVE 4,testb
	CAIE 4,377
	 JRST $17
	SETZB 3,testb
	JRST $16
$17::
	AOS 3,testb
$16::
	MOVE 4,testb
	MOVEM 4,0(17)
	JRST $13
$14::
	MOVE 5,infd
	SOSGE 3,0(5)
	 JRST $18
	MOVE 7,infd
	IBP 1(7)
	MOVE 10,infd
	LDB 1,1(10)
	JRST $19
$18::
	PUSH 17,infd
	PUSHJ 17,.filbu
	ADJSP 17,-1
$19::
	MOVEM 1,0(17)
$13::
	SKIPLE 4,state
	 CAIL 4,12
	 JRST $20
	JRST @$30*$$ONE-1(4)
$30::
	IFIW $21
	IFIW $23
	IFIW $24
	IFIW $25
	IFIW $26
	IFIW $27
	IFIW $28
	IFIW $29
	IFIW $22
$21::
	SOSE 5,icnt
	 JRST $20
	MOVE 4,nstate
	MOVEM 4,state
	JRST $20
$22::
	MOVE 4,0(17)
	CAIE 4,202
	 JRST $20
	MOVEI 3,10
	MOVEM 3,state
	JRST $20
$23::
	MOVE 4,0(17)
	MOVEM 4,width
	MOVEI 5,1
	MOVEM 5,icnt
	MOVEM 5,state
	MOVEI 3,3
	MOVEM 3,nstate
	JRST $20
$24::
	MOVE 4,0(17)
	MOVEM 4,height
	MOVE 5,width
	ADDI 5,7
	IDIVI 5,10
	MOVEM 5,width
	IMUL 5,4
	ADDI 5,1
	MOVEM 5,icnt
	MOVEI 3,1
	MOVEM 3,state
	MOVEI 6,10
	MOVEM 6,nstate
	JRST $20
$25::
	MOVE 4,0(17)
	ASH 4,10
	MOVEM 4,width
	MOVEI 3,5
	MOVEM 3,state
	JRST $20
$26::
	MOVE 4,0(17)
	ADDB 4,width
	MOVEI 3,2
	MOVEM 3,icnt
	MOVEI 5,1
	MOVEM 5,state
	MOVEI 6,6
	MOVEM 6,nstate
	JRST $20
$27::
	MOVE 4,0(17)
	ASH 4,10
	MOVEM 4,height
	MOVEI 3,7
	MOVEM 3,state
	JRST $20
$28::
	MOVE 4,0(17)
	ADDB 4,height
	MOVE 5,width
	ADDI 5,7
	IDIVI 5,10
	MOVEM 5,width
	IMUL 5,4
	ADDI 5,2
	MOVEM 5,icnt
	MOVEI 3,1
	MOVEM 3,state
	MOVEI 6,10
	MOVEM 6,nstate
	JRST $20
$29::
	MOVE 4,0(17)
	MOVM 5,4
	IDIVI 5,23
	CAME 4,$45(6)
	 JRST $20
	JRST @$46(6)
$45::
	 321
	 322
	 300
	 301
	 -1
	 303
	 304
	 -1
	 306
	 307
	 333
	 311
	 312
	 -1
	 -1
	 -1
	 202
	 317
	 320
$46::
	IFIW $35
	IFIW $34
	IFIW $40
	IFIW $41
	IFIW $20
	IFIW $32
	IFIW $33
	IFIW $20
	IFIW $42
	IFIW $43
	IFIW $44
	IFIW $37
	IFIW $38
	IFIW $20
	IFIW $20
	IFIW $20
	IFIW $31
	IFIW $39
	IFIW $36
$31::
	MOVEI 3,11
	MOVEM 3,state
	JRST $20
$32::
	MOVEI 3,2
	MOVEM 3,icnt
	MOVEI 4,1
	MOVEM 4,state
	JRST $20
$33::
	MOVEI 3,2
	MOVEM 3,icnt
	MOVEI 4,1
	MOVEM 4,state
	JRST $20
$34::
	MOVEI 3,2
	MOVEM 3,icnt
	MOVEI 4,1
	MOVEM 4,state
	JRST $20
$35::
	MOVEI 3,2
	MOVEM 3,icnt
	MOVEI 4,1
	MOVEM 4,state
	JRST $20
$36::
	MOVEI 3,2
	MOVEM 3,icnt
	MOVEI 4,1
	MOVEM 4,state
	JRST $20
$37::
	MOVEI 3,2
	MOVEM 3,icnt
	MOVEI 4,1
	MOVEM 4,state
	JRST $20
$38::
	MOVEI 4,1
	MOVEM 4,icnt
	MOVEM 4,state
	JRST $20
$39::
	MOVEI 4,1
	MOVEM 4,icnt
	MOVEM 4,state
	JRST $20
$40::
	MOVEI 3,3
	MOVEM 3,icnt
	MOVEI 4,1
	MOVEM 4,state
	JRST $20
$41::
	MOVEI 3,6
	MOVEM 3,icnt
	MOVEI 4,1
	MOVEM 4,state
	JRST $20
$42::
	MOVEI 3,3
	MOVEM 3,icnt
	MOVEI 4,1
	MOVEM 4,state
	MOVEI 5,2
	MOVEM 5,nstate
	JRST $20
$43::
	MOVEI 5,4
	MOVEM 5,icnt
	MOVEI 4,1
	MOVEM 4,state
	MOVEM 5,nstate
	JRST $20
$44::
	AOS 3,pcount
$20::
	MOVE 4,0(17)
	AOJN 4,$48
	SKIPE 5,diagsw
	 JRST $48
	MOVEI 3,1
	MOVEM 3,done
	MOVEI 1,400
	ADJSP 17,-1
	POPJ 17,
$48::
	POP 17,1
	POPJ 17,

	$$DATA
$49:	0

	$$CODE
PHibyt:
	MOVE 4,-2(17)
	CAMN 4,[-2]
	 SKIPN 5,Logfil
	 JRST $50
	XMOVEI 3,$51
	IOR 3,$BYTE*$$ONE+4
	PUSH 17,3
	PUSH 17,logfd
	PUSHJ 17,fprint
	ADJSP 17,-2
$50::
	MOVE 4,-2(17)
	AOJN 4,$53
	SKIPN 5,$49
	 JRST $55
	MOVE 6,-1(17)
	CAIE 6,400
	 JRST $56
	XMOVEI 3,$57
	IOR 3,$BYTE*$$ONE+4
	PUSH 17,3
	PUSHJ 17,die
	ADJSP 17,-1
	JRST $54
$56::
	SKIPN 4,Logfil
	 JRST $58
	MOVE 6,logfd
	SOSGE 3,0(6)
	 JRST $59
	MOVE 1,-1(17)
	MOVE 11,logfd
	IBP 1(11)
	MOVE 12,logfd
	DPB 1,1(12)
	JRST $58
$59::
	PUSH 17,logfd
	PUSH 17,-2(17)
	PUSHJ 17,fputc
	ADJSP 17,-2
$58::
	POPJ 17,
$55::
	MOVE 4,-1(17)
	CAIN 4,405
	 JRST $62
	CAIN 4,403
	 JRST $61
	CAIE 4,402
	 JRST $63
	SKIPN 5,Logfil
	 JRST $54
	XMOVEI 3,$64
	IOR 3,$BYTE*$$ONE+4
	PUSH 17,3
	PUSH 17,logfd
	PUSHJ 17,fprint
	ADJSP 17,-2
	JRST $54
$61::
	SKIPN 4,Logfil
	 JRST $54
	XMOVEI 3,$65
	IOR 3,$BYTE*$$ONE+4
	PUSH 17,3
	PUSH 17,logfd
	PUSHJ 17,fprint
	ADJSP 17,-2
	JRST $54
$62::
	SKIPN 4,Logfil
	 JRST $54
	XMOVEI 3,$66
	IOR 3,$BYTE*$$ONE+4
	PUSH 17,3
	PUSH 17,logfd
	PUSHJ 17,fprint
	ADJSP 17,-2
	JRST $54
$63::
	SKIPN 4,Logfil
	 JRST $67
	XMOVEI 3,$68
	IOR 3,$BYTE*$$ONE+4
	PUSH 17,3
	PUSH 17,logfd
	PUSHJ 17,fprint
	ADJSP 17,-2
	POPJ 17,
$67::
	POPJ 17,
$54::
	MOVEI 3,1
	MOVEM 3,$49
	POPJ 17,
$53::
	MOVE 5,logfd
	SOSGE 3,0(5)
	 JRST $69
	MOVE 1,-1(17)
	MOVE 10,logfd
	IBP 1(10)
	MOVE 11,logfd
	DPB 1,1(11)
	JRST $52
$69::
	PUSH 17,logfd
	PUSH 17,-2(17)
	PUSHJ 17,fputc
	ADJSP 17,-2
$52::
	POPJ 17,
$68::
	BYTE	(7) 151,142,171,164,145
	BYTE	(7) 72,40,151,156,166
	BYTE	(7) 141,154,151,144,40
	BYTE	(7) 142,171,164,145,40
	BYTE	(7) 157,156,40,145,162
	BYTE	(7) 162,157,162,40,143
	BYTE	(7) 150,141,156,156,145
	BYTE	(7) 154,12,0

$66::
	BYTE	(7) 151,142,171,164,145
	BYTE	(7) 72,40,145,162,162
	BYTE	(7) 157,162,40,160,141
	BYTE	(7) 143,153,145,164,40
	BYTE	(7) 162,145,143,145,151
	BYTE	(7) 166,145,144,40,146
	BYTE	(7) 162,157,155,40,111
	BYTE	(7) 155,141,147,145,156
	BYTE	(7) 55,61,60,72,40
	BYTE	(7) 12,0

$65::
	BYTE	(7) 151,142,171,164,145
	BYTE	(7) 72,40,146,141,164
	BYTE	(7) 141,154,40,145,162
	BYTE	(7) 162,157,162,40,146
	BYTE	(7) 162,157,155,40,120
	BYTE	(7) 103,40,155,157,144
	BYTE	(7) 165,154,145,72,40
	BYTE	(7) 12,0

$64::
	BYTE	(7) 111,155,141,147,145
	BYTE	(7) 156,55,61,60,40
	BYTE	(7) 163,145,145,155,163
	BYTE	(7) 40,164,157,40,142
	BYTE	(7) 145,40,144,145,141
	BYTE	(7) 144,12,0

$57::
	BYTE	(7) 0

$51::
	BYTE	(7) 151,142,171,164,145
	BYTE	(7) 72,40,142,171,164
	BYTE	(7) 145,40,163,145,145
	BYTE	(7) 156,40,157,156,40
	BYTE	(7) 156,165,154,154,40
	BYTE	(7) 143,150,141,156,156
	BYTE	(7) 145,154,12,0

PHack:
	XMOVEI 3,$70
	IOR 3,$BYTE*$$ONE+4
	PUSH 17,3
	XMOVEI 5,.sios*$$ONE+30
	PUSH 17,5
	PUSHJ 17,fprint
	ADJSP 17,-2
	POPJ 17,
$70::
	BYTE	(7) 56,0

PHout:
$71::
	SOSGE 3,-2(17)
	 JRST $72
	LDB 4,-1(17)
	IBP -1(17)
	PUSH 17,4
	PUSHJ 17,putrem
	ADJSP 17,-1
	JRST $71
$72::
	POPJ 17,
PHin:
	ADJSP 17,2
	MOVEI 3,1
	MOVEM 3,0(17)
$73::
	MOVE 4,0(17)
	CAMLE 4,-4(17)
	 JRST $74
	PUSHJ 17,getrem
	ANDI 1,177
	MOVEM 1,-1(17)
	MOVE 6,1
	DPB 6,-3(17)
	IBP -3(17)
	SKIPE 5,debug
	 CAIE 6,134
	 JRST $76
	SKIPN 4,Logfil
	 JRST $77
	PUSH 17,logfd
	PUSHJ 17,fclose
	ADJSP 17,-1
$77::
	XMOVEI 3,$78
	IOR 3,$BYTE*$$ONE+4
	PUSH 17,3
	PUSHJ 17,die
	ADJSP 17,-1
$76::
	MOVE 4,-1(17)
	CAIE 4,12
	 JRST $75
	POP 17,1
	ADJSP 17,-1
	POPJ 17,
$75::
	AOS 3,0(17)
	JRST $73
$74::
	MOVE 1,-4(17)
	ADJSP 17,-2
	POPJ 17,
$78::
	BYTE	(7) 105,170,151,164,40
	BYTE	(7) 162,145,161,165,145
	BYTE	(7) 163,164,145,144,12
	BYTE	(7) 0

PHpeek:
	JRST waitre
PHslee:
	MOVE 4,-1(17)
	IDIVI 4,1750
	PUSH 17,4
	PUSHJ 17,sleep
	ADJSP 17,-1
	POPJ 17,
PHnote:
	SKIPN 4,Logfil
	 JRST $79
	PUSH 17,-12(17)
	PUSH 17,-12(17)
	PUSH 17,-12(17)
	PUSH 17,-12(17)
	PUSH 17,-12(17)
	PUSH 17,-12(17)
	PUSH 17,-12(17)
	PUSH 17,-12(17)
	PUSH 17,-12(17)
	PUSH 17,-12(17)
	PUSH 17,logfd
	PUSHJ 17,fprint
	ADJSP 17,-13
$79::
	POPJ 17,
die:
	PUSH 17,-6(17)
	PUSH 17,-6(17)
	PUSH 17,-6(17)
	PUSH 17,-6(17)
	PUSH 17,-6(17)
	PUSH 17,-6(17)
	XMOVEI 4,.sios*$$ONE+30
	PUSH 17,4
	PUSHJ 17,fprint
	ADJSP 17,-7
	PUSHJ 17,i10clo
	PUSH 17,pcount
	PUSHJ 17,Report
	SETOB 16,0(17)
	PUSHJ 17,exit
	ADJSP 17,-1
	POPJ 17,
PHAttR:
	PUSH 17,[0]
	PUSH 17,-2(17)
	PUSHJ 17,PHnote
	ADJSP 17,-2
	JRST offlin
PHres:
	ADJSP 17,1
	XMOVEI 3,$80
	IOR 3,$BYTE*$$ONE+4
	PUSH 17,3
	PUSHJ 17,PHnote
	ADJSP 17,-1
	MOVEI 3,376
	MOVEM 3,0(17)
$81::
	SOSGE 3,0(17)
	 JRST $82
	PUSH 17,[100]
	PUSHJ 17,putrem
	ADJSP 17,-1
	PUSHJ 17,flurem
	JRST $81
$82::
	ADJSP 17,-1
	POPJ 17,
$80::
	BYTE	(7) 40,122,145,163,145
	BYTE	(7) 164,40,163,145,156
	BYTE	(7) 144,12,0


	$$ONE==1
	EXTERN	$BYTE
	EXTERN	.sios
	EXTERN	fclose
;	EXTERN	fflush
;	EXTERN	fgetc
	EXTERN	fprint
	EXTERN	fputc
;	EXTERN	fputs
;	EXTERN	fread
;	EXTERN	fscanf
;	EXTERN	fseek
;	EXTERN	fwrite
;	EXTERN	printf
;	EXTERN	puts
;	EXTERN	scanf
;	EXTERN	sprint
;	EXTERN	sscanf
;	EXTERN	ungetc
	EXTERN	.filbu
;	EXTERN	ftell
;	EXTERN	fgets
;	EXTERN	gets
	EXTERN	fopen
;	EXTERN	freope
;	EXTERN	sopen
;	EXTERN	.sexit
	INTERN	infd
	INTERN	logfd
	INTERN	done
	INTERN	debug
	INTERN	specia
	INTERN	vswitc
	INTERN	diagsw
	INTERN	pcount
	INTERN	ndiagb
	INTERN	testb
	INTERN	inRawM
	INTERN	HasOpe
	INTERN	Logfil
	EXTERN	bsize
	INTERN	main
	EXTERN	glxini
	INTERN	mainx
	INTERN	i10ini
	EXTERN	PCdriv
	INTERN	i10clo
	INTERN	Report
	EXTERN	openre
	INTERN	die
	EXTERN	closer
	EXTERN	Repacc
	INTERN	state
	INTERN	nstate
	INTERN	icnt
	INTERN	height
	INTERN	width
	INTERN	PHobyt
	INTERN	PHibyt
	INTERN	PHack
	INTERN	PHout
	EXTERN	putrem
	INTERN	PHin
	EXTERN	getrem
	INTERN	PHpeek
	EXTERN	waitre
	INTERN	PHslee
	EXTERN	sleep
	INTERN	PHnote
	EXTERN	exit
	INTERN	PHAttR
	EXTERN	offlin
	INTERN	PHres
	EXTERN	flurem

	LIT
$$STRT:	JRST	$START
	JRST	$START
	END	<2,,$$STRT>