BRADDATA867

(George Source)

Macros used: ACROSS, BACKTRAN, BXE, BXGE, DATUMADD, FREECORE, GEOERR, HUNT, INFORM, JENVNOT, LOCKC, MHUNT, MOVLONG, OUTBLOCK, OUTNUM, SEG, SEGENTRY, SETNCORE, TRACE, UNLOCK, UP

BRADDATA867.txt
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