File: CCLDRV.LS of Disk: V50/Source/Source-Listing-MAC-1
(Source file text)
/OVRDRV - OVERLAY DRIVER FOR CCL MACREL-V2C TUE 02-JUN-92 PAGE 1 FILE # 1 1 /OVRDRV - OVERLAY DRIVER FOR CCL V50 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10 / 11 /COPYRIGHT (C) 1977,1978 BY DIGITAL EQUIPMENT CORPORATION 12 / 13 / 14 / 15 / 16 / 17 / 18 / 19 / 20 / 21 / 22 /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE 23 /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT 24 /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY 25 /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. 26 / 27 /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER 28 /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED 29 /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH 30 /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. 31 / 32 /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE 33 /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY 34 /DIGITAL. 35 / 36 / 37 / 38 / 39 / 40 / 41 / 42 / 43 / 44 / /OVRDRV - OVERLAY DRIVER FOR CCL MACREL-V2C TUE 02-JUN-92 PAGE 2 FILE # 1 45 46 47 48 /OVERLAY DRIVER 49 /FOR LINKER PROGRAM MODULES 50 /VERSION=V5A 51 52 53 /THIS SECT IS TWO LOCATIONS AND CONTAINS THE TRANSFER VECTOR TO SWAPER 54 /AND A FLAG THAT INDICATES WHETHER A JMP (1) OR JMS (0) WAS PERFORMED 55 /TO THE TRANSFER VECTOR 56 57 / .SECT XFERV,Z 58 / 0 /FLAG, 1=JMP, 0=JMS 59 / SWAPER /TRANSFER VECTOR TO SWAP ROUTINE 60 163 164 /THIS IS THE MAIN DRIVER SECTION 165 166 0000 .SECT SWAPER,R 167 .GLOBAL SWPTAB,TRANVC 168 169 / .ZTERNAL XFERV 170 0001 FIELD 1 171 172 10000 6401 SWAP, 6401 /VERSION NUMBER 173 10001 3365 DCA AC /SAVE CALLING AC 174 10002 7004 RAL 175 10003 3366 DCA LINK /AND LINK 176 10004 6214 RDF /GET CALLING DF 177 10005 1377 TAD (CDF /FORM CDF 178 10006 5346 SWAP0, JMP ONCE /DO ONCE ONLY CODE - REPLACED BY DCA EXIT 179 10007 6201 * CDF . /CHANGE TO THIS DATA FIELD 180 10010 1600 TAD I SWAP /GET OVERLAY,LEVEL,FIELD 181 10011 3360 DCA BINDAT /SAVE 182 10012 2200 ISZ SWAP /BUMP POINTER 183 10013 1600 S1600, TAD I SWAP /GET SUBROUTINE ADDRESS 184 10014 3361 DCA XITLOC /SAVE 185 10015 1360 TAD BINDAT /FORM CDF TO CALLED SUBROUTINE 186 10016 0376 AND (7 187 10017 7104 RAL CLL 188 10020 7006 RTL 189 10021 1377 TAD (CDF 190 10022 3331 DCA SWAP1A /SAVE 191 10023 1331 TAD SWAP1A /FORM CIF TO CALLED SUBROUTINE 192 10024 7001 IAC 193 10025 3344 DCA EXIT+1 /SAVE FOR EXIT /OVRDRV - OVERLAY DRIVER FOR CCL MACREL-V2C TUE 02-JUN-92 PAGE 4 FILE # 1 194 195 196 /LOAD OVERLAY OF CALLED SUBROUTINE 197 198 10026 1360 LOAD, TAD BINDAT 199 10027 0213 AND S1600 /EXTRACT LEVEL OF CALLED SUBROUTINE 200 10030 7002 BSW 201 10031 7104 CLL RAL /5 RIGHT 202 10032 3362 DCA PNTR /SAVE 203 10033 1362 TAD PNTR 204 10034 1375 TAD (SWPTAB /COMPUTE ENTRY INTO SWAP TABLE 205 10035 3357 DCA PFLD /POINTS TO FIELD OF OVERLAY 206 10036 1362 TAD PNTR /COMPUTE ENTRY INTO CURRENT OVERLAY TABLE 207 10037 7112 RTR CLL 208 10040 1374 TAD (CURTAB 209 10041 3362 DCA PNTR 210 10042 1360 TAD BINDAT /EXTRACT DESIRED OVERLAY NUMBER 211 10043 0373 AND (171 /REALLY 170 BUT 171=-7607 212 10044 7110 RAR CLL /THROW AWAY LEAST SIGNIFICANT 213 10045 7112 RTR CLL /RIGHT 3 214 10046 7041 CIA /NEGATE 215 10047 3363 DCA TEMP 216 10050 1363 TAD TEMP 217 10051 1762 TAD I PNTR /COMPARE WITH CURRENT OVERLAY NUMBER FOR LEVEL 218 10052 7650 SNA CLA /SAME? 219 10053 5322 JMP SWAP1 /YES, NO READING NEEDED 220 10054 1363 LOAD1, TAD TEMP /NO, SET TO NEW 221 10055 7041 CIA 222 10056 3762 DCA I PNTR /OVERLAY NUMBER 223 10057 1757 TAD I PFLD 224 10060 3360 DCA BINDAT /SAVE FIELD OF OVERLAY 225 10061 2357 ISZ PFLD /POINT AT ADDRESS 226 10062 1757 TAD I PFLD 227 10063 3317 DCA REDADD /SAVE IN CALL LOCATION 228 10064 2357 ISZ PFLD /POINT AT RELATIVE BLOCK # 229 10065 1757 TAD I PFLD 230 10066 3320 DCA REDBLK /SAVE TEMPORARILY 231 10067 2357 ISZ PFLD /POINT AT OVERLAY LENGTH 232 10070 1363 TAD TEMP /TEST OVERLAY NUMBER 233 10071 7650 SNA CLA /0? 234 10072 5302 JMP LOAD2 /YES, NO MULTIPLICATION NEEDED 235 10073 1757 TAD I PFLD /BLOCK NUMBER = (LENGTH OF OVERLAY) 236 10074 7001 IAC /TIMES (THE NUMBER OF THE OVERLAY) 237 10075 7110 CLL RAR /CONVERT PAGES TO BLOCKS 238 10076 3316 DCA REDCNT /SAVE FOR MULTIPLY 239 10077 1316 TAD REDCNT /MULTIPLY BLOCK LENGTH 240 10100 2363 ISZ TEMP /BY OVERLAY NUMBER 241 10101 5277 JMP .-2 /OVRDRV - OVERLAY DRIVER FOR CCL MACREL-V2C TUE 02-JUN-92 PAGE 5 FILE # 1 242 243 244 10102 1320 LOAD2, TAD REDBLK /PLUS (RELATIVE BLOCK OF LEVEL) 245 10103 1346 TAD STRBLK /PLUS (STARTING BLOCK OF PROGRAM) 246 10104 3320 DCA REDBLK /SAVE IN CALL LOCATION 247 10105 1360 TAD BINDAT /GET FIELD 248 10106 0376 AND (7 /MASK 249 10107 7112 CLL RTR 250 10110 7012 RTR /POSITION 251 10111 1757 TAD I PFLD /GET LENGTH AGAIN 252 10112 7002 BSW 253 10113 3316 DCA REDCNT /FORM CONTROL WORD 254 10114 6202 CIF 0 255 10115 4764 JMS I RESHAN /CALL RESIDENT HANDLER TO READ IN OVERLAY 256 10116 7756 REDCNT, 7756 /FUNCTION CONTROL WORD (POINTS TO MREAD-1 FOR "ONCE" 257 10117 7747 REDADD, 7747 /BUFFER ADDRESS (POINTS TO SOFSET FOR "ONCE" 258 10120 0000 REDBLK, 0 /STARTING BLOCK NUMBER 259 10121 7402 HLT /ERROR RETURN ADDRESS 260 261 10122 1070 SWAP1, TAD XFERV /GET JMP-JMS FLAG 262 10123 7640 SZA CLA /SET? 263 10124 5337 JMP SWAP2 /YES, EXECUTE A JMP 264 10125 7346 CLA CLL CMA RTL /-3 265 10126 1200 TAD SWAP /BACK UP TO CALLER'S PC 266 10127 3200 DCA SWAP 267 10130 1600 TAD I SWAP 268 10131 0000 SWAP1A, 0 /CDF TO CALLED SUBROUTINE 269 10132 3761 DCA I XITLOC /SAVE IN CALLED SUBROUTINE 270 10133 2361 ISZ XITLOC /BUMP TRANSFER ADDRESS 271 10134 6201 * CDF . 272 10135 1372 TAD (ISZ XFERV 273 10136 3600 DCA I SWAP /SET BACK UP ENTRY IN XFER VECTOR TABLE 274 10137 3070 SWAP2, DCA XFERV /CLEAR FLAG 275 10140 1366 TAD LINK /RESTORE LINK AND AC 276 10141 7110 RAR CLL 277 10142 1365 TAD AC 278 10143 0000 EXIT, 0 /SET DF TO CALLING FIELD 279 10144 0000 0 /SET IF TO CALLED FIELD 280 10145 5761 JMP I XITLOC /GO TO CALLED SUBROUTINE 281 /OVRDRV - OVERLAY DRIVER FOR CCL MACREL-V2C TUE 02-JUN-92 PAGE 6 FILE # 1 282 283 284 /VARIABLE LOCATIONS 285 /SOME OF THE FOLLOWING LOCATIONS CONTAIN 286 /ONCE ONLY CODE TO SET UP STARTING BLOCK 287 /AND CHECK THAT FILE CAME FROM SYS: 288 0146 * CURTAB=. /CURRENT OVERLAY IN LEVEL TABLE (8 ENTRIES) 289 0146 * STRBLK=. /ENTRY 0 IS USED TO HOLD STARTING BLOCK OF FILE 290 10146 3343 ONCE, DCA EXIT /SAVE CALLING FIELD 291 /ALSO ENTRY 0 292 10147 1346 TAD .-1 /SET UP SO WON'T BE EXECUTED AGAIN 293 /ALSO ENTRY 1 294 10150 3206 DCA SWAP0 295 /ALSO ENTRY 2 296 10151 6201 CDF 0 297 /ALSO ENTRY 3 298 10152 1717 TAD I REDADD /GET STARTING BLOCK FROM "SOFSET" 299 /ALSO ENTRY 4 300 10153 3346 DCA STRBLK /SAVE 301 /ALSO ENTRY 5 302 10154 1716 TAD I REDCNT /GET RESIDENT? ENTRY POINT 303 /ALSO ENTRY 6 304 10155 3364 DCA RESHAN /SAVE 305 /ALSO ENTRY 7 306 10156 1364 TAD RESHAN /CHECK ENTRY IS RESIDENT 307 PFLD, /POINTS TO SWPTAB 308 10157 1373 TAD (-7607 309 BINDAT, /CONTAINS OVERLAY,LEVEL,FIELD OF DESIRED SUBROUTINE 310 10160 7630 SZL CLA /RESIDENT ? 311 XITLOC, /CONTAINS LOCATION TO GO TO IN DESIRED SUBROUTINE 312 10161 5207 JMP SWAP0+1 /YES, OK 313 PNTR, /POINTS INTO CURTAB 314 10162 7402 HLT /NO, ERROR 315 TEMP, /TEMP STORAGE 316 10163 5362 JMP .-1 /DON'T ALLOW CONTINUE 317 318 10164 7607 RESHAN, 7607 /OR SOME OTHER RESIDENT ENTRY POINT 319 10165 0000 AC, 0 /SAVED AC 320 10166 0000 LINK, 0 /SAVED LINK 321 ------ 10172 2070 10173 0171 10174 0146 + 10175 0200 + 10176 0007 10177 6201 322 0200 PAGE /OVRDRV - OVERLAY DRIVER FOR CCL MACREL-V2C TUE 02-JUN-92 PAGE 7 FILE # 1 323 324 325 326 /THIS AREA CONTAINS OVERLAY DATA FOR MAIN AND THE 7 LEVELS 327 /THE FORMAT OF EACH ENTRY IS: 328 /WORD1: FIELD OF LEVEL 329 /WORD2: ADDRESS OF LEVEL 330 /WORD3: RELATIVE BLOCK OF 1ST OVERLAY IN LEVEL 331 /WORD4: LENGTH OF THE LEVEL (ANY AND ALL OVERLAYS-EACH) 332 / (ALL OVERLAYS IN A LEVEL ARE THE SAME LENGTH) 333 334 SWPTAB, 335 336 0240 *.+40 337 338 /THIS AREA CONTAINS THE TRANSFER VECTORS FOR EACH ENTRY POINT 339 /IN ALL THE OVERLAYS IN ALL THE LEVELS 340 /ITS SIZE SHOULD BE MODIFIED BY THE USER 341 /TO FIT THE MAXIMUM NUMBER OF TRANSFER VECTORS NEEDED 342 /EACH TRANSFER VECTOR OCCUPIES 4 LOCATIONS 343 /THE TABLE IS INITIALLY SET UP FOR 24(DEC) (30(OCT)) VECTORS 344 /THE MAXIMUM SIZE THIS TABLE CAN BE IS 3774 (OCT) LOCATIONS FOR 345 /511 (DEC) (777 (OCT)) VECTORS 346 /THE FORMAT OF EACH VECTOR ENTRY IS: 347 /WORD1: ISZ XFERV 348 /WORD2: JMS I XFERV+1 349 /WORD3: LEVEL/OVERLAY/FIELD 350 /WORD4: ADDRESS 351 352 TRANVC, 353 354 0070 SIZE=56. /MODIFY THIS LINE TO CHANGE THE SIZE OF THE TABLE 355 /SET FOR 24(DEC) 356 357 0600 *SIZE^4+. 358 359 /OVRDRV - OVERLAY DRIVER FOR CCL MACREL-V2C TUE 02-JUN-92 PAGE 8 FILE # 1 360 361 /OVRDRV - OVERLAY DRIVER FOR CCL MACREL-V2C TUE 02-JUN-92 PAGE 9 SYMBOL TABLE AC 0165+ SWAPER MMISC 7777 USR 0200 AMFLAG 0017 MOFILE 7600 XFERV G 0070 BATBUF 4400 MONLOD 7605 XITLOC 0161+ SWAPER BATCCL 7777 MONSAV 7600 XR 0016 BATERR 7000 MPARAM 7643 XR2 0015 BATIN 5400 MREAD 7757 BATOUT 7400 MSOVL2 0055 BATSPL 7200 NAME1 0023 BATTBL 6600 NAME2 0024 BATVFY 5600 NAME3 0025 BEGLN 1000 NAME4 0026 BFR 3000 NAME5 0027 BINDAT 0160+ SWAPER NMBASE 0037 CCLBLK 0067 ONCE 0146+ SWAPER CCLDEV 0001 OS78BI 7771 CCLHND 0000 OV 1375 CCLINC 0054 PFLD 0157+ SWAPER CCLNUM 0265 PNTR 0162+ SWAPER CCLSW 0435 PRMES 0330 CCLTAB 0265 PRQMRK 1357 CCLVER 0301 PTR 0036 CLXR 0035 REDADD 0117+ SWAPER CTRLCK 1241 REDBLK 0120+ SWAPER CURTAB 0146+ SWAPER REDCNT 0116+ SWAPER DEASAD 0427 REMBLO 0065 DEF 0022 REMSPA 4000 DEFALT 0033 RESHAN 0164+ SWAPER DELIM 0032 REST 5000 DEV1 0030 SBLOCK 7776 DEV2 0031 SCOPE 7726 DOLFLG 7776 SHNDLR 7607 DVHNDL 7647 SIZE 0070 ERRET 0033 SM8 6254 EXIT 0143+ SWAPER SOFSET 7747 EXTTBL 6600 SPLNUM 7777 FILDMY 0002 STRBLK 0146+ SWAPER FILETB 7000 SWAP 0000+ SWAPER FLD: 0 0200 ASECT SWAPER 0600 RSECT F0STUF 7200 SWAP0 0006+ SWAPER GETCCL 1362 SWAP1 0122+ SWAPER GIOT 6770 SWAP1A 0131+ SWAPER GLINE 1200 SWAP2 0137+ SWAPER HNDLR 4400 SWPTAB G 0200+ SWAPER JSBITS 7746 SWSTBL 7360 KEYMON 0403 SYBLKN 7774 KMNTRY 0400 SYCNT 7775 LINK 0166+ SWAPER SYSTEM 0022 LOAD 0026+ SWAPER S1600 0013+ SWAPER LOAD1 0054+ SWAPER T 0020 LOAD2 0102+ SWAPER TBLTBL 6100 LONGTB 5000 TEMP 0163+ SWAPER LXR 0034 TESBUF 2000 MDATE 7666 TRANVC G 0240+ SWAPER MIFILE 7617 TT 0021