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