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