2021-02-15 21:10:40 -08:00

2412 lines
253 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

1
2 ***************************************************************
3 * 'REGEN' PROGRAM
4 * THIS PROGRAM WILL GENERATE A LISTING AND/OR A PSEUDO-SYMBOLIC
5 * DECK FOR ANY PROGRAM IN THE SDS STANDARD BINARY LANGUAGE
6 * IT IS WRITTEN TO ACCEPT INPUT/OUTPUT ASSIGNMENTS THROUGH
7 * MONARCH
8 * ASSIGN X1=SCRATCH MAG TAPE
9 * ASSIGN SO=SYMBOLIC OUTPUT MEDIUM
10 * ASSIGN LO=LIST OUTPUT MEDIUM
11 * ASSIGN BI=SOURCE MEDIUM FOR REGEN
12 * LOAD 0 GO
13 * SET BPT 1 TO PAUSE BETWEEN LOADING AND EXECUTION
14 * OR BETWEEN PROGRAMS
15 * SET BPT 4 AT ININTIALIZATION TO BYPASS SYMBOLIC OUTPUT
16 * SET BPT 3 AT INITIALIZATION TO BYPASS LIST OUTPUT
17 *
18
19 ***************************************************************
20 * SUBPROGRAMS USED
21 * MTAPE
22 * CDRP
23 * PTYIO
24 * PRINT
25 * POPS USED
26 * NONE
27 * MEMORY REQUIRED
28 * AT LEAST 6K
29 * PROGRAM OCCUPIES 4K
30 * REMAINDER IS DYNAMIC LISTS
31 * TAPES REQUIRED
32 * ONE: X1
33 PAGE
00200 34 RORG 0200
00000200 35 $REGEN EQU $ ROUTINE FOR SYMBOLIC REGENERATION
36 * OF PSEUDO SYMBOLIC DECKS FROM SDS STANDARD BINARY LANGUAGE
00200 0 43 00311 37 BRM ASGNM ASSIGN MEMORY TO LISTS
00201 0 43 00431 38 STRT BRM INIT
00202 0 43 00511 39 PAS1 BRM READBI
00203 0 01 00202 40 BRU $-1 TRY AGAIN ON READ ERROR
00204 0 43 00613 41 PAS1B BRM CKSUM
00205 0 01 00210 42 BRU PAS1C FAIL EXIT
00206 0 43 00657 43 BRM WRTX WRITE ALL LEGAL RECORDS ON X1
00207 0 43 00735 44 BRM READ
00210 0 76 05307 45 PAS1C LDA WDCNT =WORDS IN PHYSICAL RECORD
00211 0 54 05305 46 SUB CNT WORDS IN LOGICAL RECORD
00212 0 35 05307 47 STA WDCNT WORDS LEFT
T 00213 0 72 05412 48 SKA =1*/23
00214 0 01 00217 49 BRU $+3
00215 0 72 05413 50 SKA =-1 SKIP IF ZERO
00216 0 01 00204 51 BRU PAS1B
00217 0 53 05304 52 SKN END HAS END RECORD BEEN HIT
00220 0 01 00202 53 BRU PAS1 NO
54 * PAS1 COMPLETE
00221 0 61 05304 55 MIN END
00222 0 53 05346 56 SKN REFTOP ARE THERE ANY EXTERNAL REFERENCES
00223 0 43 03075 57 PAS2Y BRM FRFOT YES, ARE THERE ANY WITH OPEN TAILS
00224 0 01 00245 58 BRU PAS2X NO
00225 0 43 00706 59 PAS2 BRM BKRDX
00226 0 43 01744 60 BRM READ2
00227 0 01 00225 61 BRU PAS2 FAIL EXIT, NOT DATA
00230 0 01 00233 62 BRU $+3 YES,PROCESS IT
00231 0 43 03103 63 PAS2B BRM NRFOT GET NET OPEN TAIL
00232 0 01 00223 64 BRU PAS2Y THIS RECORD'S DONE DO NEXT
00233 0 76 05303 65 PAS2C LDA C3 GET TAIL
00234 0 14 05414 66 ETR =0337777 GET MODE/ADDRESS ONLY
00235 0 73 05406 67 SKG PROGP2 TOP OF RECORD
00236 0 73 05405 68 SKG PROGP1 BOTTOM OF RECORD -1
00237 0 01 00231 69 BRU PAS2B NOT IN THIS RECORD, MOVE ON
00240 0 43 03260 70 BRM GADR GET ADDRESS POINTED TO
00241 0 35 05303 71 STA C3 SAVE, IT MAY BE IN SAME RECORD
00242 0 43 03146 72 BRM IRFLST INSERT IT ON REFERENCE LIST
00243 0 43 02766 73 BRM DADLST DELET IT FROM ADDRESS LIST
00244 0 01 00233 74 BRU PAS2C CHEDK THIS TAIL
00245 0 43 00674 75 PAS2X BRM RWNDX REWIND SCRATCH
00246 0 61 05306 76 MIN PASS
00247 0 43 03301 77 BRM SORTAD SORT OUT THE ADDRESS LIST
00250 0 43 03417 78 BRM BLKSET AUGMENT BLOCKS TO INCLUDE ALL DEFS
00251 0 43 00717 79 PAS3 BRM RDX READ X1
00252 0 43 00735 80 BRM READ
00253 0 53 05304 81 SKN END DID WE PROCESS THE END RECORD
00254 0 01 00251 82 BRU PAS3 NO
00255 0 43 04210 83 BRM FINISH
00256 0 01 00201 84 BRU STRT
DI 00257 1 06 00000 85 P PROC
I 00260 1 02 00000 86 PRNT NAME
I 00261 1 02 00000 87 PRINT NAME
DE 00262 0 76 05415 88 LDA =P(1)
00263 0 35 04331 89 STA ADRLO
DE 00264 0 76 05415 90 LDA =P(2)
00265 0 35 04332 91 STA CNTLO
00266 0 23 04334 92 EXU CALLLO
00267 0 40 04330 93 SKS FDTLO
94 * END
DI 00270 1 06 00000 95 P PROC
I 00271 1 02 00000 96 TYPE NAME
00272 0 40 21000 97 BRTW
00273 0 01 00272 98 BRU $-1
00274 0 02 42641 99 TYP *0,1,4
DE 00275 0 13 05415 100 POT =P(2)*/14+P(1)
101 * END
DI 00276 1 06 00000 102 P PROC
I 00277 1 02 00000 103 JAT NAME 0
I 00300 1 02 00001 104 JAF NAME 1
00301 0 53 05332 105 SKN ANS
DEI 00302 1 11 00257 106 DO P(0)
00303 0 01 00305 107 BRU $+2
DE 00304 0 01 00257 108 BRU P(1)
109 * END
DI 00305 1 06 00000 110 P PROC
I 00306 1 02 00000 111 OCT NAME
DEPR 00307 0 14 05416 112 ETR =-1--(-1*/(3*P(1)))
00310 0 43 04401 113 BRM BINOCT
114 * END
115 * ROUTINE TO ASSIGN MEMORY AND PERIPHERAL DEVICES
00311 0 00 00000 116 ASGNM PZE
00312 0 20 00000 117 NOP BRR ASGNM AFTER EXECUTION
00313 0 36 05310 118 STB BEGMEM
00314 0 76 00001 119 LDA 1 MONARCH BOOT
00315 0 14 05417 120 ETR =037700
00316 0 35 05311 121 STA ENDMEM
* 00317 0 76 00000 122 LDA QSYST X1
00320 0 43 00365 123 BRM CALL
00321 0 16 05420 124 MRG =01000 BINARY MODE
00322 0 35 00704 125 STA EOMX
00323 0 36 00705 126 STB CALLX
00324 0 14 05421 127 ETR =0107 CHANNEL/UNIT
00325 0 16 05422 128 MRG =04014010 FILE PROJECT TEST
00326 0 35 00327 129 STA $+1
00327 0 20 00000 130 NOP
00330 0 43 00351 131 BRM FPTERR X1 IS FILE PROTECTED
* 00331 0 76 00000 132 LDA QSYSU SO
00332 0 43 00365 133 BRM CALL
00333 0 35 04325 134 STA EOMSO
00334 0 36 04326 135 STB CALLSO
* 00335 0 76 00000 136 LDA QSYMO LO
00336 0 43 00365 137 BRM CALL
00337 0 35 04333 138 STA EOMLO
00340 0 36 04334 139 STB CALLLO
* 00341 0 76 00000 140 LDA QBINO BO/CHANGE TO BI IF USED AS SYS ROUTIN
00342 0 43 00365 141 BRM CALL
00343 0 16 05420 142 MRG =01000 BINARY MODE
00344 0 36 00612 143 STB CALLBI
00345 0 35 00611 144 STA EOMBI
00346 0 76 00350 145 LDA $+2
00347 0 35 00312 146 STA ASGNM+1
00350 0 51 00311 147 BRR ASGNM
00351 0 00 00000 148 FPTERR PZE
I 00352 5 07 00357 149 TYPE FILEMS,5
00353 0 00 00000 150 HLT
00354 0 60 00351 151 SKR FPTERR
00355 0 20 00000 152 NOP
00356 0 01 40351 153 BRU *FPTERR REDO THE TEST
00357 67011226 154 FILEMS BCD <X1 FILE PROTECTED !>
00360 31432512
00361 47514663
00362 25236325
00363 24121252
00364 12121212
00365 0 00 00000 155 CALL PZE BUILD IO CALL FROM UAT ENTRY IN A
00366 0 66 00022 156 RSH 18
00367 0 14 05423 157 ETR =077 BUILD EOM IN A
00370 0 52 05424 158 SKB =1*/21 CHECK
00371 0 16 05425 159 MRG =0100 Y
00372 0 16 05426 160 MRG =0200600 EOM, 4CCTR/WORD
00373 0 72 05427 161 SKA =020 BUILD ROUTINE CALL IN B
* 00374 0 01 00000 162 BRU ASGNERR
00375 0 75 00416 163 LDB CALC ASSUME CARD READER
00376 0 72 05430 164 SKA =04 CARD IS 6 OR 7
00377 0 01 00401 165 BRU $+2
00400 0 75 00415 166 LDB CALT TYPEWRITER
00401 0 72 05431 167 SKA =02
00402 0 01 00404 168 BRU $+2
00403 0 75 00415 169 LDB CALT OR PAPER TAPE
00404 0 72 05432 170 SKA =010
00405 0 75 00417 171 LDB CALM MTAPE
00406 0 72 05433 172 SKA =040
00407 0 01 00411 173 BRU $+2 PRINTER
00410 0 51 00365 174 BRR CALL
00411 0 72 05434 175 SKA =016 THESE BITS MUST BE ZERO
* 00412 0 01 00000 176 BRU ASGNERR
00413 0 75 00420 177 LDB CALP
00414 0 51 00365 178 BRR CALL
00415 0 43 04353 179 CALT BRM PAPR SPECIAL PTYIO LINK
* 00416 0 43 00000 180 CALC BRM CDRP
* 00417 0 43 00000 181 CALM BRM MTAPE
00420 0 43 04337 182 CALP BRM PRTR SPECIAL PRINT ROUTINE LINK
L 00000421 183 ASGNERR EQU $
I 00421 5 07 00423 184 TYPE ASIGNM,5
00422 0 01 00001 185 BRU 1
00423 21626231 186 ASIGNM BCD <ASSIGNMENT ERROR !>
00424 27454425
00425 45631225
00426 51514651
00427 12121252
00430 12121212
187 * ROUTINE TO INITIALIZE LISTS, FLAGS, AND POINTERS
00431 0 00 00000 188 INIT PZE
00432 0 46 00001 189 CLA
00433 0 35 05304 190 STA END
00434 0 76 05435 191 LDA =0300000 ILLEGAL ORG 0
00435 0 35 05322 192 STA PROGP
00436 0 76 05436 193 LDA =' ' CARD NO. 0
00437 0 35 04162 194 STA CARD1
00440 0 35 04163 195 STA CARD2
00441 0 76 05310 196 LDA BEGMEM
00442 0 35 05372 197 STA LSTBOT
00443 0 35 05373 198 STA LSTNXT
00444 0 35 05374 199 STA LSTTOP
00445 0 76 05413 200 LDA =-1
00446 0 71 05437 201 LDX =0200000-25
00447 0 35 45374 202 STA *LSTTOP
00450 0 61 05374 203 MIN LSTTOP
00451 0 41 00447 204 BRX $-2 ALLOW 12 BLOCKS
00452 0 46 00001 205 CLA
00453 0 35 45374 206 STA *LSTTOP
00454 0 61 05374 207 MIN LSTTOP
00455 0 35 45374 208 STA *LSTTOP TWO ZEROS TO TIE THIS OFF
00456 0 76 05374 209 LDA LSTTOP
00457 0 55 05440 210 ADD =1
00460 0 35 05344 211 STA ADRBOT
00461 0 55 05440 212 ADD =1
00462 0 35 05343 213 STA ADRTOP
00463 0 76 05311 214 LDA ENDMEM
00464 0 54 05440 215 SUB =1
00465 0 35 05352 216 STA DEFTOP
00466 0 54 05440 217 SUB =1
00467 0 35 05351 218 STA DEFBOT
00470 0 76 05413 219 LDA =-1
00471 0 35 05346 220 STA REFTOP REFERENCE LIST NOT OPEN
00472 0 35 05306 221 STA PASS PASS NO.1
00473 0 01 00475 222 BRU $+2
00474 0 00 00040 223 HLT 040 PAUSE FOR THE OPERATOR
00475 0 40 20400 224 BPT 1
00476 0 01 00474 225 BRU $-2
00477 0 43 00674 226 BRM RWNDX
00500 0 76 05413 227 LDA =-1
00501 0 40 20100 228 BPT 3
00502 0 46 00001 229 CLA NO LIST OUTPUT IF 3 SET
00503 0 35 04335 230 STA LOFLG
00504 0 76 05413 231 LDA =-1
00505 0 40 20040 232 BPT 4
00506 0 46 00001 233 CLA NO SYMBOLIC OUTPUT IF 4 SET
00507 0 35 04327 234 STA SOFLG
00510 0 51 00431 235 BRR INIT
236 * ROUTINE TO READ INPUT RECORDS BLOCKED UP TO 400 WDS/RECORD
00511 0 00 00000 237 READBI PZE
00512 0 23 00612 238 EXU CALLBI
00513 0 00 00606 239 HLT FDTBI
00514 0 76 00606 240 LDA FDTBI
00515 0 72 05441 241 SKA =1*/22 SKIP IF NO ERROR
00516 0 43 00565 242 BRM BIERR
00517 0 54 00607 243 SUB ADRBI
00520 0 14 05442 244 ETR =037777 NUMBER OF WORDS READ IN
00521 0 35 05307 245 STA WDCNT
00522 0 71 05443 246 LDX =0
00523 0 76 04455 247 LDA BUFF
00524 0 75 05444 248 LDB =077770000 BLOCKING MODE MASK
00525 0 70 05445 249 SKM =030000 SKIP IF BLOCKED
00526 0 01 00532 250 BRU $+4
00527 2 77 00001 251 EAX 1,2 POINT BEYOND BLOCKING HEADER
00530 0 60 05307 252 SKR WDCNT
00531 2 76 04455 253 LDA BUFF,2 TEST SECOND WORD FOR TYPE ETC
00532 0 75 05446 254 LDB =070000
00533 0 70 05447 255 SKM =050000 STD BINARY RECORD
00534 0 01 00545 256 BRU MODERR NO
00535 0 66 00002 257 RSH 2 YES/MAYBE
T 00536 0 72 05412 258 SKA =1*/23
00537 0 17 05450 259 EOR =062000000 CHANGE 5 TO 4, 7 TO 6
00540 0 73 05451 260 SKG =011777777 SKIP IF NOT T 0, 1, 2, 3, 5
00541 0 01 00543 261 BRU $+2
00542 0 01 00545 262 BRU MODERR
00543 0 61 00511 263 MIN READBI EXIT TRUE
00544 0 51 00511 264 BRR READBI
00545 0 76 04455 265 MODERR LDA BUFF
00546 0 75 05452 266 LDB =077000000
00547 0 70 05453 267 SKM =' XXX' TRY FOR DELTA RECORD
00550 0 01 00553 268 BRU NODEL
IT 00551 5 05 04455 269 PRNT BUFF,20
00552 0 01 00512 270 BRU READBI+1 TRY NEXT RECORD
00553 0 75 05454 271 NODEL LDB =017777760
00554 0 70 05455 272 SKM =03200000 TRY A BOOTSTRAP
00555 0 01 00560 273 BRU NOREC
I 00556 5 05 04431 274 PRNT BOOTM,4
00557 0 01 00512 275 BRU READBI+1
I 00560 5 07 00601 276 NOREC TYPE ILRM,4
00561 0 00 00000 277 HLT
00562 6 20 00007 278 NOP 7,6
00563 0 01 00512 279 BRU READBI+1
00564 0 51 00511 280 BRR READBI EXIT FALSE
00565 0 00 00000 281 BIERR PZE
I 00566 5 07 00573 282 TYPE BIEMSG,5
00567 0 00 00000 283 HLT
00570 6 20 00077 284 NOP 077,6
00571 0 01 00512 285 BRU READBI+1
00572 0 51 00565 286 BRR BIERR
00573 31454764 287 BIEMSG BCD <INPUT READ ERROR !>
00574 63125125
00575 21241225
00576 51514651
00577 12121252
00600 12121212
00601 31434325 288 ILRM BCD <ILLEGAL FORMAT !>
00602 27214312
00603 26465144
00604 21631252
00605 12121212
00606 0 00 00000 289 FDTBI PZE
00607 0 00 04455 290 ADRBI PZE BUFF
00610 00000620 291 CNTBI DATA 400
00611 0 02 03610 292 EOMBI RTB 0,0,4
* 00612 0 43 00000 293 CALLBI BRM MTAPE
00613 0 00 00000 294 CKSUM PZE COMPUTE CHECKSUM
00614 2 76 04455 295 LDA BUFF,2
00615 0 66 00017 296 RSH 15
00616 0 14 05423 297 ETR =077 GET COUNT OF THIS RECORD
00617 0 35 05305 298 STA CNT
00620 0 54 05440 299 SUB =1
00621 0 35 05312 300 STA CSCNT
00622 0 37 05314 301 STX CSX
00623 0 75 05446 302 LDB =070000 CHECK FOR LEGAL RECORD
00624 0 76 05447 303 LDA =050000
00625 2 70 04455 304 SKM BUFF,2
00626 0 01 00654 305 BRU CSMODE
00627 0 46 00001 306 CLA START CHECKSUM
00630 2 17 04455 307 EOR BUFF,2 BUILD CHECKSUM
00631 2 77 00001 308 EAX 1,2
00632 0 60 05312 309 SKR CSCNT
00633 0 01 00630 310 BRU $-3
00634 0 35 05312 311 STA CSCNT
00635 0 66 00014 312 RSH 12 FOLD
00636 0 17 05312 313 EOR CSCNT FINISH
00637 0 75 00646 314 LDB HLT7 AND
00640 0 70 00646 315 SKM HLT7 TEST
00641 0 01 00645 316 BRU CSERR
00642 0 61 00613 317 MIN CKSUM RETURN TRUE
00643 0 71 05314 318 LDX CSX SAVE ORIGINAL POINTER
00644 0 51 00613 319 BRR CKSUM
I 00645 5 07 04442 320 CSERR TYPE CSMSG,4
00646 0 00 07777 321 HLT7 HLT 07777
00647 0 20 07777 322 NOP 07777
00650 0 76 05305 323 LDA CNT
00651 0 55 05314 324 ADD CSX MOVE BEYOND RECORD
00652 0 46 00400 325 CAX
00653 0 51 00613 326 BRR CKSUM RETURN FALSE
00654 0 76 05307 327 CSMODE LDA WDCNT
00655 0 35 05305 328 STA CNT SET COUNT PAST GARBAGE WORDS
00656 0 51 00613 329 BRR CKSUM EXIT FALSE
330 * SCRATCH TAPE HANDLING ROUTINES
00657 0 00 00000 331 WRTX PZE WRITE ONE SCRATCH MARK
00660 0 46 00200 332 CXA X POINTS TO BEGINNING WORD OF RECORD
00661 2 77 04455 333 EAX BUFF,2 ADD BUFFER BASE
00662 0 37 00702 334 STX ADRSX
00663 0 46 00400 335 CAX
00664 0 76 05305 336 LDA CNT
00665 0 35 00703 337 STA WDSX
* 00666 0 43 00000 338 BRM MTAPE
00667 0 40 00701 339 SKS FDTX
00670 0 76 00701 340 LDA FDTX
00671 0 72 05441 341 SKA =02*/21 SKIP IF NO ERROR
00672 0 00 00000 342 HLT
00673 0 51 00657 343 BRR WRTX
00674 0 00 00000 344 RWNDX PZE REWIND SCRATCH TAPE
* 00675 0 43 00000 345 BRM MTAPE
00676 0 02 00701 346 EOM FDTX
00677 0 51 00674 347 BRR RWNDX
00700 348 XTMPX RES 1
00701 0 00 00000 349 FDTX PZE FILE TABLE FOR SCRATCH TAPE
00702 0 00 00000 350 ADRSX PZE
00703 0 00 00000 351 WDSX PZE
00704 0 02 03610 352 EOMX RTB 0,0,4
* 00705 0 43 00000 353 CALLX BRM MTAPE
00706 0 00 00000 354 BKRDX PZE READ SCRATCH TAPE BACKWARDS
00707 0 76 05456 355 LDA =-2
* 00710 0 43 00000 356 BRM MTAPE
00711 0 30 00701 357 YIM FDTX
00712 0 14 05442 358 ETR =037777
00713 0 50 05431 359 SKE =2 DID IT SPACE BY 2
00714 0 00 00000 360 HLT NO
00715 0 43 00717 361 BRM RDX
00716 0 51 00706 362 BRR BKRDX
00717 0 00 00000 363 RDX PZE READ ONE SCRATCH MARK
00720 0 76 05457 364 LDA =BUFF
00721 0 35 00702 365 STA ADRSX
00722 0 76 05460 366 LDA =40
00723 0 35 00703 367 STA WDSX
* 00724 0 43 00000 368 BRM MTAPE
00725 0 00 00701 369 HLT FDTX
00726 0 76 00701 370 LDA FDTX
00727 0 72 05441 371 SKA =2*/21 SKIP IF NO ERROR
00730 0 00 00000 372 HLT
00731 0 54 00702 373 SUB ADRSX GET NO OF WORDS
I 00732 1 10 00000 374 CLX POINT TO START OF RECORD
00733 0 14 05442 375 ETR =037777
00734 0 51 00717 376 BRR RDX
377 * SUBROUTINE TO MOVE INPUT RECORDS TO LISTS AND BUILD OUTPUT IMAG
00735 0 00 00000 378 READ PZE
00736 2 75 04455 379 LDB BUFF,2
00737 0 46 00001 380 CLA
00740 0 67 20003 381 LCY 3 MOVE TYPE TO A
00741 0 35 05313 382 STA RDCNT
00742 0 46 00001 383 CLA
00743 0 67 20006 384 LCY 6 MOVE COUNT TO A
00744 0 54 05440 385 SUB =1 LESS 1 FOR SKR
00745 0 62 05313 386 XMA RDCNT STORE COUNT,TYPE TO A
00746 0 46 00600 387 XXA TYPE TO X, WORD NO TO A
00747 2 01 00750 388 BRU JTABL,2
00750 0 01 01350 389 JTABL BRU DATA A CONTAINS POINTERS AS ROUTINES ENTER
00751 0 01 00766 390 BRU REFDEF
00752 0 01 01041 391 BRU POPS
00753 0 01 01231 392 BRU ENDREC
* 00754 0 01 00000 393 BRU ILLEGAL
00755 0 01 01101 394 BRU SDATA
* 00756 0 01 00000 395 BRU ILLEGAL
* 00757 0 01 00000 396 BRU ILLEGAL
L 00000760 397 ILLEGAL EQU $
00760 0 63 05313 398 ADM RDCNT MOVE POINTER BEYOND ILLEGAL RECORD
00761 0 01 00763 399 BRU $+2
00762 0 01 00764 400 BRU ILLEG1
I 00763 5 04 00601 401 PRINT ILRM,4
00764 0 71 05313 402 ILLEG1 LDX RDCNT RE POSITION POINTER IN X
00765 0 53 05306 403 SKN PASS
404 EAX 1,2
405 HLT
406 NOP *030707
407 BRR READ
00000766 408 REFDEF EQU $
409 SKN PASS
00766 0 01 01225 410 BRU BYEREC
00767 0 46 00400 411 CAX RESTORE POINTER
00770 2 77 00001 412 EAX 1,2
00771 0 60 05313 413 SKR RDCNT 1ST ITEM HAD BEEN REMOVED
00772 2 76 04455 414 RDLOP LDA BUFF,2
00773 0 35 05301 415 STA C1
00774 2 76 04456 416 LDA BUFF+1,2
00775 0 35 05302 417 STA C2
00776 2 76 04457 418 LDA BUFF+2,2
00777 0 75 05461 419 LDB =060000000 TEST FOR ADDEND ITEM
01000 0 70 05461 420 SKM =060000000
01001 0 01 01004 421 BRU $+3
01002 2 77 00001 422 EAX 1,2
01003 0 60 05313 423 SKR RDCNT
01004 0 72 05461 424 SKA =060000000 SKIP IF SUBTYPE 0
01005 0 01 01007 425 BRU $+2
01006 0 01 01023 426 BRU BLENGT
01007 0 35 05303 427 STA C3
01010 0 72 05441 428 SKA =020000000
01011 0 01 01014 429 BRU $+3
01012 0 43 03235 430 BRM SDFLST
01013 0 01 01015 431 BRU $+2
01014 0 43 03042 432 BRM SRFLST
01015 2 77 00003 433 EAX 3,2 WEVE MOVED BY 3 ITEMS
01016 0 76 05462 434 LDA =-3
01017 0 63 05313 435 ADM RDCNT
01020 0 53 05313 436 SKN RDCNT
01021 0 01 00772 437 BRU RDLOP
01022 0 51 00735 438 BRR READ
01023 0 76 05463 439 BLENGT LDA ='COM ' COMMON LENGTH DEFINITION
01024 0 75 05464 440 LDB =0200000
01025 0 52 05303 441 SKB C3 SKIP IF NOT PROGRAM LENGTH
01026 0 76 05465 442 LDA ='PRO ' PROGRAM LENGTH DEFINITION
01027 0 35 05300 443 STA C0
01030 0 37 05303 444 STX C3
I 01031 3 04 05300 445 PRINT C0,3
01032 0 71 05303 446 LDX C3
01033 2 77 00003 447 EAX 3,2
01034 0 76 05462 448 LDA =-3
01035 0 63 05313 449 ADM RDCNT
01036 0 53 05313 450 SKN RDCNT
01037 0 01 00772 451 BRU RDLOP
01040 0 51 00735 452 BRR READ
00001041 453 POPS EQU $
01041 0 53 05306 454 SKN PASS
01042 0 01 01225 455 BRU BYEREC BYPASS RECORD ON PASS 2
01043 0 46 00400 456 CAX
01044 2 77 00001 457 EAX 1,2
01045 0 60 05313 458 SKR RDCNT FIRST ITME HAS BEEN REMOVED
01046 2 76 04455 459 POPLOP LDA BUFF,2
01047 0 35 05301 460 STA C1
01050 2 76 04456 461 LDA BUFF+1,2
01051 0 35 05302 462 STA C2
01052 2 76 04457 463 LDA BUFF+2,2
01053 0 35 05303 464 STA C3
01054 0 66 00020 465 RSH 16 SET IT ON THE OP CODE LIST
01055 0 14 05423 466 ETR =077
01056 0 46 00600 467 XXA
01057 0 75 05301 468 LDB C1
01060 2 36 02517 469 STB POPT1,2
01061 0 75 05302 470 LDB C2
01062 2 36 02617 471 STB POPT2,2
01063 0 46 00400 472 CAX
01064 0 76 05303 473 LDA C3
01065 0 72 05441 474 SKA =020000000 SKIP IF NOT REFERENCE
01066 0 01 01073 475 BRU POPS1
01067 0 14 05466 476 ETR =060137777 ADDRESS, RELOC, + TYPE
01070 0 16 05424 477 MRG =010000000 POP FLAG
01071 0 35 05303 478 STA C3
01072 0 43 03235 479 BRM SDFLST SET IT ON THE DEF LIST
00001073 480 POPS1 EQU $
01073 2 77 00003 481 EAX 3,2
01074 0 76 05462 482 LDA =-3
01075 0 63 05313 483 ADM RDCNT
01076 0 53 05313 484 SKN RDCNT
01077 0 01 01046 485 BRU POPLOP
01100 0 51 00735 486 BRR READ
00001101 487 SDATA EQU $ DATA STATEMENT CAN'T BE DONE
01101 0 53 05306 488 SKN PASS
01102 0 01 01225 489 BRU BYEREC
01103 0 46 00400 490 CAX DUMP IT ON FIRST PASS
01104 0 60 05313 491 SKR RDCNT
01105 2 77 00001 492 EAX 1,2
01106 0 76 05467 493 LDA ='DATA'
01107 0 35 05243 494 STA LINE
01110 2 76 04455 495 LDA BUFF,2
01111 00000005 496 OCT 5
01112 0 76 05301 497 LDA C1
01113 0 55 05470 498 ADD =' A 0'
01114 0 35 05244 499 STA LINE+1
01115 0 76 05302 500 LDA C2
01116 0 35 05245 501 STA LINE+2
01117 2 76 04455 502 LDA BUFF,2
I 01120 1 01 00011 503 LRSH 9
01121 0 35 05300 504 STA C0
01122 2 77 00001 505 EAX 1,2 MOVE TO NEXT WORD
01123 0 60 05313 506 SKR RDCNT
01124 2 76 04455 507 LDA BUFF,2 PICK UP HIGH INCREMENT COUNT
01125 0 14 05471 508 ETR =07700000
01126 0 16 05300 509 MRG C0
01127 0 66 00006 510 RSH 6 LOCATE AS INTEGER
01130 00000005 511 OCT 5
01131 0 76 05301 512 LDA C1
01132 0 55 05472 513 ADD =' I 0'
01133 0 35 05246 514 STA LINE+3
01134 0 76 05302 515 LDA C2
01135 0 35 05247 516 STA LINE+4
01136 2 76 04455 517 LDA BUFF,2 GET REPEAT COUTN
01137 00000005 518 OCT 5
01140 0 76 05301 519 LDA C1
01141 0 55 05473 520 ADD =' R 0'
01142 0 35 05250 521 STA LINE+5
01143 0 76 05302 522 LDA C2
01144 0 35 05251 523 STA LINE+6
01145 0 76 05436 524 LDA =' '
01146 0 35 05252 525 STA LINE+7
01147 0 46 00004 526 CAB
01150 2 53 04455 527 SKN BUFF,2 IS THERE A LABEL
01151 0 01 01160 528 BRU NODLAB NO
01152 2 77 00001 529 EAX 1,2 YES, MOVE IT TO THE PRINT LINE
01153 0 60 05313 530 SKR RDCNT
01154 2 76 04455 531 LDA BUFF,2
01155 2 77 00001 532 EAX 1,2
01156 0 60 05313 533 SKR RDCNT
01157 2 75 04455 534 LDB BUFF,2
01160 0 35 05252 535 NODLAB STA LINE+7
01161 0 36 05253 536 STB LINE+8
IT 01162 1 05 05243 537 PRNT LINE,9
538 * OCTAL DUMP THE REST OF THE WORDS
01163 0 76 05474 539 DLDAT LDA =LINE
01164 0 35 04455 540 STA BUFF AT LEAST 3 LOCS OF BUFF ARE OK
01165 0 76 05475 541 LDA =7
01166 0 35 04456 542 STA BUFF+1
01167 2 76 04455 543 DLDOP LDA BUFF,2
E 01170 00000002 544 OCT 8
01171 0 76 05436 545 LDA =' '
01172 0 35 44455 546 STA *BUFF
01173 0 61 04455 547 MIN BUFF
01174 0 76 05301 548 LDA C1
01175 0 35 44455 549 STA *BUFF
01176 0 61 04455 550 MIN BUFF
01177 0 76 45302 551 LDA *C2
01200 0 35 04455 552 STA BUFF
01201 0 60 04456 553 SKR BUFF+1
01202 0 01 01210 554 BRU DLNEX
IT 01203 1 05 05243 555 PRNT LINE,24
01204 2 77 00001 556 EAX 1,2 MOVE POINTER ON
01205 0 60 05313 557 SKR RDCNT MORE WORDS TO COME
01206 0 01 01163 558 BRU DLDAT YES, DO NEXT LINE
01207 0 51 00735 559 BRR READ MIRACLES, ITS EVEN
01210 2 77 00001 560 DLNEX EAX 1,2 MOVE POINTER
01211 0 60 05313 561 SKR RDCNT ANYTHING LEFT
01212 0 01 01167 562 BRU DLDOP YES, ADD TO LINE
01213 0 76 05475 563 LDA =7 NO SEE HOW LONG THE LINE IS
01214 0 54 04456 564 SUB BUFF+1
01215 0 64 05476 565 MUL =3 3 WORDS PER DATA WORD
01216 0 66 00001 566 RSH 1
01217 0 36 04332 567 STB CNTLO
01220 0 76 05474 568 LDA =LINE
01221 0 35 04331 569 STA ADRLO
01222 0 23 04334 570 EXU CALLLO
01223 0 40 04330 571 SKS FDTLO
01224 0 51 00735 572 BRR READ
01225 0 63 05313 573 BYEREC ADM RDCNT
01226 0 71 05313 574 LDX RDCNT
01227 2 77 00001 575 EAX 1,2 REPOSITION POINTER BEYOND RECORD
01230 0 51 00735 576 BRR READ
00001231 577 ENDREC EQU $
01231 0 46 00400 578 CAX RETURN POINTER TO X
01232 0 60 05313 579 SKR RDCNT
01233 2 77 00001 580 EAX 1,2 MOVE TO NEXT ITEM
01234 0 76 05322 581 LDA PROGP
01235 0 14 05435 582 ETR =0300000 MODE BITS
01236 2 16 04455 583 MRG BUFF,2
01237 0 35 05316 584 STA RELOC
01240 2 53 04455 585 SKN BUFF,2 IS THERE A NAME LIST
01241 0 01 01244 586 BRU $+3 NO
01242 0 60 05313 587 SKR RDCNT YES, MOVE PAST IT
01243 2 77 00001 588 EAX 1,2
01244 0 14 05414 589 ETR =0337777
01245 0 43 02031 590 BRM PSET SET P-REG TO PROG END
01246 0 53 05306 591 SKN PASS
01247 0 01 01271 592 BRU ENDR1 PASS 2, DON'T STORE BLOCKEND
01250 0 35 45373 593 STA *BLKNXT
01251 0 61 05373 594 MIN BLKNXT MOVE ON
01252 2 77 00001 595 EAX 1,2
01253 0 76 05413 596 LDA =-1
01254 0 35 05304 597 STA END
01255 0 60 05313 598 SKR RDCNT
01256 0 01 01260 599 BRU $+2
01257 0 51 00735 600 BRR READ NO TRANSFER OR MODIFIER WORDS
01260 2 76 04455 601 LDA BUFF,2
01261 0 75 05316 602 LDB RELOC
01262 0 14 05442 603 ETR =037777 TAKE ADDRESS ONLY
01263 0 52 05477 604 SKB =02000000 SKIP IF NO LOAD RELOC
01264 0 16 05500 605 MRG =0100000
01265 0 52 05501 606 SKB =04000000 SKIP IF NOT COMMON RELOC
01266 0 16 05464 607 MRG =0200000
01267 0 43 02743 608 BRM SADLST SET ON ADDRESS LIST
01270 0 51 00735 609 BRR READ
01271 0 43 03750 610 ENDR1 BRM ADRESS
01272 0 43 03764 611 BRM BLNKOP
01273 0 76 05436 612 LDA =' '
01274 0 35 05301 613 STA C1
01275 0 35 05302 614 STA C2
01276 0 46 00001 615 CLA
01277 0 35 05303 616 STA C3
01300 0 43 04073 617 BRM LABCRD
01301 0 76 05502 618 LDA ='END '
01302 0 35 05301 619 STA C1
01303 0 76 05436 620 LDA =' '
01304 0 35 05303 621 STA C3
01305 0 76 05476 622 LDA =3
01306 0 37 05315 623 STX ENDTX
01307 0 77 05254 624 EAX LINE+9
01310 0 43 04006 625 BRM PACK
01311 0 71 05315 626 LDX ENDTX
01312 2 77 00001 627 EAX 1,2
01313 0 76 05413 628 LDA =-1
01314 0 35 05304 629 STA END
01315 0 60 05313 630 SKR RDCNT
01316 0 01 01331 631 BRU ENDR2
01317 0 76 05436 632 LDA =' ' NO TRANSFER ADDRESS
01320 0 35 05301 633 STA C1
01321 0 76 05476 634 ENDR3 LDA =3
01322 0 37 05315 635 STX ENDTX
01323 0 77 05256 636 EAX LINE+11
01324 0 43 04006 637 BRM PACK
01325 0 43 03772 638 BRM BLNKLN BLANK REST OF LINE
01326 0 43 04164 639 BRM OUTPUT
01327 0 71 05315 640 LDX ENDTX
01330 0 51 00735 641 BRR READ
01331 2 76 04455 642 ENDR2 LDA BUFF,2
01332 0 14 05442 643 ETR =037777
01333 0 75 05316 644 LDB RELOC
01334 2 77 00001 645 EAX 1,2
01335 0 60 05313 646 SKR RDCNT MOVE PAST THIS RECORD
01336 0 01 01334 647 BRU $-2
01337 0 52 05477 648 SKB =02000000 SKIP IF NOT LOAD RELOC
01340 0 16 05500 649 MRG =0100000
01341 0 52 05501 650 SKB =04000000 SKIP IF NOT COMMON RELOC
01342 0 16 05464 651 MRG =0200000
01343 0 43 03203 652 BRM CDFLST IS IT ON EXTEND LIST
01344 0 43 03637 653 BRM MAKLAB NO, MAKE A LABEL OF IT
01345 0 76 05436 654 LDA =' '
01346 0 35 05303 655 STA C3
01347 0 01 01321 656 BRU ENDR3
01350 0 46 00400 657 DATA CAX
01351 0 55 05313 658 ADD RDCNT POINT TO END OF BUFFER
01352 0 35 05324 659 STA DNTX STORE FOR TEMP
01353 2 77 00001 660 EAX 1,2 WEVE TAKEN ONE WORD
01354 0 60 05313 661 SKR RDCNT
01355 2 75 04455 662 LDB BUFF,2
01356 2 77 00001 663 EAX 1,2
01357 0 60 05313 664 SKR RDCNT
01360 0 37 05335 665 STX DTX PUT POINTER ASIDE FOR NOW
666 * PROCESS RELOCATION WORDS
01361 0 71 05324 667 LDX DNTX POINT TO LAST WORD
01362 0 46 00001 668 CLA
01363 0 52 05441 669 SKB =010*/19 IO RELOCATION
01364 0 01 01366 670 BRU $+2
01365 0 01 01371 671 BRU $+4
01366 2 76 04455 672 LDA BUFF,2
01367 2 77 37777 673 EAX -1,2 WE'VE TAKEN ONE FROM TAIL
01370 0 60 05313 674 SKR RDCNT
01371 0 35 05317 675 STA IOREL
01372 0 46 00001 676 CLA
01373 0 52 05424 677 SKB =04*/19 POP RELOCATION
01374 0 01 01376 678 BRU $+2
01375 0 01 01401 679 BRU $+4
01376 2 76 04455 680 LDA BUFF,2
01377 2 77 37777 681 EAX -1,2
01400 0 60 05313 682 SKR RDCNT ONE OFF THE TAIL
01401 0 35 05320 683 STA POPR
01402 0 46 00001 684 CLA
01403 0 52 05501 685 SKB =02*/19 COMMON RELOC
01404 0 01 01406 686 BRU $+2
01405 0 01 01411 687 BRU $+4
01406 2 76 04455 688 LDA BUFF,2
01407 2 77 37777 689 EAX -1,2 ONE OFF THE TAIL
01410 0 60 05313 690 SKR RDCNT
01411 0 35 05321 691 STA COMR
01412 0 46 00001 692 CLA
01413 0 52 05477 693 SKB =01*/19 LOAD RELOCATION
01414 0 01 01416 694 BRU $+2
01415 0 01 01420 695 BRU $+3
01416 2 76 04455 696 LDA BUFF,2
01417 0 60 05313 697 SKR RDCNT ONE MORE OFF, DONE WITH X
01420 0 35 05316 698 STA RELOC
01421 0 71 05335 699 LDX DTX POINT TO FIRST DATA WORD
01422 0 46 00010 700 CBA
01423 0 14 05414 701 ETR =0337777 GET ADDRESS + MODE
01424 0 43 02031 702 BRM PSET
01425 0 01 01427 703 BRU DATL+1
01426 0 43 01452 704 DATL BRM CYRFLG CYCLE RELOCATION WORDS
01427 2 76 04455 705 LDA BUFF,2
01430 0 43 02253 706 BRM INSTST
01431 0 53 05306 707 SKN PASS
01432 0 01 01466 708 BRU DAT2 SECOND PASS
I 01433 1 00 01440 709 JAT DAT1C JUMP IF ITS AN INSTRUCTION
01434 0 76 05332 710 LDA ANS DATA OR FORM
01435 0 72 05503 711 SKA =0377 MULTIFIELD MENS FORM
01436 0 01 01440 712 BRU DAT1C FORM SET ADDRESS
01437 0 01 01443 713 BRU DAT1B DATA
01440 0 76 05323 714 DAT1C LDA ADRP ADDRESS POINTEC TO
01441 0 53 05327 715 SKN INS3 DON'T LIST IF IT'S DEMANDS OCTAL
01442 0 43 02743 716 BRM SADLST
01443 0 61 05322 717 DAT1B MIN PROGP
01444 2 77 00001 718 EAX 1,2
01445 0 60 05313 719 SKR RDCNT
01446 0 01 01426 720 BRU DATL
01447 0 71 05324 721 LDX DNTX POINT TO NEXT RECORD
01450 2 77 00001 722 EAX 1,2
01451 0 51 00735 723 BRR READ
01452 0 00 00000 724 CYRFLG PZE
01453 0 76 05317 725 LDA IOREL
01454 0 75 05320 726 LDB POPR
01455 0 67 20001 727 LCY 1
01456 0 35 05317 728 STA IOREL
01457 0 36 05320 729 STB POPR
01460 0 76 05321 730 LDA COMR
01461 0 75 05316 731 LDB RELOC
01462 0 67 20001 732 LCY 1
01463 0 35 05321 733 STA COMR
01464 0 36 05316 734 STB RELOC
01465 0 51 01452 735 BRR CYRFLG
01466 0 37 05335 736 DAT2 STX DTX
01467 0 43 03750 737 BRM ADRESS
01470 0 76 05322 738 LDA PROGP
01471 0 43 03203 739 BRM CDFLST
01472 0 01 01477 740 BRU DAT2B NOT DEFINED
01473 0 76 05303 741 LDA C3
01474 0 72 05424 742 SKA =010000000 IS IT A POPD
01475 0 01 01503 743 BRU DAT2C YES
01476 0 01 01531 744 BRU DAT2F NO
01477 0 43 02717 745 DAT2B BRM CADLST CHECK IF WE'RE ADDRESSED
01500 0 01 01524 746 BRU DAT2E NO
01501 0 43 03637 747 BRM MAKLAB YES, GENERATE PSEUDO LABEL
01502 0 01 01531 748 BRU DAT2F
01503 0 43 03764 749 DAT2C BRM BLNKOP BLANK OPERATIONS CODE
01504 0 43 04073 750 BRM LABCRD SET LABEL AND CARD NO.
01505 0 76 05504 751 LDA ='POPD'
01506 0 35 05301 752 STA C1
01507 0 76 05436 753 LDA =' '
01510 0 35 05302 754 STA C2
01511 0 35 05303 755 STA C3
01512 0 76 05476 756 LDA =3 SET INSTRUCTION MEMONIC
01513 0 77 05254 757 EAX LINE+9
01514 0 43 04006 758 BRM PACK
01515 0 76 05505 759 LDA ='$ '
01516 0 35 05301 760 STA C1
01517 0 76 05476 761 LDA =3 SET OPERAND FIELD
01520 0 77 05256 762 EAX LINE+11
01521 0 43 04006 763 BRM PACK
01522 0 43 03772 764 BRM BLNKLN
01523 0 43 04164 765 BRM OUTPUT
01524 0 76 05436 766 DAT2E LDA =' ' GENERATE BLANK LABEL
01525 0 35 05301 767 STA C1
01526 0 35 05302 768 STA C2
01527 0 46 00001 769 CLA
01530 0 35 05303 770 STA C3
01531 0 43 04073 771 DAT2F BRM LABCRD SET LABEL + CARD NO.
772 * ADDRESS, LABEL, + CARD NO. COMPLETE, SET OP MNEMONIC
01532 0 76 05325 773 LDA INS1
01533 0 35 05301 774 STA C1
01534 0 76 05326 775 LDA INS2
01535 0 35 05302 776 STA C2
01536 0 76 05436 777 LDA =' '
01537 0 35 05303 778 STA C3
01540 0 76 05476 779 LDA =3
01541 0 77 05254 780 EAX LINE+9
01542 0 43 04006 781 BRM PACK
782 * SET UP CODE LISTING
I 01543 1 00 01572 783 JAF DAT2G
01544 0 76 05327 784 LDA INS3
01545 00000002 785 OCT 2
01546 0 76 05302 786 LDA C2
01547 0 66 00014 787 RSH 12
01550 0 76 05436 788 LDA =' '
01551 0 66 00006 789 RSH 6
01552 0 76 05331 790 LDA TAG
01553 0 14 05456 791 ETR =-1*/1 CLEAR OUT POP BIT IF THERE
01554 0 62 05331 792 XMA TAG
01555 0 66 00006 793 RSH 6
01556 0 36 05246 794 STB LINE+3
01557 0 76 05323 795 DAT2K LDA ADRP
01560 0 53 05330 796 SKN STAR
01561 0 16 05506 797 MRG =040000 INDIRECT BIT
01562 00000005 798 OCT 5
01563 0 76 05301 799 LDA C1
01564 0 16 05507 800 MRG =' 0' BLANK TOP 3 CCTRS
01565 0 75 05302 801 LDB C2
01566 0 67 20014 802 LCY 12
01567 0 35 05247 803 STA LINE+4
01570 0 36 05250 804 STB LINE+5
01571 0 01 01612 805 BRU DAT2H
01572 0 46 00001 806 DAT2G CLA
01573 0 62 05331 807 XMA TAG THIS IS LAST USE FOR TAG CLEAR AS FLA
E 01574 00005331 808 OCT 8
01575 0 76 05503 809 LDA =0377 IS IT A MULTIFIELD NO.
01576 0 72 05332 810 SKA ANS
01577 0 01 01607 811 BRU DAT2J YES
01600 0 76 05301 812 LDA C1
01601 0 35 05246 813 STA LINE+3 DATA TO LINE IMAGE
01602 0 76 05302 814 LDA C2
01603 0 35 05247 815 STA LINE+4
01604 0 76 05436 816 LDA =' '
01605 0 35 05250 817 STA LINE+5
01606 0 01 01612 818 BRU DAT2H
01607 0 76 05302 819 DAT2J LDA C2
01610 0 35 05246 820 STA LINE+3
01611 0 01 01557 821 BRU DAT2K
822 * SET UP OPERAND FIELD
01612 0 76 05476 823 DAT2H LDA =3
01613 0 35 05333 824 STA LINCC
01614 0 77 05256 825 EAX LINE+11
01615 0 37 05334 826 STX LINXP
I 01616 1 00 01635 827 JAF DAT2M
01617 0 53 05330 828 SKN STAR
01620 0 01 01622 829 BRU $+2
01621 0 01 01663 830 BRU DAT2L
01622 0 76 05510 831 LDA ='* '
01623 0 35 05301 832 STA C1
01624 0 76 05436 833 LDA =' '
01625 0 35 05302 834 STA C2
01626 0 35 05303 835 STA C3
01627 0 76 05333 836 DAT2Z LDA LINCC
01630 0 71 05334 837 LDX LINXP
01631 0 43 04006 838 BRM PACK
01632 0 35 05333 839 STA LINCC
01633 0 37 05334 840 STX LINXP
01634 0 01 01663 841 BRU DAT2L
01635 0 76 05503 842 DAT2M LDA =0377 IS THING MULTIFIEDED
01636 0 72 05332 843 SKA ANS
01637 0 01 01655 844 BRU DAT2P NO
01640 0 46 00001 845 CLA
01641 0 75 05246 846 LDB LINE+3
01642 0 66 00006 847 RSH 6 GUARANTEE LEAD ZERO
01643 0 36 05301 848 STB C1
01644 0 76 05246 849 LDA LINE+3
01645 0 75 05247 850 LDB LINE+4
01646 0 66 00006 851 RSH 6
01647 0 36 05302 852 STB C2
01650 0 75 05247 853 LDB LINE+4
01651 0 76 05436 854 LDA =' '
01652 0 66 20006 855 RCY 6
01653 0 01 01706 856 BRU DAT2Q+1
01654 0 01 01705 857 BRU DAT2Q
01655 0 76 05246 858 DAT2P LDA LINE+3 F1014
01656 0 75 05511 859 LDB =', 0' COMMA TO C2
01657 0 66 20006 860 RCY 6
01660 0 35 05301 861 STA C1 NO. IN OCTAL TO C1
01661 0 36 05302 862 STB C2 COMMA TO C2
01662 0 01 01627 863 BRU DAT2Z STASH IT ON LINE AND PROCEED
01663 0 53 05327 864 DAT2L SKN INS3
01664 0 01 01676 865 BRU DAT2R
01665 0 76 05323 866 LDA ADRP
01666 00000005 867 OCT 5 GENERATE OCTAL FOR ADDRESS FIELD
01667 0 76 05301 868 LDA C1
01670 0 16 05512 869 MRG =' 00' TOP TWO CCTRS GET BLANDS
01671 0 75 05302 870 LDB C2
01672 0 67 20014 871 LCY 12
01673 0 35 05301 872 STA C1
01674 0 36 05302 873 STB C2
01675 0 01 01705 874 BRU DAT2Q
01676 0 76 05322 875 DAT2R LDA PROGP
01677 0 43 03000 876 BRM CRFLST ARE WE ON EXTEDN REFERENCE
01700 0 01 01702 877 BRU $+2 NO, BUILD LABEL
01701 0 01 01705 878 BRU DAT2Q
01702 0 76 05323 879 LDA ADRP
01703 0 43 03203 880 BRM CDFLST IS THIS DEFINED
01704 0 43 03637 881 BRM MAKLAB NO, MAKE ONE UP
01705 0 76 05436 882 DAT2Q LDA =' '
01706 0 35 05303 883 STA C3 LAST CCTR IS BLANK
01707 0 76 05333 884 LDA LINCC
01710 0 71 05334 885 LDX LINXP
01711 0 43 04006 886 BRM PACK MOVE THIS ONTO LINE IMAGE
01712 0 35 05333 887 STA LINCC
01713 0 37 05334 888 STX LINXP
01714 0 76 05331 889 LDA TAG
01715 0 72 05475 890 SKA =07
01716 0 01 01720 891 BRU $+2
01717 0 01 01732 892 BRU DAT2S NO TAG FIELD
01720 0 75 05436 893 LDB =' '
01721 0 36 05302 894 STB C2
01722 0 36 05303 895 STB C3
01723 0 66 00006 896 RSH 6
01724 0 76 05513 897 LDA =' ,'
01725 0 66 00006 898 RSH 6
01726 0 36 05301 899 STB C1
01727 0 76 05333 900 LDA LINCC
01730 0 71 05334 901 LDX LINXP
01731 0 43 04006 902 BRM PACK
01732 0 43 03772 903 DAT2S BRM BLNKLN BLANK REMAINDER OF LINE
01733 0 43 04164 904 BRM OUTPUT OUTPUT LINE IMAGE
01734 0 71 05335 905 LDX DTX
01735 0 61 05322 906 MIN PROGP
01736 2 77 00001 907 EAX 1,2
01737 0 60 05313 908 SKR RDCNT
01740 0 01 01426 909 BRU DATL
01741 0 71 05324 910 LDX DNTX POINT TO NEXT RECORD
01742 2 77 00001 911 EAX 1,2
01743 0 51 00735 912 BRR READ
913 * BACKWARDS READING SPECIAL ROUTINE
01744 0 00 00000 914 READ2 PZE
01745 0 37 05336 915 STX RDTX
01746 0 75 04455 916 LDB BUFF
01747 0 52 05514 917 SKB =070000000 SKIP IF TYPE ZERO
01750 0 51 01744 918 BRR READ2 RETURN FALSE
01751 0 61 01744 919 MIN READ2 INCREMENT RETURN
01752 0 46 00001 920 CLA
01753 0 67 20011 921 LCY 9 COUNT
01754 0 54 05440 922 SUB =1 DOWN 1 FOR HEADER
01755 0 71 05440 923 LDX =1
01756 2 75 04455 924 LDB BUFF,2
01757 0 46 00400 925 CAX POINT TO END OF RECORD
01760 0 46 00001 926 CLA
01761 0 52 05441 927 SKB =010*/19 IO RELOC
01762 0 01 01764 928 BRU $+2
01763 0 01 01766 929 BRU $+3
01764 2 76 04455 930 LDA BUFF,2
01765 2 77 37777 931 EAX -1,2
01766 0 35 05317 932 STA IOREL
01767 0 46 00001 933 CLA
01770 0 52 05424 934 SKB =04*/19 POP RELOCATION
01771 0 01 01773 935 BRU $+2
01772 0 01 01775 936 BRU $+3
01773 2 76 04455 937 LDA BUFF,2
01774 2 77 37777 938 EAX -1,2
01775 0 35 05320 939 STA POPR
01776 0 46 00001 940 CLA
01777 0 52 05501 941 SKB =02*/19 COMMON RELOC
02000 0 01 02002 942 BRU $+2
02001 0 01 02004 943 BRU $+3
02002 2 76 04455 944 LDA BUFF,2
02003 2 77 37777 945 EAX -1,2
02004 0 35 05321 946 STA COMR
02005 0 46 00001 947 CLA
02006 0 52 05477 948 SKB =01*/19 LOAD RELOC
02007 0 01 02011 949 BRU $+2
02010 0 01 02013 950 BRU $+3
02011 2 76 04455 951 LDA BUFF,2
02012 2 77 37777 952 EAX -1,2
02013 0 35 05316 953 STA RELOC
02014 0 46 00200 954 CXA RESULTANT WORD COUNT TO A
02015 0 14 05423 955 ETR =077 DELETE ANY INDEX GARBAGE
02016 0 54 05440 956 SUB =1
02017 0 35 05313 957 STA RDCNT COUNT OF NO. INSTRUCTION IN RECORD
02020 0 46 00010 958 CBA MODE/ADDRESS WORD
02021 0 14 05414 959 ETR =0337777
02022 0 35 05322 960 STA PROGP FIRST LOC OF RECORD
02023 0 54 05440 961 SUB =1
02024 0 35 05405 962 STA PROGP1 ONE BELOW RECORD
02025 0 55 05313 963 ADD RDCNT
02026 0 35 05406 964 STA PROGP2 END OF RECORD
02027 0 71 05336 965 LDX RDTX
02030 0 51 01744 966 BRR READ2
967 * ROUTINE TO MODIFY P-COUNTER, CALLED WITH NEW ADDRESS AND MODE
968 * IN A-REG.
02031 0 00 00000 969 PSET PZE
02032 0 50 05322 970 SKE PROGP
02033 0 01 02035 971 BRU $+2
02034 0 51 02031 972 BRR PSET P-COUTNER OK, NO WORK
02035 0 75 05435 973 LDB =0300000
02036 0 70 05322 974 SKM PROGP IS MODE UNCHANGED
02037 0 01 02053 975 BRU PSET1 NO,FIX IT
02040 0 53 05306 976 SKN PASS
02041 0 01 02044 977 BRU $+3 PASS 2
02042 0 35 05322 978 STA PROGP PASS 1
02043 0 51 02031 979 BRR PSET
02044 0 73 05322 980 SKG PROGP IS IT FORWD OR BACKWARD
02045 0 01 02050 981 BRU $+3 BACKWARD ()ORG
02046 0 43 02106 982 BRM PSETB
02047 0 51 02031 983 BRR PSET
02050 0 35 05322 984 STA PROGP RESET PROGRAM COUNTER
02051 0 43 02202 985 BRM ORGLIN ORIGIN LINE
02052 0 51 02031 986 BRR PSET
02053 0 53 05306 987 PSET1 SKN PASS
02054 0 01 02066 988 BRU PSET2 PASS 2
02055 0 62 05322 989 XMA PROGP
02056 0 35 45373 990 STA *BLKNXT NEXT AVAILABLE BLOCK BIT CELL
02057 0 61 05373 991 MIN BLKNXT
02060 0 53 45373 992 SKN *BLKNXT IS NEXT PAIR OPEN
02061 0 43 04366 993 BRM MEMOV NO
02062 0 76 05322 994 LDA PROGP
02063 0 35 45373 995 STA *BLKNXT
02064 0 61 05373 996 MIN BLKNXT MOVE TO CLOSURE CELL
02065 0 51 02031 997 BRR PSET
02066 0 35 05341 998 PSET2 STA PSTMPA
02067 0 76 45373 999 LDA *BLKNXT GET END OF PRESENT BLOCK
02070 0 61 05373 1000 MIN BLKNXT MOVE TO NEXT START
02071 0 50 05413 1001 SKE =-1 TEST FOR ERRORS
02072 0 01 02074 1002 BRU $+2
02073 0 43 04366 1003 BRM MEMOV
02074 0 50 05322 1004 SKE PROGP
02075 0 43 02106 1005 BRM PSETB
02076 0 76 45373 1006 LDA *BLKNXT GET START OF NEXT BLOCK
02077 0 61 05373 1007 MIN BLKNXT
02100 0 35 05322 1008 STA PROGP
02101 0 43 02202 1009 BRM ORGLIN
02102 0 76 05341 1010 LDA PSTMPA
02103 0 50 05322 1011 SKE PROGP
02104 0 43 02106 1012 BRM PSETB
02105 0 51 02031 1013 BRR PSET
02106 0 00 00000 1014 PSETB PZE
02107 0 35 05337 1015 STA PSBTA
02110 0 37 05340 1016 STX PSBTX
02111 0 46 00001 1017 PSETB9 CLA
* 02112 0 35 00000 1018 STA RESVE
02113 0 43 03750 1019 BRM ADRESS
02114 0 43 03764 1020 BRM BLNKOP
02115 0 76 05322 1021 LDA PROGP
02116 0 43 03203 1022 BRM CDFLST ARE WE DEFINED
02117 0 01 02121 1023 BRU $+2 NOT DEFINED
02120 0 01 02132 1024 BRU PSETB1
02121 0 43 02717 1025 BRM CADLST ARE WE ADDRESSED
02122 0 01 02125 1026 BRU $+3 NO
02123 0 43 03637 1027 BRM MAKLAB YES, MAKE A LABEL
02124 0 01 02132 1028 BRU PSETB1
02125 0 76 05436 1029 LDA =' '
02126 0 35 05301 1030 STA C1 GENERATE BLANK LABEL
02127 0 35 05302 1031 STA C2
02130 0 46 00001 1032 CLA
02131 0 35 05303 1033 STA C3
02132 0 43 04073 1034 PSETB1 BRM LABCRD LABEL AND CARD NO.
02133 0 76 05515 1035 LDA ='RES ' RESERVE ORDER
02134 0 35 05301 1036 STA C1
02135 0 76 05436 1037 LDA =' '
02136 0 35 05302 1038 STA C2
02137 0 35 05303 1039 STA C3
02140 0 76 05476 1040 LDA =3
02141 0 77 05254 1041 EAX LINE+9
02142 0 43 04006 1042 BRM PACK
* 02143 0 61 00000 1043 PSETB2 MIN RESVE
02144 0 61 05322 1044 MIN PROGP
02145 0 76 05322 1045 LDA PROGP
02146 0 50 05337 1046 SKE PSBTA
02147 0 01 02151 1047 BRU $+2
02150 0 01 02156 1048 BRU PFLUSH
02151 0 43 03203 1049 BRM CDFLST ARE WE DEFINED
02152 0 01 02154 1050 BRU $+2 NO
02153 0 01 02156 1051 BRU PFLUSH YES
02154 0 43 02717 1052 BRM CADLST ARE WE ADDRESSED
02155 0 01 02143 1053 BRU PSETB2 NO,MOVE ON
* 02156 0 76 00000 1054 PFLUSH LDA RESVE NO. CELLS RESERVED
02157 00000005 1055 OCT 5 MAKE AN OCTAL NO.
02160 0 76 05301 1056 LDA C1
02161 0 16 05512 1057 MRG =' 00' BLANK TOP TWO
02162 0 75 05302 1058 LDB C2
02163 0 67 20014 1059 LCY 12
02164 0 35 05301 1060 STA C1
02165 0 36 05302 1061 STB C2
02166 0 76 05436 1062 LDA =' '
02167 0 35 05303 1063 STA C3
02170 0 76 05476 1064 LDA =3
02171 0 77 05256 1065 EAX LINE+11
02172 0 43 04006 1066 BRM PACK
02173 0 43 03772 1067 BRM BLNKLN BLANK REST OF LINE
02174 0 43 04164 1068 BRM OUTPUT PRINT LINE IMAGE
02175 0 76 05322 1069 LDA PROGP
02176 0 50 05337 1070 SKE PSBTA IS THIS LOOP DONE
02177 0 01 02111 1071 BRU PSETB9 NO,GO AROUND AGAIN
02200 0 71 05340 1072 LDX PSBTX
02201 0 51 02106 1073 BRR PSETB
02202 0 00 00000 1074 ORGLIN PZE
02203 0 76 05436 1075 LDA =' '
I 02204 1 11 00006 1076 I DO 6
R 02205 0 35 07446 1077 STA LINE+I-1 BLANK LIST BITS
02206 0 35 05301 1078 STA C1
02207 0 35 05302 1079 STA C2 BLANK LABEL
02210 0 46 00001 1080 CLA
02211 0 35 05303 1081 STA C3
02212 0 43 04073 1082 BRM LABCRD
02213 0 76 05322 1083 LDA PROGP
02214 0 66 00017 1084 RSH 15 MODE TO INTEGER
02215 0 14 05476 1085 ETR =3
02216 0 37 02246 1086 STX ORGTX
02217 0 46 00400 1087 CAX
02220 2 76 02247 1088 LDA ORGLS,2
02221 0 35 05301 1089 STA C1
02222 0 76 05436 1090 LDA =' '
02223 0 35 05303 1091 STA C3
02224 0 76 05476 1092 LDA =3
02225 0 77 05254 1093 EAX LINE+9
02226 0 43 04006 1094 BRM PACK
02227 0 76 05322 1095 LDA PROGP
02230 00000005 1096 OCT 5
02231 0 76 05301 1097 LDA C1
02232 0 16 05512 1098 MRG =' 00' BLANK TOP TWO
02233 0 75 05302 1099 LDB C2
02234 0 67 20006 1100 LCY 6
02235 0 35 05301 1101 STA C1
02236 0 36 05302 1102 STB C2
02237 0 76 05476 1103 LDA =3
02240 0 77 05256 1104 EAX LINE+11
02241 0 43 04006 1105 BRM PACK
02242 0 43 03772 1106 BRM BLNKLN
02243 0 43 04164 1107 BRM OUTPUT
02244 0 71 02246 1108 LDX ORGTX RETRIEVE ENTERING INDEX
02245 0 51 02202 1109 BRR ORGLIN
02246 1110 ORGTX RES 1
02247 21465127 1111 ORGLS DATA 'AORG'
02250 51465127 1112 DATA 'RORG'
02251 23465127 1113 DATA 'CORG'
02252 31465127 1114 DATA 'IORG' ILLEGAL
1115 * SUBROUTINE INSTST INSTRUCTION TEST
1116 * X,A SAVE OVER ROUTINE
1117 * INTERFACE CELL LABELS ARE AS FOLLOWS:
1118 * ANS 0 IF TRUE, NEG IF FALSE, FIELD NO. IN LOW BITS
1119 * STAR NEG IF NOT INDIRECTLY ADDRESSED
1120 * TAG -TAG IF TRUE, COUNT OR DATA IF FALSE
1121 * INS1, INS2, INS3 8 CHARACTER INSTRUCTION OP CODE BITS, NEG IF
1122 * OCTAL ADDRESS DEMANDED
1123 * ADRP ADDRESS POINTED TO, OR 0
1124 * POPT1, POPT2 TABLES OF POP NAMES, WORDS1 AND WORD2
1125 * POPR POP RELOCATION
1126 * RELOC LOAD RELOCATION
1127 * COMR COMMON RELOCATION
1128 * IOREL I/O RELOCATION
1129 * FORT NEG. IF FORTRAN OPCODES NEEDED
02253 0 00 00000 1130 INSTST PZE
02254 0 35 05407 1131 STA ITA
02255 0 37 05410 1132 STX ITX
02256 0 46 00002 1133 CLB
02257 0 17 05506 1134 EOR =040000 CHANGE * BIT
02260 0 66 00017 1135 RSH 15
02261 0 36 05330 1136 STB STAR
02262 0 72 05425 1137 SKA =0100 POP BIT
02263 0 01 02330 1138 BRU POPMB
02264 0 14 05423 1139 ETR =077
02265 0 50 05431 1140 SKE =02 IS IT EOM
02266 0 01 02270 1141 BRU $+2
T 02267 0 16 05412 1142 MRG =1*/23
02270 0 50 05433 1143 SKE =040 IS IT SKS
02271 0 01 02273 1144 BRU $+2
T 02272 0 16 05412 1145 MRG =1*/23
02273 0 50 05516 1146 SKE =046 IS IT RCH
02274 0 01 02276 1147 BRU $+2
T 02275 0 16 05412 1148 MRG =1*/23
02276 0 35 05327 1149 STA INS3
02277 0 46 00400 1150 CAX
02300 2 76 02416 1151 LDA INST1,2
02301 0 50 05413 1152 SKE =-1
02302 0 01 02304 1153 BRU $+2
02303 0 01 02356 1154 BRU NOINS
02304 0 35 05325 1155 STA INS1
02305 0 76 05436 1156 LDA =' '
02306 0 35 05326 1157 STA INS2
02307 0 46 00001 1158 SETTRU CLA SET ANSWER TRUE
02310 0 35 05332 1159 STA ANS
02311 0 75 05407 1160 LDB ITA
02312 0 46 00001 1161 CLA
02313 0 67 00003 1162 LSH 3
02314 0 35 05331 1163 STA TAG
02315 0 76 05407 1164 SETADR LDA ITA
02316 0 14 05442 1165 ETR =037777 TAKE ADDRESS ONLY
02317 0 16 05435 1166 MRG =03*/15 BOTH COMMON AND LOAD
02320 0 53 05316 1167 SKN RELOC
02321 0 17 05500 1168 EOR =01*/15 DELETE LOAD BIT
02322 0 53 05321 1169 SKN COMR
02323 0 17 05464 1170 EOR =02*/15 DELETE COMMON BIT
02324 0 35 05323 1171 STA ADRP
02325 0 76 05407 1172 LDA ITA
02326 0 71 05410 1173 LDX ITX
02327 0 51 02253 1174 BRR INSTST
00002330 1175 POPMB EQU $
02330 0 53 05320 1176 SKN POPR
02331 0 01 02342 1177 BRU FORTMB
02332 0 14 05423 1178 ETR =077
02333 0 35 05327 1179 STA INS3
02334 0 46 00400 1180 CAX
02335 2 76 02517 1181 LDA POPT1,2
02336 0 35 05325 1182 STA INS1
02337 2 76 02617 1183 LDA POPT2,2
02340 0 35 05326 1184 STA INS2
02341 0 01 02307 1185 BRU SETTRU
02342 0 53 02516 1186 FORTMB SKN FORT
02343 0 01 02356 1187 BRU NOINS
02344 0 14 05423 1188 ETR =077
02345 0 46 00400 1189 CAX
02346 2 76 02516 1190 LDA FORT1,2
02347 0 50 05413 1191 SKE =-1
02350 0 01 02352 1192 BRU $+2
02351 0 01 02356 1193 BRU NOINS
02352 0 35 05325 1194 STA INS1
02353 0 76 05436 1195 LDA =' '
02354 0 35 05326 1196 STA INS2
02355 0 01 02307 1197 BRU SETTRU
T 02356 0 75 05412 1198 NOINS LDB =1*/23+0 MEG + 1 FIELD
02357 0 36 05332 1199 STB ANS
02360 0 36 05330 1200 STB STAR CANNOT BE INDIR ECT
02361 0 53 05316 1201 SKN RELOC
02362 0 01 02364 1202 BRU $+2
02363 0 01 02371 1203 BRU IFORM F1014 IF RELOCATABLE
02364 0 53 05321 1204 SKN COMR
02365 0 01 02367 1205 BRU $+2
02366 0 01 02371 1206 BRU IFORM
02367 0 53 05317 1207 SKN IOREL
02370 0 01 02404 1208 BRU IDATA DATA WORD
02371 0 61 05332 1209 IFORM MIN ANS SET TO 2 FIELDS
02372 0 76 05517 1210 LDA ='F101'
02373 0 35 05325 1211 STA INS1
02374 0 76 05520 1212 LDA ='4 '
02375 0 35 05326 1213 STA INS2
02376 0 46 00001 1214 CLA
02377 0 35 05327 1215 STA INS3
02400 0 75 05407 1216 LDB ITA
02401 0 67 00012 1217 LSH 10
02402 0 35 05331 1218 STA TAG
02403 0 01 02315 1219 BRU SETADR
02404 0 46 00001 1220 IDATA CLA
02405 0 35 05323 1221 STA ADRP
02406 0 76 05467 1222 LDA ='DATA'
02407 0 35 05325 1223 STA INS1
02410 0 76 05436 1224 LDA =' '
02411 0 35 05326 1225 STA INS2
02412 0 76 05407 1226 LDA ITA
02413 0 35 05331 1227 STA TAG
02414 0 71 05410 1228 LDX ITX
02415 0 51 02253 1229 BRR INSTST
02416 30436360 1230 INST1 DATA 'HLT ' 0
02417 22516460 1231 DATA 'BRU ' 1
02420 25464460 1232 DATA 'EOM ' 2
02421 77777777 1233 DATA -1 3
02422 77777777 1234 DATA -1 4
02423 77777777 1235 DATA -1 5
02424 77777777 1236 DATA -1 6
02425 77777777 1237 DATA -1 7
02426 44317060 1238 DATA 'MIY ' 10
02427 77777777 1239 DATA -1 11
02430 44316660 1240 DATA 'MIW ' 12
02431 47466360 1241 DATA 'POT ' 13
02432 25635160 1242 DATA 'ETR ' 14
02433 77777777 1243 DATA -1 15
02434 44512760 1244 DATA 'MRG ' 16
02435 25465160 1245 DATA 'EOR ' 17
02436 45464760 1246 DATA 'NOP ' 20
02437 77777777 1247 DATA -1 21
02440 77777777 1248 DATA -1 22
02441 25676460 1249 DATA 'EXU ' 23
02442 77777777 1250 DATA -1 24
02443 77777777 1251 DATA -1 25
02444 77777777 1252 DATA -1 26
02445 77777777 1253 DATA -1 27
02446 70314460 1254 DATA 'YIM ' 30
02447 77777777 1255 DATA -1 31
02450 66314460 1256 DATA 'WIM ' 32
02451 47314560 1257 DATA 'PIN ' 33
02452 77777777 1258 DATA -1 34
02453 62632160 1259 DATA 'STA ' 35
02454 62632260 1260 DATA 'STB ' 36
02455 62636760 1261 DATA 'STX ' 37
02456 62426260 1262 DATA 'SKS ' 40
02457 22516760 1263 DATA 'BRX ' 41
02460 77777777 1264 DATA -1 42
02461 22514460 1265 DATA 'BRM ' 43
02462 77777777 1266 DATA -1 44
02463 77777777 1267 DATA -1 45
02464 51233060 1268 DATA 'RCH ' 46
02465 77777777 1269 DATA -1 47
02466 62422560 1270 DATA 'SKE ' 50
02467 22515160 1271 DATA 'BRR ' 51
02470 62422260 1272 DATA 'SKB ' 52
02471 62424560 1273 DATA 'SKN ' 53
02472 62642260 1274 DATA 'SUB ' 54
02473 21242460 1275 DATA 'ADD ' 55
02474 62642360 1276 DATA 'SUC ' 56
02475 21242360 1277 DATA 'ADC ' 57
02476 62425160 1278 DATA 'SKR ' 60
02477 44314560 1279 DATA 'MIN ' 61
02500 67442160 1280 DATA 'XMA ' 62
02501 21244460 1281 DATA 'ADM ' 63
02502 44644360 1282 DATA 'MUL ' 64
02503 24316560 1283 DATA 'DIV ' 65
02504 51623060 1284 DATA 'RSH ' 66
02505 43623060 1285 DATA 'LSH ' 67
02506 62424460 1286 DATA 'SKM ' 70
02507 43246760 1287 DATA 'LDX ' 71
02510 62422160 1288 DATA 'SKA ' 72
02511 62422760 1289 DATA 'SKG ' 73
02512 62422460 1290 DATA 'SKD ' 74
02513 43242260 1291 DATA 'LDB ' 75
02514 43242160 1292 DATA 'LDA ' 76
02515 25216760 1293 DATA 'EAX ' 77
00002516 1294 FORT1 EQU $
02516 00000000 1295 FORT DATA 0 NO FORTRAN OPTION
02517 1296 $POPT1 RES 64
02617 1297 $POPT2 RES 64
02717 0 00 00000 1298 CADLST PZE CHECK IF ON ADDRESS LIST
02720 0 37 05342 1299 STX ADTMPX
02721 0 75 05414 1300 LDB =0337777
02722 0 71 05343 1301 LDX ADRTOP
02723 0 46 00600 1302 CAD1 XXA
02724 0 54 05440 1303 SUB =1
02725 0 73 05344 1304 SKG ADRBOT
02726 0 01 02736 1305 BRU ADNF EXIT FALSE
02727 0 46 00600 1306 XXA
02730 2 70 00000 1307 SKM 0,2
02731 0 01 02723 1308 BRU CAD1 NOT THIS, TRY ANOTHER
02732 0 61 02717 1309 MIN CADLST JMP IF FOUND
02733 0 37 05300 1310 STX C0 TRUE POINTER TO C0
02734 0 71 05342 1311 LDX ADTMPX
02735 0 51 02717 1312 BRR CADLST
02736 0 46 00200 1313 ADNF CXA RETURN SEARCH ITEM TO A
02737 0 71 05413 1314 LDX =-1
02740 0 37 05300 1315 STX C0 SET C0 NEGATIVE
02741 0 71 05342 1316 LDX ADTMPX RETRIEVE ENTRY INDEX
02742 0 51 02717 1317 BRR CADLST
02743 0 00 00000 1318 SADLST PZE ROUTINE TO ADD TO ADDRESS LIST
02744 0 43 02717 1319 BRM CADLST IS IT THERE ALREADY
02745 0 01 02753 1320 BRU ADTOP1 NO
02746 0 71 05300 1321 LDX C0
02747 0 16 05424 1322 MRG =010000000 SECOND REFERENCE FLAG
02750 2 62 00000 1323 XMA 0,2 STORE IT AND GET ORIGINAL VERSION
02751 0 71 05342 1324 LDX ADTMPX GET X FROM WHERE CADLST PUT IT
02752 0 51 02743 1325 BRR SADLST
02753 0 71 05343 1326 ADTOP1 LDX ADRTOP GET POINTER TO NEXT AVAILABLE
02754 0 61 05343 1327 MIN ADRTOP
02755 2 35 00000 1328 STA 0,2
02756 0 46 00600 1329 XXA
02757 0 55 05431 1330 ADD =2
02760 0 73 05351 1331 SKG DEFBOT CHECK FOR MEMORY OVERFLOW
02761 0 01 02763 1332 BRU $+2 OK
02762 0 43 04366 1333 BRM MEMOV SORRY, PROG TOO BIG
02763 0 46 00200 1334 CXA
02764 0 71 05342 1335 LDX ADTMPX GET X FROM WHERE CADLST PUT IT
02765 0 51 02743 1336 BRR SADLST
1337 * ROUTINE TO DELETE AN ITEM FROM ADDRESS LIST
02766 0 00 00000 1338 DADLST PZE
02767 0 43 02717 1339 BRM CADLST FIND IT
02770 0 00 00000 1340 HLT ERROR
02771 0 71 05300 1341 LDX C0
02772 0 76 05414 1342 LDA =0337777 BOTH MODES UP, TOP MEM
02773 2 62 00000 1343 XMA 0,2
02774 0 72 05424 1344 SKA =010000000 SKIP IF ONLY 1 REFERENCE
02775 2 35 00000 1345 STA 0,2 RESTORE THE REFERENCE
02776 0 71 05342 1346 LDX ADTMPX
02777 0 51 02766 1347 BRR DADLST
1348 * CHECK REFERENCE LIST AN OPEN CHAIN ENDS WITH ALL 0'S A CLOSED O
1349 * WITH TAG 2=1
03000 0 00 00000 1350 CRFLST PZE
03001 0 37 05345 1351 STX RFTMPX
03002 0 75 05414 1352 LDB =0337777
03003 0 71 05346 1353 LDX REFTOP
03004 0 46 00600 1354 CRF1 XXA
03005 0 54 05476 1355 SUB =3
03006 0 73 05347 1356 SKG REFBOT
03007 0 01 03035 1357 BRU RFNF REFERENCE NOT FOUND
03010 0 35 05300 1358 STA C0
03011 0 46 00600 1359 XXA
03012 2 70 00000 1360 CRF2 SKM 0,2
03013 0 01 03030 1361 BRU CRF3 NOT THIS ONE, TRY AGAIN
03014 2 75 00000 1362 LDB 0,2 FOUND IT, GET TYPE BITS
03015 0 36 05303 1363 STB C3
03016 0 46 00600 1364 XXA
03017 0 62 05300 1365 XMA C0 SWITCH TO FIRST POINTER
03020 0 46 00600 1366 XXA
03021 2 75 00002 1367 LDB 2,2 PICK UP LABEL
03022 0 36 05302 1368 STB C2
03023 2 75 00001 1369 LDB 1,2
03024 0 36 05301 1370 STB C1
03025 0 61 03000 1371 MIN CRFLST EXIT TRUE
03026 0 71 05345 1372 LDX RFTMPX SAVE X
03027 0 51 03000 1373 BRR CRFLST
03030 2 52 00000 1374 CRF3 SKB 0,2 IS THIS A CLOSING ENTRY
03031 0 01 03033 1375 BRU $+2 NO
03032 0 01 03004 1376 BRU CRF1 YES, MOVE OVER LABEL
03033 2 77 37777 1377 EAX -1,2 MOVE TO NEXT ADDRESS ITEM
03034 0 01 03012 1378 BRU CRF2 TRY IT
03035 0 46 00200 1379 RFNF CXA RETURN SEARCH ITEM TO A
03036 0 71 05413 1380 LDX =-1 EXIT FALSE
03037 0 37 05300 1381 STX C0
03040 0 71 05345 1382 LDX RFTMPX
03041 0 51 03000 1383 BRR CRFLST
1384 * SET ON REFERENCE LIST
03042 0 00 00000 1385 SRFLST PZE
03043 0 53 05346 1386 SKN REFTOP IS IT OPENED YET
03044 0 01 03053 1387 BRU SRFL1 YES
03045 0 46 00004 1388 CAB
03046 0 76 05351 1389 LDA DEFBOT NO, OPEN IT BELOW DEF
03047 0 35 05346 1390 STA REFTOP
03050 0 54 05440 1391 SUB =1
03051 0 35 05347 1392 STA REFBOT
03052 0 46 00010 1393 CBA
03053 0 37 05345 1394 SRFL1 STX RFTMPX SAVE X
03054 0 71 05347 1395 LDX REFBOT
03055 0 46 00600 1396 XXA
03056 0 54 05430 1397 SUB =4 FOUR ELEMENTS TO START HERE
03057 0 73 05343 1398 SKG ADRTOP
03060 0 43 04366 1399 BRM MEMOV
03061 0 35 05347 1400 STA REFBOT NEW LIST BOTTOM
03062 0 46 00600 1401 XXA
03063 0 46 00002 1402 CLB
03064 2 36 00001 1403 STB 1,2
03065 0 75 05303 1404 LDB C3
03066 2 36 00002 1405 STB 2,2
03067 0 75 05301 1406 LDB C1
03070 2 36 00003 1407 STB 3,2
03071 0 75 05302 1408 LDB C2
03072 2 36 00004 1409 STB 4,2
03073 0 71 05345 1410 LDX RFTMPX
03074 0 51 03042 1411 BRR SRFLST
1412 * FIRST REFERENCE OPEN TAIL
03075 0 00 00000 1413 FRFOT PZE
03076 0 75 03075 1414 LDB $-1
03077 0 36 03103 1415 STB NRFOT
03100 0 75 05346 1416 LDB REFTOP TOP OF LIST
03101 0 36 05350 1417 STB LRFOT LAST REFERENCE OPEN TAIL
03102 0 01 03104 1418 BRU $+2
03103 0 00 00000 1419 NRFOT PZE
03104 0 37 05345 1420 STX RFTMPX
03105 0 76 05413 1421 LDA =-1
03106 0 71 05350 1422 LDX LRFOT
03107 0 75 05414 1423 LDB =0337777
03110 0 46 00600 1424 RFOT1 XXA
03111 0 54 05430 1425 SUB =4
03112 0 73 05347 1426 SKG REFBOT
03113 0 01 03141 1427 BRU OTNF EXIT FALSE
03114 0 35 05300 1428 STA C0
03115 0 46 00600 1429 XXA
03116 2 52 00000 1430 RFOT3 SKB 0,2 IS IT AN END
03117 0 01 03137 1431 BRU RFOT2 NO
03120 2 72 00000 1432 SKA 0,2 ITS AN END, IS IT OPEN
03121 0 01 03110 1433 BRU RFOT1 NO
03122 0 37 05350 1434 STX LRFOT SAVE POINTER FOR NEXT SEARCH ITEM
03123 0 46 00200 1435 CXA YES, SAVE POINTER
03124 0 62 05300 1436 XMA C0 GET POINTER TO LABEL
03125 2 75 00001 1437 LDB 1,2 PICK UP LINK WORD
03126 0 36 05303 1438 STB C3
03127 0 46 00410 1439 RCH 0410 CBA, CAX
03130 2 75 00002 1440 LDB 2,2
03131 0 36 05301 1441 STB C1
03132 2 75 00003 1442 LDB 3,2
03133 0 36 05302 1443 STB C2
03134 0 61 03103 1444 MIN NRFOT EXIT TRUE
03135 0 71 05345 1445 LDX RFTMPX
03136 0 51 03103 1446 BRR NRFOT
00003137 1447 RFOT2 EQU $
03137 2 77 37777 1448 EAX -1,2 TRY NEXT ELEMENT OF SUBLIST
03140 0 01 03116 1449 BRU RFOT3
03141 0 71 05413 1450 OTNF LDX =-1 OPEN TAIL NOT FOUND
03142 0 37 05350 1451 STX LRFOT
03143 0 37 05300 1452 STX C0
03144 0 71 05345 1453 LDX RFTMPX
03145 0 51 03103 1454 BRR NRFOT
1455 * INSERT ONTO REFERENCE LIST ASSUMES LRFOT HAS TAIL TO WHICH WE
1456 * SHOULD TAG
03146 0 00 00000 1457 IRFLST PZE
03147 0 72 05414 1458 SKA =0337777 IS ELEMENT A TAIL
03150 0 01 03153 1459 BRU IRFL1 NO
03151 0 35 45350 1460 STA *LRFOT YES, CLOSE THIS LIST
03152 0 51 03146 1461 BRR IRFLST A SIMPLE INSERTION DONE
03153 0 37 05345 1462 IRFL1 STX RFTMPX
03154 0 46 00004 1463 CAB
03155 0 76 05347 1464 LDA REFBOT
03156 0 54 05440 1465 SUB =1 WERE ADDING ONE ITEM
03157 0 73 05343 1466 SKG ADRTOP DOES IT FIT
03160 0 43 04366 1467 BRM MEMOV SO SORRY
03161 0 35 05347 1468 STA REFBOT
03162 0 54 05350 1469 SUB LRFOT
03163 0 55 05440 1470 ADD =1
03164 0 46 00400 1471 CAX
03165 0 76 05350 1472 LDA LRFOT
03166 0 55 05521 1473 ADD =027600001
03167 0 35 03173 1474 STA IRFL2
03170 0 76 05350 1475 LDA LRFOT
03171 0 55 05522 1476 ADD =023500000
03172 0 35 03174 1477 STA IRFL3
03173 0 76 00000 1478 IRFL2 LDA (LRFOT)+1,2
03174 0 35 00000 1479 IRFL3 STA (LRFOT),2
03175 0 41 03173 1480 BRX $-2 MOVE THE LIST DOWN 1
03176 0 36 45350 1481 STB *LRFOT STOW THE NEW ENTRY
03177 0 60 05350 1482 SKR LRFOT MOVE FOR NEXT SEARCH
03200 0 46 00010 1483 CBA
03201 0 71 05345 1484 LDX RFTMPX
03202 0 51 03146 1485 BRR IRFLST
03203 0 00 00000 1486 CDFLST PZE SEARCH FOR ITEM ON EXTERNAL DEF LIST
03204 0 37 05300 1487 STX C0
03205 0 75 05414 1488 LDB =0337777
03206 0 71 05352 1489 LDX DEFTOP
03207 0 46 00600 1490 CDF1 XXA
03210 0 54 05476 1491 SUB =3
03211 0 73 05351 1492 SKG DEFBOT
03212 0 01 03231 1493 BRU DFNF EXIT FALSE
03213 0 46 00600 1494 XXA
03214 2 70 00000 1495 SKM 0,2
03215 0 01 03207 1496 BRU CDF1 NOT THIS, TRY NEXT
03216 2 75 00002 1497 LDB 2,2 FOUND IT, MOVE TO CENTRAL
03217 0 36 05302 1498 STB C2
03220 2 75 00001 1499 LDB 1,2
03221 0 36 05301 1500 STB C1
03222 2 75 00000 1501 LDB 0,2
03223 0 36 05303 1502 STB C3
03224 0 46 00600 1503 XXA SAVE A IN X, POINTER TO A
03225 0 62 05300 1504 XMA C0 PICK UP OLD X, SAVE POINTER IN C0
03226 0 46 00600 1505 XXA A AND X SAFE
03227 0 61 03203 1506 MIN CDFLST EXIT TRUE
03230 0 51 03203 1507 BRR CDFLST
03231 0 76 05413 1508 DFNF LDA =-1
03232 0 62 05300 1509 XMA C0 SET C0 NEGATIVE, GET INDEX
03233 0 46 00600 1510 XXA REPLACES X AND A
03234 0 51 03203 1511 BRR CDFLST
03235 0 00 00000 1512 SDFLST PZE
03236 0 53 05346 1513 SKN REFTOP IS REFERENCE LIST OPEN
03237 0 43 04366 1514 BRM MEMOV YES, FAILURE
03240 0 37 05353 1515 STX DFTMPX
03241 0 71 05351 1516 LDX DEFBOT
03242 0 46 00600 1517 XXA
03243 0 54 05476 1518 SUB =3
03244 0 73 05343 1519 SKG ADRTOP
03245 0 43 04366 1520 BRM MEMOV MEMORY OVERFLOW
03246 0 35 05351 1521 STA DEFBOT
03247 0 46 00600 1522 XXA
03250 0 75 05303 1523 LDB C3
03251 2 36 00001 1524 STB 1,2
03252 0 75 05301 1525 LDB C1
03253 2 36 00002 1526 STB 2,2
03254 0 75 05302 1527 LDB C2
03255 2 36 00003 1528 STB 3,2
03256 0 71 05353 1529 LDX DFTMPX
03257 0 51 03235 1530 BRR SDFLST
1531 * ROUTINE TO PICK UP THE ADDRESS OF REFERENCED INSTRUCTION
03260 0 00 00000 1532 GADR PZE
03261 0 37 05354 1533 STX GATMPX
03262 0 54 05322 1534 SUB PROGP GET WORD NO. OF RECORD
03263 0 35 05355 1535 STA GATMPA SAVE IT
03264 0 55 05431 1536 ADD =2 INDEX POINTER TO THIS WORD AND BUFF
03265 0 46 00401 1537 RCH 0401 CAX, CLA
T 03266 0 75 05412 1538 LDB =1*/23
03267 0 66 45355 1539 RSH *GATMPA
03270 2 76 04455 1540 LDA BUFF,2 PICK UP THE WORD
03271 0 14 05442 1541 ETR =037777 ADDRESS ONLY
03272 0 16 05441 1542 MRG =020000000 REFERNCE FLAG
03273 0 52 05321 1543 SKB COMR IS IT COMMONED
03274 0 16 05464 1544 MRG =0200000 YES, SET COMMON FLAG
03275 0 52 05316 1545 SKB RELOC IS IT RELOCATABLE
03276 0 16 05500 1546 MRG =0100000 YES SET RELOC FLAG
03277 0 71 05354 1547 LDX GATMPX
03300 0 51 03260 1548 BRR GADR
03301 0 00 00000 1549 SORTAD PZE SORT ADDRESS LIST
03302 0 76 05344 1550 LDA ADRBOT
03303 0 54 05343 1551 SUB ADRTOP
03304 0 55 05440 1552 ADD =1
03305 0 35 05356 1553 STA SORTX
03306 0 76 05343 1554 LDA ADRTOP
03307 0 14 05442 1555 ETR =037777
03310 0 16 05441 1556 MRG =020000000
03311 0 35 05357 1557 STA SORTOP
03312 0 71 05356 1558 LDX SORTX
03313 0 76 45357 1559 LDA *SORTOP DELETE REFERENCE FLAGS
03314 0 14 05414 1560 ETR =0337777 MODE AND ADDRESS ONLY
03315 0 35 45357 1561 STA *SORTOP
03316 0 41 03313 1562 BRX $-3
03317 0 71 05356 1563 LDX SORTX PICK UP POINTER 1
03320 0 37 05360 1564 SORTA1 STX SORTX2 PUT LIST IN INCREASING ORDER
03321 0 37 05356 1565 STX SORTX
03322 0 76 45357 1566 LDA *SORTOP
03323 0 41 03325 1567 BRX $+2
03324 0 01 03341 1568 BRU SORTA2
03325 0 73 45357 1569 SORTA3 SKG *SORTOP
03326 0 01 03331 1570 BRU SORTA4
03327 0 76 45357 1571 LDA *SORTOP GET SMALLER ITEM
03330 0 37 05360 1572 STX SORTX2 SAVE IT LOCATION
03331 0 41 03325 1573 SORTA4 BRX SORTA3
03332 0 71 05356 1574 LDX SORTX
03333 0 62 45357 1575 XMA *SORTOP
03334 0 71 05360 1576 LDX SORTX2
03335 0 35 45357 1577 STA *SORTOP
03336 0 71 05356 1578 LDX SORTX
03337 0 41 03320 1579 BRX SORTA1 MUST ALWAYS BE TRUE
03340 0 00 00000 1580 HLT DEBUG
03341 0 76 05414 1581 SORTA2 LDA =0337777 FLAG END OF LIST
03342 0 35 45343 1582 STA *ADRTOP
1583 * BREAK ADDRESS LIST INTO 3 LISTS
03343 0 71 05344 1584 LDX ADRBOT
03344 0 76 05435 1585 LDA =0300000 COMMON OR RELOC
03345 2 72 00001 1586 SKA 1,2 SKIP IF ABSOLUTE
03346 0 01 03351 1587 BRU $+3
03347 2 77 00001 1588 EAX 1,2
03350 0 01 03345 1589 BRU $-3
03351 0 37 05361 1590 STX AADTOP TOP OF ABSOLUTE ADDRESS LIST
03352 0 76 05464 1591 LDA =0200000 COMMON
03353 2 72 00001 1592 SKA 1,2 SKIP IF NOT COMMON
03354 0 01 03357 1593 BRU $+3
03355 2 77 00001 1594 EAX 1,2
03356 0 01 03353 1595 BRU $-3
03357 0 37 05362 1596 STX RADTOP TOP OF RELOCATABLE LIST
03360 0 76 05500 1597 LDA =0100000 RELOCATABLE
03361 2 72 00001 1598 SKA 1,2 SKIP IF NOT RELOCATABLE
03362 0 01 03365 1599 BRU $+3
03363 2 77 00001 1600 EAX 1,2
03364 0 01 03361 1601 BRU $-3
03365 0 37 05363 1602 STX CADTOP
1603 * SET UP LIST BEGINNINGS
03366 0 76 05362 1604 LDA RADTOP
03367 0 35 05366 1605 STA CADBOT BOTTOM OF COMMON ADDRESS LIST
03370 0 55 05440 1606 ADD =1
03371 0 35 05371 1607 STA CADNXT NEXT COMMON ADDRESS
03372 0 73 05363 1608 SKG CADTOP
03373 0 01 03376 1609 BRU $+3 NOT EMPTY
03374 0 76 05413 1610 LDA =-1 FLAG EMPTY
03375 0 35 05363 1611 STA CADTOP
03376 0 76 05361 1612 LDA AADTOP
03377 0 35 05365 1613 STA RADBOT
03400 0 55 05440 1614 ADD =1
03401 0 35 05370 1615 STA RADNXT
03402 0 73 05362 1616 SKG RADTOP
03403 0 01 03406 1617 BRU $+3 NOT EMPTY
03404 0 76 05413 1618 LDA =-1 FLAG IT IMPTY
03405 0 35 05362 1619 STA RADTOP
03406 0 76 05344 1620 LDA ADRBOT
03407 0 35 05364 1621 STA AADBOT
03410 0 55 05440 1622 ADD =1
03411 0 35 05367 1623 STA AADNXT
03412 0 73 05361 1624 SKG AADTOP
03413 0 01 03416 1625 BRU $+3 NOT EMPTY
03414 0 76 05413 1626 LDA =-1
03415 0 35 05361 1627 STA AADTOP
03416 0 51 03301 1628 BRR SORTAD
1629 * ROUTINE TO MODIFY BLOCK LISTS TO INCLUDE ALL DEFINITIONS
1630 * AND RELOCATABLE REFERENCES
03417 0 00 00000 1631 BLKSET PZE
03420 0 76 05373 1632 LDA BLKNXT
03421 0 35 05374 1633 STA BLKTOP MOVE TOP OF LIST TO TRUE TOP
03422 0 76 05413 1634 LDA =-1
03423 0 35 45374 1635 STA *BLKTOP
03424 0 43 03602 1636 BRM DEFSPN FIND SPAN OF DEFINITIONS
03425 0 75 05435 1637 LDB =0300000 MODE BITS MASK
03426 0 76 45370 1638 LDA *RADNXT FIRST RELATIVE ADDRESS
03427 0 70 05500 1639 SKM =0100000 IS IT INDEED A RELOC ADDRESS
03430 0 01 03437 1640 BRU BLKS1 NO
03431 0 73 04457 1641 SKG BUFF+2
03432 0 35 04457 1642 STA BUFF+2 MINIMUM RELOCATABLE ADDRESS
03433 0 76 45362 1643 LDA *RADTOP
03434 0 73 04460 1644 SKG BUFF+3
03435 0 01 03437 1645 BRU $+2
03436 0 35 04460 1646 STA BUFF+3 MAXIMUM RELOCATABLE ADDRESS
03437 0 76 45371 1647 BLKS1 LDA *CADNXT
03440 0 70 05464 1648 SKM =0200000 IS IT INDEED A COMMON
03441 0 01 03450 1649 BRU BLKS2 NO
03442 0 73 04461 1650 SKG BUFF+4
03443 0 35 04461 1651 STA BUFF+4 MINIMUM COMMON ADDRESS
03444 0 76 45363 1652 LDA *CADTOP
03445 0 73 04462 1653 SKG BUFF+5
03446 0 01 03450 1654 BRU $+2
03447 0 35 04462 1655 STA BUFF+5 MAXIMUM COMMON ADDRESS
03450 0 60 05373 1656 BLKS2 SKR BLKNXT MOVE BACKWARDS THRU BLOCK LIST
03451 0 76 45373 1657 LDA *BLKNXT
03452 0 50 05435 1658 SKE =0300000 BEGINNING OF PROGRAM
03453 0 01 03455 1659 BRU $+2
03454 0 01 03474 1660 BRU BLKS3
03455 0 66 00016 1661 RSH 14 TYPE X 2
03456 0 14 05523 1662 ETR =06 GET TYPE ONLY
03457 0 46 00400 1663 CAX
03460 2 76 04456 1664 LDA BUFF+1,2 MAXIMUM TYPE ADDRESS
03461 0 73 45373 1665 SKG *BLKNXT
03462 0 01 03464 1666 BRU $+2 ADDRESSING IS NOT ABOVE BUFFER
03463 0 35 45373 1667 STA *BLKNXT EXTEND BLOCK TO INCLUDE ADDRESSING
03464 0 60 05373 1668 SKR BLKNXT MOVE TO START OF BLOCK
03465 0 76 45373 1669 LDA *BLKNXT
03466 0 72 05442 1670 SKA =037777 SKIP IF ADDRESS ZERO
03467 0 54 05440 1671 SUB =1 ONE BELOW THIS BLOCK
03470 2 73 04456 1672 SKG BUFF+1,2 IS IT ABOVE TOP OF REFERENCING
03471 0 01 03473 1673 BRU $+2 NO
03472 2 35 04456 1674 STA BUFF+1,2 YES CUT REFERENCING BACK
03473 0 01 03450 1675 BRU BLKS2 GO DO NEXT BLOCK
03474 0 75 05435 1676 BLKS3 LDB =0300000 MODE MASK
03475 0 76 04456 1677 LDA BUFF+1
03476 0 73 04455 1678 SKG BUFF IS THERE AN UNSPANNED ABSOLUTE AREA
03477 0 01 03512 1679 BRU BLKS4 NO
03500 0 61 05373 1680 BLKS5 MIN BLKNXT
03501 0 53 45373 1681 SKN *BLKNXT IS THIS ENDED
03502 0 01 03504 1682 BRU $+2
03503 0 00 00000 1683 HLT DEBUG
03504 0 76 45373 1684 LDA *BLKNXT
03505 0 72 05435 1685 SKA =0300000 SKIP IF ABSOLUTE
03506 0 01 03500 1686 BRU BLKS5
03507 0 76 04455 1687 LDA BUFF LOWEST ASKED ABSOLUTE ADDRESS
03510 0 73 45373 1688 SKG *BLKNXT
03511 0 35 45373 1689 STA *BLKNXT
03512 0 76 05372 1690 BLKS4 LDA BLKBOT
03513 0 35 05373 1691 STA BLKNXT
03514 0 76 04460 1692 LDA BUFF+3
03515 0 73 04457 1693 SKG BUFF+2 IS THERE AN UNSPANNED RELOC AREA
03516 0 01 03533 1694 BRU BLKS6 NO
03517 0 61 05373 1695 BLKS7 MIN BLKNXT MODE MASK
03520 0 53 45373 1696 SKN *BLKNXT IS THIS ENDED
03521 0 01 03523 1697 BRU $+2
03522 0 00 00000 1698 HLT DEBUG
03523 0 76 45373 1699 LDA *BLKNXT
03524 0 70 05500 1700 SKM =0100000 SKIP IF RELOC
03525 0 01 03517 1701 BRU BLKS7
03526 0 76 04457 1702 LDA BUFF+2
03527 0 73 45373 1703 SKG *BLKNXT
03530 0 35 45373 1704 STA *BLKNXT
03531 0 76 05372 1705 LDA BLKBOT
03532 0 35 05373 1706 STA BLKNXT
03533 0 76 04462 1707 BLKS6 LDA BUFF+5
03534 0 73 04461 1708 SKG BUFF+4 IS THERE AN UNSPANNED COMMON AREA
03535 0 01 03552 1709 BRU BLKS8 NO
03536 0 61 05373 1710 BLKS9 MIN BLKNXT
03537 0 53 45373 1711 SKN *BLKNXT IS THIS DONE
03540 0 01 03542 1712 BRU $+2 NO
03541 0 00 00000 1713 HLT DEBUG
03542 0 76 45373 1714 LDA *BLKNXT
03543 0 70 05464 1715 SKM =0200000 SKIP IF COMMON
03544 0 01 03536 1716 BRU BLKS9
03545 0 76 04461 1717 LDA BUFF+4
03546 0 73 45373 1718 SKG *BLKNXT
03547 0 35 45373 1719 STA *BLKNXT
03550 0 76 05372 1720 LDA BLKBOT
03551 0 35 05373 1721 STA BLKNXT
1722 * AUGMENTATION OF BLOCK LIST COMPLETE, SET SPAN OF ABSOLUTE ADDRE
03552 0 76 05413 1723 BLKS8 LDA =-1
03553 0 35 05376 1724 STA MXAAD MAXIMUM ABSOLUTE ADDRESS
03554 0 76 05442 1725 LDA =037777
03555 0 35 05375 1726 STA MNAAD MINIMUM ABSOLUTE ADDRESS
03556 0 61 05373 1727 BLKS10 MIN BLKNXT
03557 0 53 45373 1728 SKN *BLKNXT ARE WE DONE
03560 0 01 03562 1729 BRU $+2
03561 0 01 03575 1730 BRU BLKS11 YES
03562 0 76 45373 1731 LDA *BLKNXT GET STARTER WORD
03563 0 61 05373 1732 MIN BLKNXT MOVE TO END WORD
03564 0 72 05435 1733 SKA =0300000 SKIP IF ABSOLUTE
03565 0 01 03556 1734 BRU BLKS10 TEST NEXT PAIR
03566 0 73 05375 1735 SKG MNAAD
03567 0 35 05375 1736 STA MNAAD SET MINIMUM ABSOLUTE ADDRESS
03570 0 76 45373 1737 LDA *BLKNXT END WORD
03571 0 73 05376 1738 SKG MXAAD
03572 0 01 03556 1739 BRU BLKS10 TRY NEXT PAIR
03573 0 35 05376 1740 STA MXAAD SET MAXIMUM ABSOLUTE ADDRESS
03574 0 01 03556 1741 BRU BLKS10
03575 0 76 05372 1742 BLKS11 LDA BLKBOT
03576 0 35 05373 1743 STA BLKNXT BLOCK POINTER TO BOTTOM
03577 0 76 45373 1744 LDA *BLKNXT
03600 0 35 05322 1745 STA PROGP
03601 0 51 03417 1746 BRR BLKSET
1747 * ROUTINE TO PICK UP THE SPAN OF EXT DEFINITION
03602 0 00 00000 1748 DEFSPN PZE
03603 0 76 05414 1749 LDA =0337777
03604 0 35 04455 1750 STA BUFF MINIMUM ABSOLUTE DEFINITION
03605 0 35 04457 1751 STA BUFF+2 MINIMUM REL. DEFINITION
03606 0 35 04461 1752 STA BUFF+4 MINIMUM COM. DEFINITION
03607 0 76 05413 1753 LDA =-1
03610 0 35 04456 1754 STA BUFF+1 MAXIMUM ABSOLUTE DEFINITION
03611 0 35 04460 1755 STA BUFF+3
03612 0 35 04462 1756 STA BUFF+5
03613 0 76 05352 1757 LDA DEFTOP
03614 0 54 05476 1758 DFSP1 SUB =3
03615 0 73 05351 1759 SKG DEFBOT IS LIST EMPTIED
03616 0 01 03636 1760 BRU DFSP2 YES
03617 0 46 00400 1761 CAX
03620 2 76 00000 1762 LDA 0,2 WANT ADDRESS WORD ONLY
03621 0 66 00016 1763 RSH 14 GET TYPE *2
03622 0 14 05523 1764 ETR =06
03623 0 46 00004 1765 CAB
03624 2 76 00000 1766 LDA 0,2
03625 0 14 05414 1767 ETR =0337777 MODE + ADDRESS ONLY
03626 0 46 00060 1768 XXB
03627 2 73 04455 1769 SKG BUFF,2
03630 2 35 04455 1770 STA BUFF,2 MINIMUM TYPE ADDRESS
03631 2 73 04456 1771 SKG BUFF+1,2
03632 0 01 03634 1772 BRU $+2
03633 2 35 04456 1773 STA BUFF+1,2 MAXIMUM TYPE ADDRESS
03634 0 46 00010 1774 CBA MOVE LIST POINTER TO A
03635 0 01 03614 1775 BRU DFSP1 GO FOR NEXT ITEM
03636 0 51 03602 1776 DFSP2 BRR DEFSPN
1777 * ROUTINE TO MAKE ADDRESS LABEL
03637 0 00 00000 1778 MAKLAB PZE
03640 0 35 05377 1779 STA MKTA
03641 0 14 05414 1780 ETR =0337777 TAKE MODE AND ADDRESS ONLY
03642 0 35 05303 1781 STA C3 INTERNAL LABEL
03643 0 37 05400 1782 STX MKTX
03644 0 72 05435 1783 SKA =0300000 IS IT RELOCATABLE
03645 0 01 03663 1784 BRU MKLBB YES
03646 0 73 05376 1785 SKG MXAAD NO IS IT WITHIN THE PROGRAM
03647 0 73 05375 1786 SKG MNAAD
03650 0 01 03652 1787 BRU $+2 NO, GO OCTAL
03651 0 01 03663 1788 BRU MKLBB
03652 00000005 1789 OCT 5
03653 0 76 05301 1790 LDA C1
03654 0 16 05512 1791 MRG =060600000 TOP 2 CHARACTERS ARE BLANK
03655 0 75 05302 1792 LDB C2
03656 0 67 20014 1793 LCY 12 LEFT JUSTIFY
03657 0 35 05301 1794 STA C1
03660 0 36 05302 1795 STB C2
03661 0 76 05377 1796 LDA MKTA
03662 0 51 03637 1797 BRR MAKLAB
00003663 1798 MKLBB EQU $ BUILD A HXADECIMAL LABEL
03663 0 14 05442 1799 ETR =037777 TAKE ADDRESS ONLY
03664 0 35 05411 1800 STA MKTMP
03665 0 76 05436 1801 LDA =' '
03666 0 35 05301 1802 STA C1
03667 0 35 05302 1803 STA C2
03670 0 76 05411 1804 LDA MKTMP
03671 0 14 05524 1805 MKLBC ETR =017
03672 0 46 00400 1806 CAX
03673 2 76 03730 1807 LDA HEXTAB,2 PICK UP NEXT CHARACTER
03674 0 75 05301 1808 LDB C1 MOVE IT IN
03675 0 66 00006 1809 RSH 6
03676 0 76 05301 1810 LDA C1
03677 0 36 05301 1811 STB C1
03700 0 75 05302 1812 LDB C2
03701 0 66 00006 1813 RSH 6
03702 0 36 05302 1814 STB C2
03703 0 76 05411 1815 LDA MKTMP
03704 0 66 00004 1816 RSH 4 PEEL OFF THE USED BITS
03705 0 35 05411 1817 STA MKTMP
03706 0 72 05442 1818 SKA =037777
03707 0 01 03671 1819 BRU MKLBC
03710 0 76 05525 1820 LDA =' A9'
03711 0 75 05377 1821 LDB MKTA
03712 0 52 05500 1822 SKB =0100000 IS IT LOAD RELOCATABLE
03713 0 76 05526 1823 LDA =' R9' YES
03714 0 52 05464 1824 SKB =0200000 IS IT COMMON RELOCATABLE
03715 0 76 05527 1825 LDA =' C9' YES
03716 0 75 05301 1826 LDB C1 MOVE THE IDENTIFIERS ON
03717 0 66 00014 1827 RSH 12
03720 0 76 05301 1828 LDA C1
03721 0 36 05301 1829 STB C1
03722 0 75 05302 1830 LDB C2
03723 0 66 00014 1831 RSH 12
03724 0 36 05302 1832 STB C2 LABEL COMPLETE
03725 0 76 05377 1833 LDA MKTA
03726 0 71 05400 1834 LDX MKTX
03727 0 51 03637 1835 BRR MAKLAB
00003730 1836 HEXTAB EQU $
03730 60606071 1837 DATA ' Z' 0 HEXADECIMAL ADDRESS TABLE
03731 60606031 1838 DATA ' I' 1
03732 60606041 1839 DATA ' J' 2
03733 60606042 1840 DATA ' K' 3
03734 60606043 1841 DATA ' L' 4
03735 60606044 1842 DATA ' M' 5
03736 60606045 1843 DATA ' N' 6
03737 60606050 1844 DATA ' Q' 7
03740 60606051 1845 DATA ' R' 10
03741 60606062 1846 DATA ' S' 11
03742 60606063 1847 DATA ' T' 12
03743 60606064 1848 DATA ' U' 13
03744 60606065 1849 DATA ' V' 14
03745 60606066 1850 DATA ' W' 15
03746 60606067 1851 DATA ' X' 16
03747 60606070 1852 DATA ' Y' =15 (017)
1853 * ROUTINES TO ASSIST BUILDING OF LINE IMAGE
03750 0 00 00000 1854 ADRESS PZE BUILD ADDRESS OF LIST OUTPUT
03751 0 76 05436 1855 LDA =' '
03752 0 35 05243 1856 STA LINE
03753 0 76 05322 1857 LDA PROGP
03754 00000005 1858 OCT 5
03755 0 76 05301 1859 LDA C1
03756 0 16 05507 1860 MRG =' 0' BLANKS TO TOP 3
03757 0 75 05302 1861 LDB C2
03760 0 67 20014 1862 LCY 12
03761 0 35 05244 1863 STA LINE+1
03762 0 36 05245 1864 STB LINE+2
03763 0 51 03750 1865 BRR ADRESS
03764 0 00 00000 1866 BLNKOP PZE BLANK OPERATIONS CODE
03765 0 76 05436 1867 LDA =' '
03766 0 35 05246 1868 STA LINE+3
03767 0 35 05247 1869 STA LINE+4
03770 0 35 05250 1870 STA LINE+5
03771 0 51 03764 1871 BRR BLNKOP
03772 0 00 00000 1872 BLNKLN PZE
1873 * BLANK REMAINDER OF PRINT LINE
03773 0 37 05401 1874 STX PACKX
03774 0 76 05436 1875 LDA =' '
03775 0 75 05423 1876 LDB =077
03776 0 71 05530 1877 LDX =0200000-13
03777 2 70 05275 1878 SKM LINE+26,2 FIND FIRST WORD WITH BLANK END
04000 0 41 03777 1879 BRX $-1
04001 0 01 04003 1880 BRU $+2
04002 2 35 05275 1881 STA LINE+26,2 BLANK REMAINDER OF IMAGE
04003 0 41 04002 1882 BRX $-1
04004 0 71 05401 1883 LDX PACKX
04005 0 51 03772 1884 BRR BLNKLN
1885 * SUBROUTINE TO PACK C1, C2, C3 ONTO REFERENCED PART OF LINE
04006 0 00 00000 1886 PACK PZE
04007 0 35 05404 1887 STA DOLFLG NEG IF FIRST BLANK TO BE SUPPRESSED
04010 0 14 05476 1888 ETR =03 NO OF CCTRS BEFORE FIRST BLANK TEST
04011 0 35 05402 1889 STA PACKA
04012 0 37 05401 1890 STX PACKX
04013 0 71 05531 1891 PACK3 LDX =-4
04014 0 75 45401 1892 LDB *PACKX
04015 0 67 20006 1893 PACK2 LCY 6
04016 0 60 05402 1894 SKR PACKA
04017 0 41 04015 1895 BRX $-2 CYCLE TILL IGNORABLES ARE PAST
04020 0 36 05403 1896 STB PACKB
04021 0 75 05423 1897 LDB =077
04022 0 70 05436 1898 SKM =' '
04023 0 01 04056 1899 BRU PACK1
04024 0 53 05404 1900 SKN DOLFLG SKIP IF BLAND SUPPRESS
04025 0 01 04030 1901 BRU $+3
04026 0 66 00006 1902 RSH 6 MOVE BLANK CCTR OUT
04027 2 77 37777 1903 EAX -1,2
04030 0 75 05401 1904 LDB PACKX
04031 0 36 05403 1905 STB PACKB
04032 0 37 05402 1906 STX PACKA
04033 0 75 05301 1907 LDB C1
04034 0 43 04062 1908 BRM PACKSF
04035 0 76 05301 1909 LDA C1
04036 0 75 05302 1910 LDB C2
04037 0 43 04062 1911 BRM PACKSF
04040 0 76 05302 1912 LDA C2
04041 0 75 05303 1913 LDB C3
04042 0 43 04062 1914 BRM PACKSF
04043 0 76 05303 1915 LDA C3
04044 0 75 05436 1916 LDB =' '
04045 0 43 04062 1917 BRM PACKSF
04046 0 71 05403 1918 LDX PACKB GET WORD
04047 0 76 05402 1919 LDA PACKA GET NO.OF CHARACTERS THIS LINE PASSED
04050 0 55 05523 1920 ADD =6 POINT TO FIRST CCTR SET ON
04051 0 72 05532 1921 SKA =014 IS WORD OVERFLOWED
04052 2 77 00001 1922 EAX 1,2 YES, MOVE WORD UP
04053 0 14 05476 1923 ETR =03 AT MOST 3 CCTR
04054 0 16 05412 1924 MRG =040000000 SET CONCAATTEENNATE FLAG
04055 0 51 04006 1925 BRR PACK
04056 0 75 05403 1926 PACK1 LDB PACKB PICK UP REST OF WORD
04057 0 41 04015 1927 BRX PACK2 TRY NEXT CHARACTER
04060 0 61 05401 1928 MIN PACKX NONE HERE TRY NEXT WORD
04061 0 01 04013 1929 BRU PACK3
04062 0 00 00000 1930 PACKSF PZE
04063 0 71 05402 1931 LDX PACKA
04064 0 41 04066 1932 BRX $+2
04065 0 01 04070 1933 BRU $+3
04066 0 67 20006 1934 LCY 6 SHIFT UNITL WORD ORIENTED ON LINE
04067 0 01 04064 1935 BRU $-3
04070 0 35 45401 1936 STA *PACKX
04071 0 61 05401 1937 MIN PACKX
04072 0 51 04062 1938 BRR PACKSF
04073 0 00 00000 1939 LABCRD PZE
04074 0 43 04125 1940 BRM NXCRD
04075 0 67 20014 1941 LCY 12
04076 0 35 05251 1942 STA LINE+6
04077 0 36 05252 1943 STB LINE+7
04100 0 76 05413 1944 LDA =-1
04101 0 75 05303 1945 LDB C3 LABEL RESIDES IN C1, 2,3
04102 0 52 05461 1946 SKB =060000000 IS IT EXTERNAL
04103 0 46 00001 1947 CLA
04104 0 35 05404 1948 STA DOLFLG
04105 0 76 05533 1949 LDA =' $'
04106 0 75 05301 1950 LDB C1
04107 0 53 05404 1951 SKN DOLFLG
04110 0 66 00006 1952 RSH 6
04111 0 36 05253 1953 STB LINE+8
04112 0 76 05301 1954 LDA C1
04113 0 75 05302 1955 LDB C2
04114 0 53 05404 1956 SKN DOLFLG
04115 0 66 00006 1957 RSH 6
04116 0 36 05254 1958 STB LINE+9
04117 0 76 05302 1959 LDA C2
04120 0 75 05436 1960 LDB =' '
04121 0 53 05404 1961 SKN DOLFLG
04122 0 66 00006 1962 RSH 6
04123 0 36 05255 1963 STB LINE+10
04124 0 51 04073 1964 BRR LABCRD
1965 * BCD COUNTER ROUTINE FOR CARDS
04125 0 00 00000 1966 NXCRD PZE
04126 0 76 05475 1967 LDA =7
04127 0 35 04161 1968 STA NXCY
04130 0 76 04163 1969 LDA CARD2
04131 0 75 04162 1970 LDB CARD1
04132 0 55 05440 1971 NXLOP ADD =1
04133 0 14 05534 1972 ETR =077777717
04134 0 35 04160 1973 STA NXTMP
04135 0 14 05423 1974 ETR =077
04136 0 73 05535 1975 SKG =011
04137 0 01 04153 1976 BRU NXFIN
04140 0 76 04160 1977 LDA NXTMP
04141 0 14 05536 1978 ETR =077777700
04142 0 66 20006 1979 RCY 6
04143 0 60 04161 1980 SKR NXCY
04144 0 01 04132 1981 BRU NXLOP
04145 0 46 00014 1982 NXIT XAB
04146 0 14 05537 1983 ETR =07777 TAKE AT MOST 6 DIGITS
04147 0 16 05512 1984 MRG =060600000 BLANK TOP TWO
04150 0 35 04162 1985 STA CARD1
04151 0 36 04163 1986 STB CARD2
04152 0 51 04125 1987 BRR NXCRD
04153 0 76 04160 1988 NXFIN LDA NXTMP
04154 0 66 20006 1989 RCY 6
04155 0 60 04161 1990 SKR NXCY
04156 0 01 04154 1991 BRU $-2
04157 0 01 04145 1992 BRU NXIT
04160 1993 NXTMP RES 1
04161 1994 NXCY RES 1
04162 1995 CARD1 RES 1
04163 1996 CARD2 RES 1
04164 0 00 00000 1997 OUTPUT PZE
04165 0 53 04335 1998 SKN LOFLG
04166 0 01 04200 1999 BRU OUTSO
04167 0 76 05540 2000 LDA =28 RESTORE ADDRESS AND COUNTS
04170 0 35 04332 2001 STA CNTLO
04171 0 76 04336 2002 LDA ADRLIN
04172 0 35 04331 2003 STA ADRLO
04173 0 23 04334 2004 EXU CALLLO
04174 0 40 04330 2005 SKS FDTLO
04175 0 76 04330 2006 LDA FDTLO
04176 0 72 05441 2007 SKA =1*/22
04177 0 43 04275 2008 BRM LOERR SKIP IF NO ERROR
04200 0 53 04327 2009 OUTSO SKN SOFLG
04201 0 51 04164 2010 BRR OUTPUT
04202 0 23 04326 2011 EXU CALLSO
04203 0 40 04322 2012 SKS FDTSO
04204 0 76 04322 2013 LDA FDTSO
04205 0 72 05441 2014 SKA =1*/22
04206 0 43 04306 2015 BRM SOERR
04207 0 51 04164 2016 BRR OUTPUT
04210 0 00 00000 2017 FINISH PZE
2018 * ROUTINE TO OUTPUT EXTERNAL LISTING END ENDFILE SO
04211 0 53 04335 2019 SKN LOFLG IS LISTING REWUESTED
04212 0 01 04262 2020 BRU SOFIN NO
04213 0 76 05541 2021 LDA =5
04214 0 35 04332 2022 STA CNTLO
04215 0 76 04336 2023 LDA ADRLIN
04216 0 35 04331 2024 STA ADRLO
04217 0 71 05346 2025 LDX REFTOP FLUSH EXTERNAL REFERENCES
04220 0 46 00200 2026 FIN1 CXA
04221 0 54 05476 2027 SUB =3
04222 0 46 00400 2028 CAX
04223 0 73 05347 2029 SKG REFBOT
04224 0 01 04246 2030 BRU FIN2
04225 2 76 00000 2031 LDA 0,2
04226 0 35 05322 2032 STA PROGP
04227 0 43 03750 2033 BRM ADRESS
04230 2 76 00001 2034 LDA 1,2
04231 0 35 05246 2035 STA LINE+3
04232 2 76 00002 2036 LDA 2,2
04233 0 35 05247 2037 STA LINE+4
04234 0 23 04334 2038 EXU CALLLO
04235 0 40 04330 2039 SKS FDTLO
04236 0 76 04330 2040 LDA FDTLO
04237 0 72 05441 2041 SKA =1*/22 SKIP IF NO ERROR
04240 0 43 04275 2042 BRM LOERR
04241 2 77 37777 2043 EAX -1,2 MOVE POINTER DOWN ONE
04242 2 76 00000 2044 LDA 0,2 PICK UP ADDRESS ITEDM
04243 0 72 05414 2045 SKA =0337777 IS THIS END OF CHAIN
04244 0 01 04241 2046 BRU $-3 NO
04245 0 01 04220 2047 BRU FIN1 YES GET NEXT ITEM
04246 0 76 00420 2048 FIN2 LDA CALP
04247 0 50 04334 2049 SKE CALLLO IS LO ON PRINTER
04250 0 01 04262 2050 BRU SOFIN NO
04251 0 76 05440 2051 LDA =1
04252 0 35 04332 2052 STA CNTLO
EP 04253 0 76 05542 2053 LDA =(=' EOF')
04254 0 35 04331 2054 STA ADRLO
00700000 2055 SVN OPD 0700000
04255 0 43 00261 2056 BRM PRINT CALL THE PRINT HANDLER DIRECTLY
04256 0 07 04330 2057 SVN FDTLO
04257 0 76 04330 2058 LDA FDTLO
04260 0 72 05441 2059 SKA =1*/22 SKIP IF NO ERROR
04261 0 43 04275 2060 BRM LOERR
04262 0 53 04327 2061 SOFIN SKN SOFLG
04263 0 51 04210 2062 BRR FINISH SO NONEXISTEND WE'RE DONE
04264 0 76 00417 2063 LDA CALM
04265 0 50 04326 2064 SKE CALLSO IS SO ON MAGTAPE
04266 0 51 04210 2065 BRR FINISH NO
04267 0 23 04326 2066 EXU CALLSO
04270 0 01 04322 2067 BRU FDTSO WRITE EOF
04271 0 76 04322 2068 LDA FDTSO
04272 0 72 05441 2069 SKA =1*/22
04273 0 43 04306 2070 BRM SOERR
04274 0 51 04210 2071 BRR FINISH
04275 0 00 00000 2072 LOERR PZE
I 04276 5 07 04300 2073 TYPE LOEM,5
04277 0 51 04275 2074 BRR LOERR
04300 43316263 2075 LOEM BCD <LIST OUTPUT ERROR !>
04301 12466463
04302 47646312
04303 25515146
04304 51121252
04305 12121212
04306 0 00 00000 2076 SOERR PZE
I 04307 7 07 04313 2077 TYPE SOEM,6
04310 0 00 00000 2078 HLT
04311 0 51 04306 2079 BRR SOERR
04312 0 01 04200 2080 BRU OUTSO TRY AGAIN
04313 62704422 2081 SOEM BCD <SYMBOLIC OUTPUT ERROR !>
04314 46433123
04315 12466463
04316 47646312
04317 25515146
04320 51121252
04321 12121212
04322 0 00 00000 2082 FDTSO PZE
04323 0 00 05253 2083 PZE LINE+8
04324 00000024 2084 DATA 20
04325 0 02 02650 2085 EOMSO WTD 0,0,4
* 04326 0 43 00000 2086 CALLSO BRM MTAPE
04327 2087 SOFLG RES 1
04330 0 00 00000 2088 FDTLO PZE
04331 0 00 05243 2089 ADRLO PZE LINE
04332 00000034 2090 CNTLO DATA 28
EI 04333 1 03 00000 2091 EOMLO PLP 0,1,4
04334 0 43 04337 2092 CALLLO BRM PRTR
04335 2093 LOFLG RES 1
04336 0 00 05243 2094 ADRLIN PZE LINE
2095 * PSEUDO PRINT ROUTINE THAT HANDLES COMPATIBLE OPS TO OTHER SDS I
04337 0 00 00000 2096 PRTR PZE
04340 0 61 04337 2097 MIN PRTR MOVE TO OP CODE
04341 0 76 44337 2098 LDA *PRTR
04342 0 73 05543 2099 SKG =03777777 IS IT OUTPUT
04343 0 51 04337 2100 BRR PRTR NO
04344 0 17 05501 2101 EOR =04000000
04345 0 72 05544 2102 SKA =01000000
04346 0 17 05545 2103 EOR =05000000
04347 0 35 04351 2104 STA PRNTOP
04350 0 43 00261 2105 BRM PRINT
04351 0 00 00000 2106 PRNTOP HLT
04352 0 51 04337 2107 BRR PRTR
2108 * PSEUDO PTYIO ROUTINE
04353 0 00 00000 2109 PAPR PZE
2110 * 000 IS STANDARD BINARY IN/005 IS PTYIO BINARY + MOVE TO GAP
2111 * 040 IS STANDARD BINARY OUT/041 IS PTYIO BINARY OUT
04354 0 61 04353 2112 MIN PAPR MOVE TO OP CODE
04355 0 76 44353 2113 LDA *PAPR
04356 0 16 05500 2114 MRG =0100000 BINARY MODE FLAG
04357 0 72 05501 2115 SKA =04000000 IS IT OUTPUT
04360 0 01 04362 2116 BRU $+2 YES
04361 0 16 05546 2117 MRG =0400000 SET MOVE TO GAP FLAG
04362 0 35 04364 2118 STA PAPROP
* 04363 0 43 00000 2119 BRM PTYIO
04364 0 00 00000 2120 PAPROP HLT
04365 0 51 04353 2121 BRR PAPR
04366 0 00 00000 2122 MEMOV PZE ROUTINE ON MEMORY TOO SMALL
I 04367 5 07 04374 2123 TYPE MEMMSG,4
04370 0 00 00000 2124 HLT
04371 6 20 77777 2125 NOP *037777,6
04372 0 01 00001 2126 BRU 1
04373 0 51 04366 2127 BRR MEMOV
04374 47514627 2128 MEMMSG BCD <PROGRAM TOO BIG!>
04375 51214412
04376 63464612
04377 22312752
04400 12121212
2129 * ROUTINE TO FORM OCTAL VERSION OF A IN C1, C2
04600401 2130 AXC OPD 04600401
04401 0 00 00000 2131 BINOCT PZE
04402 0 37 04430 2132 STX BOTX
04403 0 75 05476 2133 LDB =3
04404 0 36 04427 2134 STB BOTC
04405 0 66 00003 2135 RSH 3
04406 0 46 00401 2136 AXC
04407 0 66 00003 2137 RSH 3
04410 0 46 00200 2138 CXA
04411 0 60 04427 2139 SKR BOTC
04412 0 01 04405 2140 BRU $-5
04413 0 36 05302 2141 STB C2
04414 0 75 05476 2142 LDB =3
04415 0 36 04427 2143 STB BOTC
04416 0 66 00003 2144 RSH 3
04417 0 46 00401 2145 AXC
04420 0 66 00003 2146 RSH 3
04421 0 46 00200 2147 CXA
04422 0 60 04427 2148 SKR BOTC
04423 0 01 04416 2149 BRU $-5
04424 0 36 05301 2150 STB C1
04425 0 71 04430 2151 LDX BOTX
04426 0 51 04401 2152 BRR BINOCT
04427 2153 BOTC RES 1
04430 2154 BOTX RES 1
04431 12224646 2155 BOOTM BCD < BOOTSTRAP >
04432 63626351
04433 21471212
04434 12126445 2156 UIRM BCD < UNIDENTIFIED RECORD >
04435 31242545
04436 63312631
04437 25241251
04440 25234651
04441 24121212
04442 12122330 2157 CSMSG BCD < CHECKSUM ERROR>
04443 25234262
04444 64441225
04445 51514651
04446 12121212
04447 12124425 2158 OVMSG BCD < MEMORY OVERFLOW >
04450 44465170
04451 12466525
04452 51264346
04453 66121212
04454 12121212
2159 * BUFFERS AND FORMALLY DEFINED CELLS
04455 2160 BUFF RES 400 FOR RTM BLOCKED RECORDS
00005243 2161 LINE EQU BUFF+400-26
05275 51252725 2162 BCD <REGEN > RECORD LABEL
05276 45121212
05277 12121212
05300 2163 C0 RES 1 CENTRAL DATA TRANSFER CELLS
05301 2164 C1 RES 1
05302 2165 C2 RES 1
05303 2166 C3 RES 1
05304 2167 END RES 1 END RECORD FLAG NEG FOR TRUE
05305 2168 CNT RES 1 RECORD WORD COUNT
05306 2169 PASS RES 1 PASS FLAG NEG FOR 1
05307 2170 WDCNT RES 1 PHYSICAL RECORD WORD COUNT
05310 2171 BEGMEM RES 1 START OF LIST AREA
05311 2172 ENDMEM RES 1 END OF LIST AREA
05312 2173 CSCNT RES 1 CNT AS USED BY CKSUM
05313 2174 RDCNT RES 1 CNT AS USED BY READ
05314 2175 CSX RES 1 TEMPX FOR CKSUM
05315 2176 ENDTX RES 1 TEMPX FOR ENDREC
05316 2177 RELOC RES 1 RELOCATION FLAGS
05317 2178 IOREL RES 1
05320 2179 POPR RES 1
05321 2180 COMR RES 1
05322 2181 PROGP RES 1 POINTER TO $ 'HERE'
05323 2182 ADRP RES 1 ADDRESS POINTED TO BY INSTRUCTION
05324 2183 DNTX RES 1 TEMPX FOR DATA READING
05325 2184 INS1 RES 1 TRANSFER CELLS FOR DECOMPOSED INSTRUC
05326 2185 INS2 RES 1
05327 2186 INS3 RES 1
05330 2187 STAR RES 1 INDIRECT ADDRESSING FLAG NEG=FALSE
05331 2188 TAG RES 1 TAG FIELD OF INSTRUCTION
05332 2189 ANS RES 1 ANSWER FLAG FOR INSTEST
05333 2190 LINCC RES 1 LINE POINTERS FOR EXTENDED PACKING
05334 2191 LINXP RES 1
05335 2192 DTX RES 1 DATA TEMPX
05336 2193 RDTX RES 1 TEMPX FOR BACKWARDS READING
2194 * 09 '' HH 6 H H
05337 2195 PSBTA RES 1 TEMPA FOR PSETB
05340 2196 PSBTX RES 1 TEMPX FOR PSETB
05341 2197 PSTMPA RES 1 TEMPA FOR PSET
05342 2198 ADTMPX RES 1 TEMPX FOR ADDRESS LIST
05343 2199 ADRTOP RES 1 TOP OF ADDRESS LIST
05344 2200 ADRBOT RES 1 BOTTOM OF ADDRESS LIST
05345 2201 RFTMPX RES 1 TEMPX FOR REFERENCE LIST
05346 2202 REFTOP RES 1 TOP OF REFERENCE LIST
05347 2203 REFBOT RES 1 BOTTOM OF REFERENCE LIST
05350 2204 LRFOT RES 1 LAST REFERENCED OPEN TAIL
05351 2205 DEFBOT RES 1 BOTTOM OF DEF LIST
05352 2206 DEFTOP RES 1 TOP OF DEF LIST
05353 2207 DFTMPX RES 1 TEMPX FOR DEFLIST
05354 2208 GATMPX RES 1 TEMPX FOR GADR
05355 2209 GATMPA RES 1 TEMPA FOR GADR
05356 2210 SORTX RES 1 INDEX FOR ADRESS LIST SORTING
05357 2211 SORTOP RES 1 LIST TOP FOR ADDRESS LIST SORTING
05360 2212 SORTX2 RES 1 TEMP SORTX
05361 2213 AADTOP RES 1 TYPED ADDRESS LISTS, TOP + BOTTOM
05362 2214 RADTOP RES 1
2215
05363 2216 CADTOP RES 1
05364 2217 AADBOT RES 1
05365 2218 RADBOT RES 1
05366 2219 CADBOT RES 1
05367 2220 AADNXT RES 1
05370 2221 RADNXT RES 1
05371 2222 CADNXT RES 1
00005372 2223 LSTBOT EQU $ BLOKLIST TOP + NEXT + BOTTOM
05372 2224 BLKBOT RES 1
00005373 2225 LSTNXT EQU $
05373 2226 BLKNXT RES 1
00005374 2227 LSTTOP EQU $
05374 2228 BLKTOP RES 1
05375 2229 MNAAD RES 1 MINIMUM ABSOLUTE ADDRESS
05376 2230 MXAAD RES 1 MAXIMUM ABSOLUTE ADDRESS
05377 2231 MKTA RES 1 TEMPA FOR MAKLAB
05400 2232 MKTX RES 1 TEMPX FOR MAKLAB
05401 2233 PACKX RES 1 TEMPX FOR LINE BUILDING PACK ROUTINE
05402 2234 PACKA RES 1 TEMPA FOR LINE PACKER
05403 2235 PACKB RES 1 TEMPB FOR LINE PACKER
05404 2236 DOLFLG RES 1 EXTERNAL LABEL FLAG -LABEL MAKER
05405 2237 PROGP1 RES 1
05406 2238 PROGP2 RES 1
05407 2239 ITA RES 1
05410 2240 ITX RES 1
05411 2241 MKTMP RES 1
00000200 2242 END REGEN
05412 40000000
05413 77777777
05414 00337777
05415 00000257
05416 00017777
05417 00037700
05420 00001000
05421 00000107
05422 04014010
05423 00000077
05424 10000000
05425 00000100
05426 00200600
05427 00000020
05430 00000004
05431 00000002
05432 00000010
05433 00000040
05434 00000016
05435 00300000
05436 60606060
05437 00177747
05440 00000001
05441 20000000
05442 00037777
05443 00000000
05444 77770000
05445 00030000
05446 00070000
05447 00050000
05450 62000000
05451 11777777
05452 77000000
05453 12676767
05454 17777760
05455 03200000
05456 77777776
05457 00004455
05460 00000050
05461 60000000
05462 77777775
05463 23464460
05464 00200000
05465 47514660
05466 60137777
05467 24216321
05470 60216000
05471 07700000
05472 60316000
05473 60516000
05474 00005243
05475 00000007
05476 00000003
05477 02000000
05500 00100000
05501 04000000
05502 25452460
05503 00000377
05504 47464724
05505 53606060
05506 00040000
05507 60606000
05510 54606060
05511 73606000
05512 60600000
05513 60606073
05514 70000000
05515 51256260
05516 00000046
05517 26010001
05520 04606060
05521 27600001
05522 23500000
05523 00000006
05524 00000017
05525 60602111
05526 60605111
05527 60602311
05530 00177763
05531 77777774
05532 00000014
05533 60606053
05534 77777717
05535 00000011
05536 77777700
05537 00007777
05540 00000034
05541 00000005
05542 00000000
05543 03777777
05544 01000000
05545 05000000
05546 00400000
04326 MTAPE
00724 MTAPE
00710 MTAPE
00705 MTAPE
00675 MTAPE
00666 MTAPE
00612 MTAPE
00417 MTAPE
04363 PTYIO
00341 QBINO
00335 QSYMO
00317 QSYST
00331 QSYSU
02156 RESVE
02143 RESVE
02112 RESVE
00412 ASGNER
00374 ASGNER
00416 CDRP
00757 ILLEGA
00756 ILLEGA
00754 ILLEGA