- Integration with updated sim_card API - Addition of MT (Mag Tape) device - Addition of DSK (Disk) device - Build time simulator test
198 lines
14 KiB
Text
198 lines
14 KiB
Text
1 soap 4000
|
|
1
|
|
1 symbolic optimal assembly prog
|
|
1
|
|
1 for the
|
|
1
|
|
1 ibm 650 model 4
|
|
1
|
|
1 data processing system
|
|
1
|
|
1 librarian
|
|
1
|
|
1 written by Roberto Sancho
|
|
1 March 2020
|
|
1
|
|
0 blr 1000 1000 entry
|
|
0 regh1100 1109 tap header
|
|
0 synzero h0001
|
|
0 synreadc 1950
|
|
0 blr 1951 1967 17wd buffr
|
|
0 regp1977 1986 punch area
|
|
0 blr 1998 1999
|
|
1
|
|
1 check library tape
|
|
1 first record
|
|
1
|
|
1000rwd 8012 read tape
|
|
set 9050 first
|
|
rtn 8012 record
|
|
nts initp jmp if err
|
|
rau 9050 check
|
|
aup 9051 header
|
|
suph0002 record
|
|
aup 9052 if record
|
|
suph0003 not match
|
|
aup 9053 then
|
|
suph0004 jump to
|
|
nzuinitp inittp
|
|
rtn 8012 if not eof
|
|
ntsinitp then initp
|
|
nefinitp r1ok else r1ok
|
|
1 soap tape library
|
|
1 header card
|
|
1 as read with rd1
|
|
h0001 00 0000 0000
|
|
h0002 77 0083 6177
|
|
h0003 00 7369 6279
|
|
h0004 82 7661 6561
|
|
h0005 79 8800 0000
|
|
h0006 00 0000 0000
|
|
h0007 00 0000 9999
|
|
h0008 00 0000 9999
|
|
h0009 00 0000 9999
|
|
h0010 09 9800 0000
|
|
1
|
|
1 library tape first record
|
|
1 does not match expected
|
|
1 create a new lib tape
|
|
1 with expected first recod
|
|
1 (the library header)
|
|
1
|
|
initprwd 8012 wrt header
|
|
set 9050 rec in tap
|
|
ldih0001
|
|
set 9050
|
|
wtn 8012
|
|
ntswhok
|
|
wrhlthlt 0999 9999 hlt if wr err
|
|
whok wtm 8012 write double
|
|
wtm 8012 tape mark
|
|
ntsr1ok wrhlt
|
|
1
|
|
1 read first card and
|
|
1 scan tape lib for routine
|
|
1
|
|
r1ok rwd 8012
|
|
rd1 1999 bb817
|
|
bb817lddh0010 init empty
|
|
stdemflg file flag
|
|
rau set test 1st
|
|
ral 1951 al is rdc loc
|
|
stuemflg file not empry
|
|
slo 9050 cmp with tap loc
|
|
nzepass found no yes
|
|
setblset 9050 trsfr tape
|
|
sib 1951 1998 to cd area
|
|
set set 9050 read tape
|
|
rtn 8012 nts
|
|
nts nts 8001
|
|
nef exit
|
|
nze halt
|
|
slt 0001 reread
|
|
bst 8012 set routine
|
|
halt hlt 0888 9999
|
|
pass rau 8001 bypass
|
|
rtc 8012 nts routine
|
|
exit ralemflg if file not empty
|
|
nze bb817 try next file
|
|
bst 8012 nfnd
|
|
emflg 00 0000 0000 empty file flag
|
|
1
|
|
1 card routine found into
|
|
1 library tape
|
|
1
|
|
foundhlt 0777 9999
|
|
1
|
|
1 card routine not found
|
|
1 add it to library tape
|
|
1
|
|
nfnd set 9050
|
|
ldi 1951
|
|
set 9050
|
|
wtn 8012 wrt crd
|
|
nts wrhlt to tape
|
|
rd1 1998 nfnd
|
|
1998wtm 8012 load card
|
|
wtm 8012 is eof
|
|
ntsr1ok wrhlt
|
|
1
|
|
1 if first card is load card
|
|
1 then willprint list of
|
|
1 routines in tape.
|
|
1 punch routine location
|
|
1 (first record of file)
|
|
1 and number of routine
|
|
1
|
|
i1xxx 00 0001 0000
|
|
pchfm 80 0000 0000 pch format
|
|
1999rwd 8012 rewind tape
|
|
lddzero
|
|
stdp0002
|
|
stdp0003
|
|
stdp0004
|
|
stdp0005
|
|
stdp0006
|
|
stdp0007
|
|
stdp0008
|
|
stdp0009
|
|
raupchfm
|
|
stup0010 set2
|
|
set2 set 9050 read tape
|
|
rtn 8012 1st rec
|
|
ntsrdok2
|
|
nef endf
|
|
nze halt
|
|
slt 0001 reread
|
|
bst 8012 set2 routine
|
|
rdok2ldd 9050 routine
|
|
stdp0001 location
|
|
wr1 1977 skp2 punch
|
|
skp2 rtc 8012 skip routine
|
|
ntsskp2
|
|
nefhalt
|
|
ralp0008 incr
|
|
aloi1xxx routine
|
|
stlp0008 set2 number
|
|
wr1 1977 set2
|
|
endf rwd 8012
|
|
hlt 0000 r1ok
|
|
1
|
|
1 Librarian program adds routines from
|
|
1 cards to library tape so they can be
|
|
1 used with TAP presudo command available
|
|
1 with SOAP-IIA 4000
|
|
1
|
|
1 entry points
|
|
1 1000 input
|
|
1 routine 1 deck card
|
|
1 blank card with HiPunch
|
|
1 (a load card)
|
|
1 routine 2 deck card
|
|
1 blank card with HiPunch
|
|
1 (a load card)
|
|
1 ...
|
|
1 routine n deck card
|
|
1 blank card with HiPunch
|
|
1 (a load card)
|
|
1 blank card with HiPunch
|
|
1 (a second load card)
|
|
1 add routines to library tape
|
|
1 then print list of routines
|
|
1 in library tape
|
|
1 if last repeated load card is
|
|
1 removed, no printout is issued
|
|
1
|
|
1 1998
|
|
1 put a double Tape Mark (end of
|
|
1 file) to close the lib tape
|
|
1
|
|
1 1999
|
|
1 print list of routines
|
|
1 in library tape
|
|
1
|
|
1 stops
|
|
1 0999 write error
|
|
1 0888 read error
|
|
1 0777 routine already in library
|
|
1
|