title	ghost	get hosts.txt
.decsave
a==1
b==2
c==3
d==4

p==17

ijfn:	block	1
ojfn:	block	1
pdl:	block	<lpdl==100>
host:	block	1		;host number
string:	block	<strlen==512.>

start:	RESET
	Move	p, [-lpdl,,pdl-1]

	Movei	a, .GTHSN
	Hrroi	b, [asciz 'SRI-NIC']
	GTHST
	 ercal	lose
	Movem	c, host

	hrroi	a, string
	hrroi	b, [asciz 'tcp:.']
	setz	c,
	SOUT
	move	b, host
	movei	c, 10
	NOUT
	 trn
	hrroi	b, [asciz /-101;CONN:ACT;PERSIST:10;TIMEOUT:10/] ;GET ATRIBUTES
	setz	c,
	SOUT

	movsi	a, (GJ%SHT)
	hrroi	b, string
	GTJFN
	 ercal lose

	Movem	a, ijfn
	Move	b, [100000,,OF%WR+OF%rd]
	OPENF
	 ercal Lose

	Movsi	a, (GJ%SHT+GJ%FOU)
	Hrroi	b, [asciz 'hosts.new']
	GTJFN
	 ercal	lose
	Move	b, [070000,,OF%WR]
	OPENF
	 ercal	Lose
	Movem	a, Ojfn

	Move	a, ijfn
	Hrroi	b, [asciz 'ALL
']
	setz	c,
	SOUTR

loop:	move	a, ijfn
	Hrroi	b, string
	movni	c, 5*strlen-1
	SIN
	 erjmp	eof

	addi	c, 5*strlen-1
	jumpe	c, eof
	movn	c, c
	move	a, ojfn
	hrroi	b, string
	SOUT

	Movei	a, ".
	PBOUT

	jrst	loop

eof:	move	a, ojfn
	CLOSF
	 erjmp	.+1

	move	a, ijfn
	CLOSF
	 erjmp	.+1

	HALTF
	Jrst	.-1

lose:	Movei 1,"?
	PBOUT
	Movei 1,.PRIOU
	Hrloi 2,.FHSLF
	Setz 3,
	ERSTR
	 Trna
	  Trn
	Hrroi 1,[Asciz " at "]
	PSOUT
	Movei 1,.PRIOU
	Hrrz 2,(P)
	Movei 3,8.
	NOUT
	 trn
	HALTF
	jrst .-1

	end	start
