{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: BRADDATA867)}}
====== BRADDATA867 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:BACKTRAN|BACKTRAN]], [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:DATUMADD|DATUMADD]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:HUNT|HUNT]], [[george:macro:INFORM|INFORM]], [[george:macro:JENVNOT|JENVNOT]], [[george:macro:LOCKC|LOCKC]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MOVLONG|MOVLONG]], [[george:macro:OUTBLOCK|OUTBLOCK]], [[george:macro:OUTNUM|OUTNUM]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:TRACE|TRACE]], [[george:macro:UNLOCK|UNLOCK]], [[george:macro:UP|UP]]
22FL ... SEG BRADDATA,860,FRANK BLUNDELL,BRADDATA
22PD ...# (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
22^= #
23DW # ********************************
23YG # *BRADFORD UNIVERSITY SCF SYSTEM*
24D6 # ********************************
24XQ #
25X2 SEGENTRY K1BRADDATA,Q1BRADDATA
26BL SCFMASK #77777600
26W= SCFBIT #00020000
27*W XRR MHUNT 2,BSTB,BREAD
27TG EXIT 1 0
28*6 Q1BRADDATA
28*G ...#SKI G3
28*W ...(
28B# ...#UNS EMUSCF
28CG ...(
28DN ... JENVNOT STAND,MEEP [J IF NOT BMEEP ENVIRONMENT
28FW ... SETNCORE AENDCHAPS-KTAB,3,BSTB,FSTAB
28H4 ... SMO FX1
28J= ... LDN 4 XBRADDATA
28KD ... LDN 5 A1(3)
28LL ... LDN 6 AENDCHAPS-KTAB
28MS ... MOVLONG 4,5,6 [MOVE CHAPTER NOS
28P2 ... ACROSS BRADEMUL,1
28Q8 ...STAND
28QR ...)
28RB ...)
28SQ #
29#B # EVALUATE TOTAL SIZE OF SCF REQUIRED
29S2 #
2=?L LDN 6 0 [NEXT ADDRESS ON SCF
2=R= ... LDN 7 AENDCHAPS-KTAB [NO. OF CHAPS
2?=W ...WAGN LDN 3 AENDCHAPS-KTAB [NO. OF ENTRIES
2?QG SBX 3 7 [POINT TO POSITION
2#=6 SMO FX1
2#PQ LDX 1 XBRADDATA(3)
2*9B BZE 1 WNEXT+1 [IF ZERO END OF CHAP DEFS
2*P2 LDX 5 KTAB(1)
2B8L BPZ 5 NCIN
2BN= SMO 5
2C7W LDX 5 BACK2 [CHAPTER WAS IN CORE
2CMG NCIN SLC 5 11
2D76 ANDN 5 #3774 [LENGTH IN X5
2DLQ BNZ 5 W1
2F6B LDN 5 1024 [MAXIMUM SIZE
2FL2 W1 ADN 5 127
2G5L SMO FX1
2GK= ANDX 5 SCFMASK [ROUND TO BUCKETS
2H4W ADX 6 5
2HJG WNEXT BCT 7 WAGN
2J46 STO 6 ACOMMUNE4(2) [TOTAL SIZE REQD
2JHQ #
2K3B # EVALUATE SIZE OF THE SCF GIVEN
2KH2 #
2L2L LDX 1 BINDEX
2LG= ADN 1 6
2L^W LDCH 4 A1(1) [TYPE
2MFG SBN 4 9
2M^6 BZE 4 TDRM [DRUM
2NDQ SBN 4 16
2NYB BNZ 4 WXCT [DRUM
2PD2 LDX 5 A1+2(1)
2PXL SLL 5 7
2QC= BRN WSIZ
2QWW WXCT LDN 5 0
2RBG LDX 4 A1+3(1) [NO. OF CYL
2RW6 WADD ADX 5 A1+4(1)
2S*Q BCT 4 WADD
2STB SLL 5 7 [SIZE
2T*2 BRN WSIZ
2TSL TDRM LDX 5 A1+2(1)
2W#= WSIZ STO 5 ACOMMUNE5(2) [SIZE OF FILE
2WRW TRACE 5,SIZEAVAL
2X?G #
2XR6 # START TRANSFERING CHAPTERS
2Y=Q #
2YQB STOZ AWORK2(2) [SCF START ADDRESS
2^=2 ... LDN 7 AENDCHAPS-KTAB [NO. OF ENTRIES
2^PL ...XAGN LDN 3 AENDCHAPS-KTAB [NO. OF ENTRIES
329= SBX 3 7 [POINTER TO POSITION IN TABLE
32NW SMO FX1
338G LDX 1 XBRADDATA(3) [DATA WORD FOR CHAPTER
33N6 BZE 1 YFAL [THATS ALL NO CHAPS LEFT
347Q STO 1 AWORK1(2) [CHAPTER NUMBER
34MB LDX 5 KTAB(1) [CHAP WORD
3572 BPZ 5 MCIN
35LL SMO 5
366= LDX 5 BACK2 [CHAPTER WAS IN CORE
36?D ...MCIN SLC 5 10 [ SCFBIT IN B0
36DL ... BPZ 5 NTYT
36KS ... BCT 7 XAGN
36R2 ... BRN YFAL
36Y8 ...NTYT SLC 5 1
375G ANDN 5 #3774
37K6 BNZ 5 XW1
384Q LDN 5 1024
38JB XW1 STO 5 ACOMMUNE1(2) [STORE SIZE OF TRANSFER
3942 ADN 5 127
39HL SMO FX1
3=3= ANDX 5 SCFMASK [ROUND TO BUCKETS
3=GW LDX 0 AWORK2(2) [SIZE OF SCF USED SO FAR
3?2G STO 0 AWORK4(2) [DA ADDRESS SCF
3?G6 STO 0 ACOMMUNE3(2) [DA ADDRESS SCF FOR TRANSFER
3?^Q ADX 0 5 [ADD THIS CHAP SIZE
3#FB BXE 0 ACOMMUNE5(2),SJF [JUST ROOM
3#^2 BXGE 0 ACOMMUNE5(2),YFAL[NO ROOM
3*DL SJF ADS 5 AWORK2(2) [INCREMENT POSITION IN SCF
3*Y= SMO FX1
3BCW LDX 3 XBRADDATA(3) [DATA WORD
3BXG LDX 1 KTAB(3) [DA OR CORE ADDRESS
3CC6 BPZ 1 XBACK [JUMP AS ON BACKING STORE
3CWQ LDX 1 BACK2(1) [DA ADDRESS
3DBB ...XBACK SLL 1 11 [ REMOVE BITS 0-10 INCLUSIVE
3DW2 ... SRL 1 4 [ = DA ADDR * 128
3F*L STO 1 ACOMMUNE2(2) [DA ADDRESS
3FT= STO 1 AWORK3(2) [DA ADDRESS ICF
3G#W TRACE 3,CHAPOVER
3GSG STO 7 ACOMMUNE6(2) [SAVE LOOP COUNT
3H#6 #
3HRQ # DO READ(S) AND WRITE(S)
3J?B #
3JR2 # ACOMMUNE1 = SIZE OF CHAPTR
3K=L # ACOMMUNE2 = ICF ADDRESS
3KQ= # ACOMMUNE3 = SCF ADDRESS
3L9W #
3LPG XTRAN SETNCORE 1024,3,BSTB,BREAD[GET A BLOCK TO READ AND WRITE
3M96 RPTZ LOCKC 3,XRR [LOCK IT DOWN IN LONG LOCK
3MDY ... MHUNT 3,BSTB,BREAD
3MNQ LDX 2 FX2
3N8B LDX 5 ACOMMUNE2(2) [D ADDRESS
3NN2 LDX 6 ACOMMUNE1(2) [SIZE OF TRANSFER
3P7L DATUMADD 5,BINDEX,6 [DTUMISE TO EXEC INFO
3PM= BNZ 2 TRANOK
3Q6W BNZ 1 TRANOK
3QLG GEOERR 1,SPLITF11 [INVALID TRANSFER
3R66 TRANOK
3RKQ LDX 5 2 [KEEP SIZE
3S5B LDX 2 FX2
3SK2 BNZ 5 SAB [NOT ALL OF TRAN
3T4L LDX 5 ACOMMUNE1(2) [SET SIZE AS ALL
3TJ= SAB SBS 5 ACOMMUNE1(2) [NE SIZE FOR NEXT TRANSFR
3W3W ADS 5 ACOMMUNE2(2) [NEW GR ADDRESS
3WHG LDN 6 1 [BSUN FOR GR
3X36 LDN 4 0 [MODE IS READ
3XGQ ADN 3 A1 [X3 ABSOLUTE TRANSFR ADDRESS
3Y2B BACKTRAN EX4,BSET+BONL,EX5,,EX6,1,3[READ
3YG2 LDCT 4 #150
3Y^L ANDX 4 ACOMMUNE9(2) [REPLY WORD
3^F= BZE 4 REPOKA
3^LD LDCT 7 #010
3^RL ANDX 7 4
3^YS BNZ 7 NOPICF
4262 GEOERR 1,ICF-FAIL
42?8 NOPICF GEOERR 1,ICF-INOP
42DG REPOKA
43XB #
44C2 # CHANGE CHECKSUMM FOR NEW DA ADDRESS
44WL #
45B= LDX 7 ACOMMUNE1(2) [SIZE LEFT TO TRANSFER
45TW BNZ 7 XNSCY [NOT END OF CHAPTER YET
465N ... SBN 3 1
46*G LDX 7 AWORK3(2) [ICF DA ADDRESS
46T6 SMO 5
47#Q ... SBS 7 0(3) [REDUCE LAST WORD IN CHAPTER
47CW ... SMO AWORK1(2)
47H2 ... LDX 4 KTAB
47L6 ... BPZ 4 NIC [J IF NOT IN CORE
47P= ... LDXC 1 4 [CLEAR B0
47SB ... BCS £ [FORGET CARRY
47TY ... ADX 1 ALOGLEN(1)
47XG ... ADN 1 A1-1 [ELSE UPDATE CHECKSUM
485Q ... SBS 7 0(1) [SUBTRACT OLD DA ADDRESS
488W ...NIC LDX 7 AWORK4(2) [SCF DA ADDRESS
48#2 SMO 5
48RL ... ADS 7 0(3) [FORM CORRECT CHECKSUMM WITH LUCK
48^W ... BPZ 4 XNIC [J IF NOT IN CORE
49BB ... ADS 7 0(1)
49JL ...XNIC ADN 3 1
49QW XNSCY LDX 7 BINDEX
4==G ADN 7 6 [MOVER POINTER TO SECOND AREA IN CCTABLE
4=Q6 LDX 4 ACOMMUNE3(2) [SPLIT RESIDENCE ADDRESS
4?9Q DATUMADD 4,7,5 [DTUMISE TO EXEC INFO
4?PB BNZ 2 TRANOKA
4#92 BNZ 1 TRANOKA
4#NL GEOERR 1,SPLITF13 [INVALID TRANSFER
4*8= TRANOKA
4*MW LDX 7 2
4B7G LDX 2 FX2
4BM6 BNZ 7 SAA [NOT ALL OF TRAN
4C6Q LDX 7 5 [SET SIZE AS ALL
4CLB SAA ADS 7 ACOMMUNE3(2) [UPDTE SPLIT ADDRESS BY TRAN SIZE
4D62 LDX 6 BRADSPLTBSU [BSUN FOR SPLIT
4DKL LDN 4 1 [MODE IS WRIT
4F5= BACKTRAN EX4,BSET+BONL,EX7,,EX6,1,3[WRITE
4FJW LDCT 4 #150
4G4G ANDX 4 ACOMMUNE9(2) [REPLY WORD
4GJ6 BZE 4 REPOKB
4GP# LDCT 7 #010
4GWG ANDX 7 4
4H3N BNZ 7 SCFI
4H8W GEOERR 1,SCF-FAIL
4HB4 SCFI GEOERR 1,SCF-INOP
4HHB REPOKB
4J32 ADX 3 7 [INCREMENT COR ADDRESS
4JGL SBX 5 7 [SUBTRCT SIZE WRITTEN
4K2= BPZ 5 SIZEOK
4KFW GEOERR 1,SPLITF15 [WRITTN TOO MUCH
4K^G SIZEOK
4LF6 ... BNZ 5 XNSCY [MORE TO WRITE OUT
4LYQ HUNT 3,BSTB,BWRITE [GET BLOCK ADDRESS
4MDB BPZ 3 OKFIND
4MY2 HUNT 3,BSTB,BREAD
4NCL BPZ 3 OKFIND
4NX= GEOERR 1,SPLITF16
4PBW OKFIND
4PWG UNLOCK 3
4QB6 LDX 5 ACOMMUNE1(2) [SIZE LEFT TO TRANSFR
4QTQ BPZ 5 TRSZ
4R*B GEOERR 1,SPLITF17
4RT2 TRSZ BNZ 5 RPTZ [REPEAT FOR THE RST OF CHAPTER
4S#L FREECORE 3
4SS= #
4T?W # NOW UPDATE THE CHAPTER TABLE IN CORE TO
4TRG # SHOW CHAPTER ON THE SCF
4W?6 #
4WQQ # CHAPTERS ARE MARKED AS SCF BY SETTING BIT 10
4X=B #
4XQ2 XMARK LDX 3 AWORK1(2) [CHAPTER NUMBER
4Y9L LDX 6 AWORK4(2) [NEW DA ADDRESS ON THE SCF
4YP= SRL 6 7
4^8W SMO FX1
4^NG ADX 6 SCFBIT [SET BIT SAYING ON SCF
5286 LDX 1 KTAB(3) [DA OR CORE ADDRESS
52=4 ... BPZ 1 TBACK [JIF IN CORE
52#2 ... LDX 1 BACK2(1) [ELS GET KTAB ENTRY FROM CHAPTER BLOCK
52*Y ...TBACK LDCT 0 #777
52CW ... ORX 0 BIT9 [MASK FOR BITS 0-9 INCLUSIVE
52FS ... ANDX 0 1 [REMOVE OLD DA ADDRESS
52HQ ... ADX 0 6 [ ADD IN NEW DA ADDRESS + SCFBIT
52KN ... LDX 1 KTAB(3) [NOW DECIDE WHERE TO PUT IT
52MQ BPZ 1 YBACK [JUMP AS ON BACKING STORE
537B ... STO 0 BACK2(1) [MARK AS ON SPLIT
53M2 BRN YNEXT
546L ...YBACK STO 0 KTAB(3) [MARK AS ON SPLIT
54L= YNEXT LDX 7 ACOMMUNE6(2)
555W BCT 7 XAGN [BACK FOR NEXT CHAPTER
55KG YFAL LDN 7 10 [BLOCK SIZE
5656 OUTBLOCK 7 [GET A BLOCK
56JQ OUTNUM ACOMMUNE5(2),0 [SCF FILE SIZE
574B OUTNUM ACOMMUNE4(2),0 [SCF CHAPS SIZE
57J2 INFORM 1,BRADSPT2,1
57JT ...#SKI G4
57KN ...(
57LH ... LDX 0 GIVE6REP [PROCESSOR TYPE
57MB ... SBN 0 21
57N9 ... BZE 0 PROC [J IF 1904A
57P4 ... SBN 0 4
57PX ... BZE 0 PROC [J IF 1904S
57QQ ... SBN 0 4
57RK ... BNZ 0 NPROC [J IF NOT 1903T
57SD ...PROC LDX 1 BINDEX [PTR TO BSTB CCTABLE
57T? ... LDCH 0 A1+6(1)
57W6 ... SBN 0 25
57W^ ... BNZ 0 NPROC [J IF NOT ON HSD
57XS ... LDN 0 A1B-A1
57YM ... STO 0 BSTSPROC
57^G ...NPROC
582* ...)
583L UP [THATS ALL
58H= #
592W # DEFINE AN AREA OF 1 WORD PER CHAPTER
59GG #
5=26 ... SEGENTRY K96BRADDATA
5=FQ XBRADDATA
5=^B #DEF 19?+1=1?
5?F2 #LIS -1
5?YL ...#REP 1023-0?
5#D= +0
5#XW SEGENTRY K97BRADDATA
5*CG #LIS 19?+1]
5*X6 #
5BBQ ...# THE REMAINDER OF THE CHAPTER HAS BEEN
5BWB ...# RESERVED FOR CHAPTERS FOR THE SCF
5CTL #
5D*= #END
^^^^ ...70045332000100000000