1
0
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:
Lars Brinkhoff
2017-03-02 14:46:36 +01:00
parent 474e42471d
commit 8a346b2b1a

View File

@@ -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