mirror of
https://github.com/PDP-10/its.git
synced 2026-03-24 17:36:15 +00:00
use original symbols
This commit is contained in:
@@ -25,15 +25,13 @@ a=1
|
||||
b=2
|
||||
c=3
|
||||
|
||||
dirchn=4
|
||||
filchn=5
|
||||
jobchn=6
|
||||
diric=4
|
||||
dskic=5
|
||||
usrch=6
|
||||
|
||||
.insrt system; fsdefs
|
||||
dirbsz=2000
|
||||
|
||||
nop=jfcl
|
||||
|
||||
taraka=sixbit /TARAKA/
|
||||
channa=sixbit /CHANNA/
|
||||
rakash=sixbit /RAKASH/
|
||||
@@ -41,60 +39,60 @@ rakash=sixbit /RAKASH/
|
||||
lpdl==:100.
|
||||
.vector pdl(lpdl)
|
||||
|
||||
go: .call [setz ;; login as TARAKA
|
||||
taraka: .call [setz ;; login as TARAKA
|
||||
sixbit/LOGIN/
|
||||
[ taraka ]
|
||||
setzi 0]
|
||||
nop ;; ignore errors logging in
|
||||
jfcl ;; ignore errors logging in
|
||||
.suset [.ssnam,,[channa]] ;; set SNAME to CHANNA
|
||||
;; open CHANNA UDIR
|
||||
.open dirchn, [.bii,,'DSK ? sixbit/.FILE./ ? sixbit /(DIR)/]
|
||||
.open diric, [.bii,,'DSK ? sixbit/.FILE./ ? sixbit /(DIR)/]
|
||||
jsr die
|
||||
.iot dirchn, [-dirbsz,,dirblk] ;; read in UDIR
|
||||
.close dirchn,
|
||||
.iot diric, [-dirbsz,,dirblk] ;; read in UDIR
|
||||
.close diric,
|
||||
move a, dirblk+1 ;; get offset to name area into R1
|
||||
addi a, dirblk ;; convert to address of name area
|
||||
filoop: cail a, [ taraka ] ;; have we reached end of buffer?
|
||||
dr1: cail a, [ taraka ] ;; have we reached end of buffer?
|
||||
jsr die ;; yes, abort
|
||||
move b, ufn1(a) ;; get FN1 into R2
|
||||
camn b, [ rakash ] ;; is FN1 == RAKASH
|
||||
.call [setz ;; yes, open the file
|
||||
sixbit /OPEN/
|
||||
[ .uii,,filchn ]
|
||||
[ .uii,,dskic ]
|
||||
[ sixbit /DSK/ ] ;; DSK: device
|
||||
[ rakash ] ;; FN1
|
||||
ufn2(a) ;; FN2 (from dirblk in R1 + 1)
|
||||
setz [ channa ]]
|
||||
jrst nextfl ;; try next file
|
||||
jrst nxt ;; try next file
|
||||
.call [setz ;; start create daemon job
|
||||
SIXBIT/OPEN/
|
||||
[ .uao,,jobchn ]
|
||||
[ .uao,,usrch ]
|
||||
[ sixbit /USR/ ] ;; USR: device
|
||||
%climm,,0 ;; use uname of TARAKA
|
||||
setz ufn2(a)] ;; use jname of FN2 of daemon
|
||||
jrst nextfl ;; process next file on error
|
||||
.reset jobchn,
|
||||
jrst nxt ;; process next file on error
|
||||
.reset usrch,
|
||||
.call [setz ;; load program into job
|
||||
sixbit/LOAD/
|
||||
%climm,,jobchn ;; specify job channel
|
||||
setzi filchn] ;; specify file channel
|
||||
jrst nextjb ;; on error, clean up job and process next file
|
||||
%climm,,usrch ;; specify job channel
|
||||
setzi dskic] ;; specify file channel
|
||||
jrst nxc ;; on error, clean up job and process next file
|
||||
move b, ufn2(a) ;; get FN2/Job name in R2
|
||||
.uset jobchn, [.ssnam,,b] ;; set SNAME of job
|
||||
.iot filchn, b ;; get starting address?
|
||||
.uset usrch, [.ssnam,,b] ;; set SNAME of job
|
||||
.iot dskic, b ;; get starting address?
|
||||
hrrzs b ;; zero out instruction opcode?
|
||||
.uset jobchn, [.supc,,b] ;; set starting address of new job
|
||||
.uset usrch, [.supc,,b] ;; set starting address of new job
|
||||
.call [setz ;; disown job (doc doesn't seem to match
|
||||
SIXBIT/DISOWN/ ;; this call from sysdoc; _calls 127
|
||||
movei jobchn ;; channel to job
|
||||
movei usrch ;; channel to job
|
||||
movsi 5 ((setz))] ;; control bits
|
||||
.value ;; kill ourselves on error?
|
||||
caia
|
||||
nextjb: .uclose jobchn, ;; kill job
|
||||
nextfl: .close filchn, ;; close file
|
||||
.close jobchn, ;; close job
|
||||
nxc: .uclose usrch, ;; kill job
|
||||
nxt: .close dskic, ;; close file
|
||||
.close usrch, ;; close job
|
||||
addi a, lunblk ;; compute address of next file
|
||||
jrst filoop ;; and loop
|
||||
jrst dr1 ;; and loop
|
||||
|
||||
die: 0
|
||||
.logout
|
||||
@@ -102,4 +100,4 @@ die: 0
|
||||
|
||||
ufd: block 2000
|
||||
|
||||
end go
|
||||
end taraka
|
||||
|
||||
Reference in New Issue
Block a user