Previous File   Multiple Pages   Next File

* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 1

0001 * O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 0002 * 0003 * 0004 * 0005 * COMPUTER: H316, H516 0006 * 0007 * 0008 * PROGRAM CATEGORY: ASSEMBLER 0009 * 0010 * 0011 * PROGRAM TITLE: DPM2UP 0012 * UPDATE TO DAP-16M2 70181446000 C TO SAVE INDEX 0013 * 0014 * 0015 * 0016 * 0017 * 0018 * 0019 * 0020 * 0021 * 0022 * 0023 * 0024 * APPROVAL DATE 0025 * 0026 * 0027 * 0028 * PROG---------------------- ------------ 0029 * 0030 * 0031 * SUPR---------------------- ------------ 0032 * 0033 * 0034 * QUAL---------------------- ------------ 0035 * 0036 * 0037 * NO. OF PAGES 0038 * 0039 * 0040 * AUTHOR 0041 * 0042 * HONEYWELL INFORMATION SYSTEMS LIMITED 0043 * 0044 * 0045 * PURPOSE 0046 * 0047 * UPDATE TO DAP-16M2 70181446000 C TO PRESERVE AND RESTORE INDEX 0048 * REGISTER WHEN CALLING EXTERNAL ROUTINES WHICH LINK WITH I/O. 0049 * 0050 *
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 2

0051 * RESTRICTIONS 0052 * 0053 * ONLY TO BE USED WITH DAP-16M2 70181446000 C 0054 * 0055 * 0056 * STORAGE 0057 * 0058 * 5622 (OCTAL) 0059 * 2962 (DECIMAL) 0060 * 0061 * 0062 * USE 0063 * 0064 * UPDATE SOURCE OF DAP-16M2 70181446000 C WITH UPDATE INSTRUCTIONS 0065 * AS BELOW AND ASSEMBLE NEW MASTER TO GET OBJECT PROGRAM OF UPDATED 0066 * DAP-16M2 FOR INCORPORATION IN DAP-16M2 SYSTEM AS DESCRIBED IN 0067 * HONEYWELL SERIES 16 ASSEMBLY LANGUAGES MANUAL DOCUMENT NO. 0068 * 41286384-000-01 0069 * 0070 * THE UPDATE PROGRAM TO BE USED IS SSUP 180767000 0071 * 0072 * 0073 * ERRORS 0074 * 0075 * NONE 0076 * 0077 * 0078 * METHOD 0079 * 0080 * THE FOLLOWING UPDATE INSTRUCTIONS GENERATE A DAP-16M2 SOURCE FROM 0081 * DAP-16M2 70181446000 C WHICH SAVES ITS OWN INDEX REGISTER WHEN 0082 * CALLING EXTERNAL ROUTINES WHICH LINK WITH I/O. 0083 * 0084 * #NSRT2928 0085 * STX MOD 0086 * #NSRT2929 0087 * LDX MOD 0088 * #OMIT3002 0089 * BEGF STX MOD 0090 * CALL D$SOM START OBJECT DEVICE 0091 * LDX MOD 0092 * #OMIT3375 0093 * JMP *+14 0094 * #NSRT3382 0095 * STX MOD 0096 * #NSRT3383 0097 * LDX MOD 0098 * #OMIT3390 0099 * JMP SLT1+4 0100 * #OMIT3396,3397
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 3

0101 * SLT1 STX MOD 0102 * SMI SKIP IF ERROR ONLY LISTING 0103 * CALL D$OL LIST THE LINE 0104 * LDX MOD 0105 * #OMIT3863 0106 * END '400 END OF DPM2UP 0107 * #DONE 0108 * 0109 * 0110 ************************************************************************* 0111 EJCT
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 4

0112 * O100 (DAP-16M2) DWG. 70181446000 REV. C 0113 * 0114 * 0115 * 0116 * COMPUTER: H316, DDP-516 0117 * 0118 * 0119 * PROGRAM CATEGORY: ASSEMBLY 0120 * 0121 * 0122 * PROGRAM TITLE: DAP-16M2 0123 * ONE/TWO PASS ASSEMBLY PROGRAM 0124 * 0125 * 0126 * REVISIONS: 0127 * 0128 * REV. B ECO 9005 12-02-70 0129 * REV. A 05-04-70 0130 * 0131 * 0132 * AUTHOR 0133 * 0134 * HONEYWELL INC., COMPUIER CONTROL DIVISION 0135 * 0136 * 0137 * 0138 * 0139 * TO ASSEMBLE SOURCE LANGUAGE PROGRAMS FOR USE ON THE DDP-116, 0140 * DDP-416, DDP-516, AND H316 COMPUTERS. 0141 * 0142 * 0143 * RESTRICTIONS 0144 * 0145 * THIS PROGRAM WILL OPERATE ON A DDP-516 OR H316 0146 * WITH A MINIMUM CORE SIZE OF 4K. 0147 * 0148 * 0149 * STORAGE 0150 * 0151 * 5611 (OCTAL) 0152 * 2953 (DECIMAL) 0153 * 0154 * 0155 * USE 0156 * 0157 * 1) SOURCE LANGUAGE 0158 * 0159 * REFER TO THE H316/DDP-516 PROGRAMMERS REFERENCE 0160 * MANUAL FOR SOURCE LANGUAGE SPECIFICATIONS. SOURCE 0161 * PROGRAM FORMAT. AND ERROR FLAG EXPLANATION.
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 5

0162 * 0163 * 0164 * 2) SYSTEM CONFIGURATION 0165 * 0166 * IN ADDITION TO THE ASSEMBLER ITSELF. A CONVERSION 0167 * ROUTINE. AN I/O SUPERVISOR. THE I/O LIBRARY ROUTINES 0168 * FOR AVAILABLE DEVICES, AND THE SYMBOL TABLE 0169 * SET UP ROUTINE, TABLESIZ, ARE REQUIRED. THE SYMBOL TABLE 0170 * MAP PRINTER, SYMLIST, IS OPTIONAL. 0171 * FOR A 4K SYSTEM, A DEDICATED IOS MUST BE USED. 0172 * IF GREATER THAN 4K OF MEMORY IS AVAILABLE. A SELECTABLE 0173 * DEVICE IOS MAY BE USED. 0174 * TWO CONVERSION ROUTINES ARE AVAILABLE. O16-DECS 0175 * PROVIDES FOR SINGLE WORD. NONSCALED FIXED POINT 0176 * HEXIDECIMAL, OCTAL, AND DECIMAL CONVERSIONS. THIS ROUTINE MUST 0177 * BE USED IN A 4K SYSTEM. THE CONVERSION ROUTINE O16-DECL MAY 0178 * BE USED IN SYSTEMS WITH GREATER THAN 4K OF MEMORY. IT 0179 * PROVIDES SCALED AND MULTI WORD FIXED AND FLOATING POINT 0180 * CONVERSIONS IN ADDITION TO THE CAPIBILITIES OF O16-DECS. 0181 * THE ROUTINE TABLESIZ IS USED TO DETERMINE 0182 * THE STORAGE AREA AVAILABLE FOR THE ASSEMBLER AND THE 0183 * DEFAULT COMMON BASE. THIS MUST BE THE LAST ROUTINE 0184 * LOADED WHEN CONFIGURING THE ASSEMBLER. 0185 * 0186 * THE FOLLOWING LIST GIVES THE NAME OF EACH 0187 * STANDARD IOS AND THE DEVICES THAT IT CAN USE: 0188 * 0189 * 0190 * TITLE INPUT DEVICE OBJECT DEVICE LISTING DEVICE 0191 * ----- ------------ ------------- -------------- 0192 * 0193 * IOS-OAAA ASR ASR ASR 0194 * IOS-ORAA PTR ASR ASR 0195 * IOS-OCAA CARD ASR ASR 0196 * IOS-ORPA PTR PTP ASR 0197 * IOS-OCPA CARD PTP ASR 0198 * IOS-O13D ASR,PTR,CARD, ASR,PTP,CARD, ASR,PTP,LP, 0199 * MAG,DISC MAG,DISC MAG,DISC 0200 * 0201 * 0202 * 3) OPERATION 0203 * 0204 * THERE ARE FIVE STARTING POINTS IN THE 0205 * ASSEMBLER 0206 * 0207 * 1) '400 - START NORMAL ASSEMBLY 0208 * 2) '401 - CONTINUE ASSEMBLY (RESTART AFTER 0209 * FEED CHECK, ETC.) 0210 * 3) '402 - START SUBROUTINE ASSEMBLY (NO EOF 0211 * IS PLACED ON OBJECT)
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 6

0212 * 4) '403 - TERMINATE ASSEMBLY - DUMP BUFFERS. 0213 * OUTPUT EOF ON OBJECT 0214 * 4) '404 - RESTART PASS TWO (FOR ADDITIONAL TAPES 0215 * AND/OR LISTINGS) 0216 * 0217 * STARTING POINTS 1,3, AND 5 REQUIRE AN A REGISTER 0218 * PARAMETER SETTING. THE FOLLOWING PAGE GIVES THE EXPLAINATION 0219 * OF THIS PARAMETER SETTING. IF MAG. TAPES ARE USED. 0220 * A B REGISTER SETTING MAY BE REQUIRED. REFER TO THE LISTING OF 0221 * THE IOS THAT IS USED FOR B REGISTER SETTING EXPLAINATION. 0222 * 0223 * 0224 EJCT .............................................................
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 7

0225 * A REGISTER PARAMETER SETTINGS 0226 * 0227 * 0228 * ................................................................. 0229 * : : : : : : : : : : : : : : : : : 0230 * : P : C : E : M : A : U : U : S : S : S : O : O : O : L : L : L : 0231 * :...:...:...:...:...:...:...:...:...:...:...:...:...:...:...:...: 0232 * 0233 * 0234 * WHERE: 0235 * 0236 * P = 0 IF ONE PASS ASSEMBLY 0237 * 1 IF TWO PASS ASSEMBLY 0238 * C = 0 TO INHIBIY LISTING OF CONDITIONAL PSEUDO-OPS 0239 * AND STATEMENTS SKIPPED AS A RESULT OF INHIBITED 0240 * ASSEMBLY 0241 * 1 TO LIST CONDITIONAL PSEUDO-OPS AND STATEMENTS 0242 * SKIPPED AS A RESULT OF INHIBITED ASSEMBLY 0243 * E = 0 TO LIST ALL STATEMENTS 0244 * 1 TO LIST ONLY ERROR LINES 0245 * M = 0 TO PRINT SYMBOL TABLE MAP AT END OF ASSEMBLY 0246 * 1 TO INHIBIT PRINTING OF SYMBOL TABLE MAP 0247 * A - IF SET, THE COMPUTER WILL HALT BEFORE AND 0248 * AFTER EACH BLOCK OF OBJECT TEXT IS OUTPUT. 0249 * THIS IS TO ALLOW THE ASR-33 PUNCH TO BE 0250 * TURNED ON AND OFF SO THAT EXTRANIOUS 0251 * DATA WILL NOT BE PUNCHED ON THE OBJECT TAPE. 0252 * U - UNASSIGNED 0253 * S - USED FOR SOURCE DEVICE SELECTION - REFER 0254 * TO LISTING OF THE IOS THAT IS USED FOR DEVICE CODES 0255 * O - USED FOR OBJECT DEVICE SELECTION - REFER 0256 * TO LISTING OF THE IOS THAT IS USED FOR DEVICE CODES 0257 * L - USED FUR LISTING DEVICE SELECTION - REFER 0258 * TO LISTING OF THE IOS THAT IS USED FOR DEVICE CODES 0259 * 0260 * 0261 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 8

0262 ************ NOTES ON ASSEMBLER CAPABILITIES ************ 0263 * 0264 * 0265 * 1) THE 'R' AND 'L' DIAGNOSTIC CHECKS ARE IMPLEMENTED. THEY 0266 * PERFORM ACCORDING TO THE ASSEMBLER MANUAL. 0267 * 0268 * 2) THE SCOPE OF THE 'M' (MULTIPLY DEFINED SYMBOL) CHECK HAS 0269 * BEEN EXTENDED. THE 'M' DIAGNOSTIC WILL BE FLAGGED ON EVERY 0270 * OCCURANCE OF THE SYMBOL IN THE LOCATION FIELD. AND ALSO ON 0271 * EVERY REFERENCE TO A MULTIPLY DEFINED SYMBOL. 0272 * 0273 * 3) A 'P' ERROR DIAGONISTIC WILL BE FLAGGED IF THE VALUE OF A 0274 * SYMBOL IS DIFFERENT ON PASS TWO FROM WHAT IT WAS ON PASS 0275 * ONE. THIS IS CAUSED BY: 0276 * A) ALTERING THE SOURCE PROGRAM BETWEEN PASSES. 0277 * B) IN CERTAIN CASES. USING AN UNDEFINED SYMBOL IN THE 0278 * ADDRESS FIELD OF A PSEUDO-OP WHICH REQUIRES ALL 0279 * SYMBOLS TO BE DEFINED. 0280 * FOR EXAMPLE: 0281 * 0282 * BSS L 0283 * L EQU 10 0284 * P A DAC ** 0285 * 0286 * IN PASS ONE. THE BSS WILL ASSIGN ZERO LOCATIONS SINCE 0287 * THE VALUE OF L IS UNKNOWN. IN PASS TWO. IT WILL 0288 * ASSIGN 10 LOCATIONS BECAUSE L HAS SINCE BEEN DEFINED. 0289 * NOTE THAT THE DIAGNOSTIC FLAG 'P' APPEARS AT THE POINT 0290 * WHERE THE PHASE ERROR IS DETECTED AND NOT WHERE THE 0291 * ERROR IS CAUSED. 0292 * 0293 * 0294 * 0295 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 9

0296 * THE FOLLOWING SYMBOLS ARE REFERENCED 0297 * BY OTHER ROUTINES IN THE DAP-16M2PACKAGES. 0298 * 0299 ENT DECF DECIMAL FLAG 0300 ENT D$TP HIGHEST LOCATION IN SYMBOL TABLE 0301 ENT D$SZ NUMBER OF WORDS AVAILABLE IN SYMBOL TABLE 0302 ENT D$CB DEFAULT COMMON BASE 0303 ENT TST PARAMETER WORD 0304 ENT ZP PASS INDICTAOR 0305 ENT CSYM CURRENT COUNT OF SYMBOL TABLE ENTRIES 0306 ENT BSYM CURRENT BASE OF SYMBOL TABLE 0307 ENT UPAK LINKAGE ADDRESS TO CHAR. UNPACKING ROUTINE 0308 ENT LITF LITERAL FLAG 0309 ENT ERD CONVERSION ERROR FLAG 0310 ENT WCNT WORD COUNT OF NUMERIC CONVERSION 0311 ENT DOCT CURRENT CONVERSION MODE 0312 ENT TERM LAST CHARACTER SCANNED 0313 ENT NUM FIRST WORD OF NUMERIC ACCUMULATOR 0314 ENT NUM1 SECOND WORD OF NUMERIC ACCUMULATOR 0315 ENT NUM2 THIRD WORD OF NUMERIC ACCUMULATOR 0316 ENT NUM3 0317 ENT SIGN SIGN OF CURRENT ADDRESS TERM 0318 ENT ALFA ALPHABETIC ITEM FLAG 0319 ENT OTPB LISTING BUFFER 0320 ENT INPB INPUT BUFFER 0321 ENT OUTB OBJECT TEXT BUFFER 0322 ENT OTBX OBJECT TEXT BUFFER + 1 0323 ENT CSRD 0324 ENT OPTD OCTAL-ASCII CONVERSION ROUTINE 0325 ENT LSTD OUTPUT LIST BUFFER 0326 ENT LSIZ LIST BUFFER SIZE FLAG 0327 ENT ZPT 0328 ENT TAB1 STORAGE FOR SYMBOL TABLE SORT 0329 ENT TAB2 DITTO 0330 ENT T136 0331 ENT T137 0332 ENT T236 0333 ENT T237 0334 ENT LGCT ERROR COUNTER 0335 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 10

0336 * 0337 CF3 FOR USE ON H316 AND DDP-516 0338 ABS THIS PROGRAM IS NOT RELOCATABLE 0339 ORG '400 0340 * 0341 * ASSEMBLER ENTRY POINTS 0342 * 0343 00400 -0 01 00535 JMP* GO START NORMAL ASSEMBLY 0344 00401 -0 01 00553 JMP* LIN CONTINUE ASSEMBLY 0345 00402 -0 01 00536 JMP* SBA START SUBROUTINE ASSEMBLY 0346 00403 -0 01 00537 JMP* PND PUNCH END BLOCK 0347 00404 -0 01 00571 JMP* R2 RESTART PASS 2 0348 * 0349 * 0350 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 11

0351 * 0352 * FLAGS, COUNTERS, AND ACCUMULATORS 0353 * 0354 00405 CLOC BSS 1 LOCATION COUNTER 0355 00406 ABSW BSS 1 ASSEMBLY RELOCATION MODE 0356 00407 LODF BSS 1 LOAD MODE FLAG 0357 00410 LSTW BSS 1 LISTING SWITCH 0358 00411 TTLF BSS 1 HEADING SWITCH 0359 00412 CNTR BSS 1 LINE COUNTER 0360 00413 ERCT BSS 1 ERROR COUNTER 0361 00414 CRP BSS 1 INHIBITED ASSEMBLY COUNTER 0362 00415 TCNT BSS 1 CURRENT UNMATCHED CONDITIONAL COUNT 0363 00416 LSIZ BSS 1 LIST BUFFER SIZE FLAG 0364 00417 RBIT BSS 1 ACCUMULATED RELOCATION COUNTER 0365 00420 E BSS 1 FORWARD REFERENCE FLAG 0366 00421 E1 BSS 1 MULTIPLE UNDEFINED FLAG 0367 00422 DBFL BSS 1 DOUBLE PRECISION MODE FLAG 0368 00423 SUM BSS 1 EXPRESSION RESULT ACCUMULATOR 0369 00424 ADRF BSS 1 ADDRESS REQUIRED FLAG 0370 00425 INDA BSS 1 INDIRECT/INDEX ALLOWED FLAG 0371 00426 INDF BSS 1 INDIRECT REFERENCE FLAG 0372 00427 TAG BSS 1 INDEX FLAG 0373 00430 DECF BSS 1 DECIMAL CONVERSION MODE FLAG 0374 00431 SETF BSS 1 SET PSEUDO-OP FLAG 0375 00432 DACF BSS 1 ADDRESS CONSTANT FLAG 0376 00433 D$TP BSS 1 HIGHEST AVAILABLE SYMBOL TABLE LOCATION 0377 00434 D$SZ BSS 1 NUMBER OF WORDS AVAILABLE IN SYMBOL TABLE 0378 00435 D$CB BSS 1 DEFAULT COMMON BASE 0379 00436 ZP BSS 1 PASS INDICATOR 0380 00437 WORD BSS 1 OPCODE STORAGE 0381 00440 W2 BSS 1 OBJECT TEXT OUTPUT INFORMATION 0382 00441 ERD BSS 1 CONVERSION ERROR INDICATOR 0383 00442 WCNT BSS 1 0384 00443 DOCT BSS 1 CURRENT CONVERSION MODE 0385 00444 TERM BSS 1 LAST CHARACTER EXAMINED 0386 00445 000000 NUM BSZ 3 NUMERIC ACCUMULATOR 0387 000446 NUM1 EQU NUM+1 0388 000447 NUM2 EQU NUM+2 0389 000450 NUM3 EQU NUM+3 0390 00450 000000 SYL BSZ 3 ALPHANUMERIC ACCUMULATOR 0391 00453 SIGN BSS 1 SIGN OF SYL 0392 00454 000000 SYL1 BSZ 3 0393 00457 SIGT BSS 1 SIGN OF SYL1 0394 00460 ALFA BSS 1 ALPHABETIC MODE SWITCH 0395 00461 TST BSS 1 ASSEMBLY PARAMETER WORD 0396 00462 FREE BSS 1 NUMBER OF NULL ENTRIES IN SYMBOL TABLE 0397 00463 RELV BSS 1 RELOCATION MODE OF ADDRESS TERM 0398 00464 SYL2 BSS 1 CHARACTER/WORD COUNTER FOR PACKING 0399 00465 SYL3 BSS 1 WORD COUNTER FOR CHARACTER PACKING 0400 00466 DEOT BSS 1 DEFAULT CONVERSION MODE
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 12

0401 00467 SYMC BSS 1 SYMBOL TABLE SEARCH COUNTER 0402 00470 CSYM BSS 1 CURRENT COUNT OF SYMBOL TABLE ENTRIES 0403 00471 BSYM BSS 1 CURRENT BASE OF SYMBOL TABLE 0404 00472 CBT1 BSS 1 OPCODE CLASSIFICATION FLAGS 0405 00473 DSYM BSS 1 END PSEUDO-OP SCAN COUNTER 0406 00474 CBT2 BSS 1 OPCODE CLASSIFICATION FLAGS 0407 00475 T BSS 1 TEMPORARY STORAGE 0408 00476 TCMP BSS 1 TEMPORARY STORAGE 0409 00477 DBCT BSS 1 LIST COUNTER FOR BCI PSEUDO-OP 0410 00500 DBNM BSS 1 LIST COUNTER FOR BCI PSEUDO-OP 0411 00501 DBPT BSS 1 0412 00502 COML BSS 1 CURRENT COMMON BASE 0413 00503 BOPS BSS 1 END OF LEGAL OPCODES 0414 00504 0 000450 SYLC DAC SYL POINTER TO SYLLABLE REGISTERS 0415 00505 SYLP BSS 1 TEMP. STORAGE FOR CHARACTER PACKING 0416 00506 LITF BSS 1 LITERAL FLAG 0417 00507 SUBF BSS 1 0418 00510 ICON BSS 1 TEMP STORAGE FOR COUNTER UPDATE 0419 00511 ZPT BSS 1 ASSEMBLY CONTROL FLAG 0420 00512 BLKS BSS 1 OBJECT TEXT BUFFER WORD COUNT 0421 00513 ROOM BSS 1 SIZE CONSTANT FOR OBJECT TEXT BUFFER 0422 00514 OBT BSS 1 CURRENT OBJECT TEXT BLOCK TYPE 0423 00515 CKSM BSS 1 CURRENT CHECKSUM OF OBJECT TEXT BUFFER 0424 00516 LHW BSS 1 STORAGE FOR 3RD BYTE OF OBJECT TEXT ENTRY 0425 00517 MOD BSS 1 STORAGE FOR ASCII COUNTER MODIFIER 0426 00520 MSK BSS 1 POSITION MASK FOR ASCII COUNTER UPDATE 0427 00521 CHRC BSS 1 SOURCE LINE SCAN POINTER 0428 00522 ADVP BSS 1 SOURCE LINE FIELD POINTER 0429 00523 POUT BSS 1 OBJECT TEXT BUFFER POINTER 0430 00524 WORT BSS 1 TEMP. STORAGE FOR WORD 0431 00525 FINF BSS 1 FIN COUNTER 0432 00526 SYMF BSS 1 SYNONYM FLAG 0433 000477 VFD2 EQU DBCT VFD PSEUDO-OP BIT COUNTER 0434 000500 VFD3 EQU DBNM VFD PSEUDO-OP VALUE ACCUMULATOR 0435 000501 VFDX EQU DBPT VFD PSEUDO-OP ERROR INDICATOR 0436 00527 ZPTX BSS 1 0437 00530 0 004640 DBIP DAC DBLK 0438 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 13

0439 * 0440 * LINKAGE DIRECTORY 0441 * 0442 00531 0 002244 VF DAC VFS ITEM EVALUATOR 0443 00532 0 001261 CLE DAC CLER SYLLABLE REGISTER CLEAR ROUTINE 0444 00533 0 001300 SYLR DAC SYLL SYLLABLE ANALYZER 0445 00534 0 002404 SGN DAC SGNA UPDATE ADDRESS AND RELOCATION 0446 00535 0 001000 GO DAC STRT START NORMAL ASSEMBLY 0447 00536 0 001003 SBA DAC SSET START SUBROUTINE ASSEMBLY 0448 00537 0 003125 PND DAC PEND OUTPUT EOF ON OBJECT 0449 00540 0 001006 RES DAC REST START ASSEMBLY 0450 00541 0 001020 RSG DAC RESG PASS ONE/TWO INITIALIZATION 0451 00542 0 001157 COM DAC COMM STATEMENT TERMINATION 0452 00543 0 002517 DUST DAC DUS PROCESS UNDEFINED SYMBOL 0453 00544 0 001765 DUMP DAC DWRD OUTPUT DATA WORD 0454 00545 0 002204 CPC DAC CVPC PRINT PROGRAM COUNTER 0455 00546 0 002212 CDTA DAC CDAT PRINT PURE DATA 0456 00547 0 001550 DLC DAC DLOC DEFINE SYMBOL IN LOCATION FIELD 0457 00550 0 001270 RESS DAC SWAP SWAP SYLLABLE REGISTER 0458 00551 0 004501 LSTD DAC SLST LIST LINE 0459 00552 0 004264 UACD DAC UAC UPDATE ASCII COUNTER 0460 00553 0 001042 LIN DAC LINE PROCESS NEXT STATEMENT 0461 00554 0 003175 FINP DAC FINX LITERAL POOL DEFINITION ROUTINE 0462 00555 0 002444 XCHK DAC XCK SET UP SYMBOL TABLE ENTRY 0463 00556 0 003736 AER DAC AERR FLAG 'A' ERROR 0464 00557 0 003741 CER DAC CERR FLAG 'C' ERROR 0465 00560 0 003745 EER DAC EERR FLAG 'E' ERROR 0466 00561 0 003751 FER DAC FERR FLAG 'F' ERROR 0467 00562 0 003755 IER DAC IERR FLAG 'I' ERROR 0468 00563 0 003773 OER DAC OERR FLAG 'O' ERROR 0469 00564 0 004012 SER DAC SERR FLAG 'S' ERROR 0470 00565 0 004016 TER DAC TERR FLAG 'T' ERROR 0471 00566 0 004026 VER DAC VERR FLAG 'V' ERROR 0472 00567 0 004032 XER DAC XERR FLAG 'X' ERROR 0473 00570 0 003765 MDFP DAC MDEF FLAG 'M' ERROR 0474 00571 0 003146 R2 DAC RP2 RESTART PASS TWO 0475 00572 0 002471 ZSC DAC ZSCN RECOVER NULL TABLE ENTRY 0476 00573 0 004366 ADVD DAC ADV ADVANCE TO NEXT STATEMENT FIELD 0477 00574 0 004430 CSRD DAC CSRT INSERT CHARACTER IN LIST BUFFER 0478 00575 0 004413 CHRD DAC CHR FETCH NEXT CHARACTER FROM SOURCE BUFFER 0479 00576 0 003725 ITST DAC INHT TEST FOR INHIBITED ASSEMBLY 0480 00577 0 004061 OBTD DAC OBTX PLACE ENTRY IN OBJECT TEXT BUFFER 0481 00600 0 004343 OPTD DAC OPT OCTAL-ASCII CONVERSION 0482 00601 0 001125 VSC9 DAC VSCN START ADDRESS SCAN 0483 00602 0 001140 REG9 DAC REGP+2 0484 00603 -0 001550 DLO9 DAC* DLOC RETURN FROM 'M' ERROR 0485 00604 0 003473 BCE9 DAC BCER FATAL PSEUDO-OP ERROR 0486 00605 0 003002 UPAK DAC UNPK UNPACK CHARACTER PAIR 0487 00606 0 001224 TRT DAC TRTG INDEX TERM PROCESSOR 0488 00607 0 002440 PMS DAC PMSC CLASSIFY TERMINATING CHARACTER
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 14

0489 00610 0 004022 UER DAC UERR FLAG 'U' ERROR 0490 00611 0 003732 COMX DAC COMY COMMENT LINE PROCESSOR 0491 00612 0 002224 VARD DAC VAR EVALUATE FIRST PSEUDO-OP ADDRESS SUBFIELD 0492 00613 0 002230 VARF DAC VARX EVALUATE PSEUDO-OP ADDRESS SUBFIELD 0493 00614 0 004036 ZERX DAC ZERR FLAG 'Z' ERROR 0494 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 15

0495 * 0496 * CONSTANT POOL 0497 * 0498 00615 130260 ZX3 BCI 1,00 INITIALIZATION CONSTANT FOR ERROR COUNTER 0499 00616 100000 B1 OCT 100000 BIT ONE SET 0500 00617 040000 B2 OCT 40000 BIT TWO SET 0501 00620 020000 B3 OCT 20000 BIT THREE SET 0502 00621 010000 B4 OCT 10000 BIT FOUR SET 0503 00622 140000 B12 OCT 140000 MASK FOR SYNONYM RECOGNITION 0504 00623 174000 B174 OCT 174000 MASK FOR CODE BITS 0505 00624 000002 C2 OCT 2 0506 00625 037000 C7X OCT 37000 MASK FOR SECTOR NUMBER 0507 00626 000012 C12 OCT 12 0508 00627 000015 C15 OCT 15 0509 00630 000017 C17 OCT 17 0510 00631 000020 C20 OCT 20 0511 00632 000023 C23 OCT 23 0512 00633 000035 C29 DEC 29 0513 00634 000077 C77 OCT 77 0514 00635 000240 C240 OCT 240 ASCII ' ' 0515 00636 000244 C244 OCT 244 ASCII '$' 0516 00637 000252 C252 OCT 252 ASCII '*' 0517 00640 000253 C253 OCT 253 ASCII '+' 0518 00641 000254 C254 OCT 254 ASCII '0' 0519 00642 000255 C255 OCT 255 ASCII '-' 0520 00643 000260 C260 OCT 260 ASCII '0' 0521 00644 000301 C301 OCT 301 ASCII 'A' 0522 00645 000303 C303 OCT 303 ASCII 'C' 0523 00646 000305 C305 OCT 305 ASCII 'E' 0524 00647 000306 C306 OCT 306 ASCII 'F' 0525 00650 000311 C311 OCT 311 ASCII 'I' 0526 00651 000314 C314 OCT 314 ASCII 'L' 0527 00652 000315 C315 OCT 315 ASCII 'M' 0528 00653 000317 C317 OCT 317 ASCII 'O' 0529 00654 000320 C320 OCT 320 ASCII 'P' 0530 00655 000322 C322 OCT 322 ASCII 'R' 0531 00656 000323 C323 OCT 323 ASCII 'S' 0532 00657 000324 C324 OCT 324 ASCII 'T' 0533 00660 000325 C325 OCT 325 ASCII 'U' 0534 00661 000326 C326 OCT 326 ASCII 'V' 0535 00662 000330 C330 OCT 330 ASCII 'X' 0536 00663 000332 C332 OCT 332 ASCII 'Z' 0537 00664 001200 C520 OCT 1200 MASK FOR DOUBLE ASTERISK IDENTIFICATION 0538 00665 007777 CHR2 OCT 7777 MASK FOR TWO INTERNAL CHARACTER 0539 00666 110000 CM12 OCT 110000 EXTERNAL ENTRY MASK 0540 00667 017777 CSC1 OCT 17777 MASK FOR TWO CHARACTERS AND LITERAL FLAG 0541 00670 007760 CSC2 OCT 7760 FIN LEVEL MASK 0542 00671 177777 M1 OCT -1 0543 00672 177776 M2 OCT -2 0544 00673 177775 M3 OCT -3
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 16

0545 00674 177774 M4 DEC -4 0546 00675 177772 M6 OCT -6 0547 00676 177764 M12 DEC -12 0548 00677 177700 M77 OCT 177700 INTERNAL CHARACTER MASK 0549 00700 000001 ONE OCT 1 0550 00701 0404 00 VFD5 LGR 0 0551 00702 0414 00 VFD6 LGL 0 DATA POSITIONING INSTRUCTION CONSTANT 0552 00703 001000 C10X OCT 1000 0553 00704 0 000704 FLDP DAC * 0554 00705 000000 DEC 0 POINTER TO LOCATION FIELD 0555 00706 000005 DEC 5 POINTER TO OP-CODE FIELD 0556 00707 000013 C13 DEC 11 POINTER TO ADDRESS FIELD 0557 00710 177710 M56 DEC -56 OBJECT TEXT BLOCK SIZE CONSTANT 0558 00711 -0 004144 KDS DAC* DSPT ADDRESS OF OBJECT TEXT BLOCK PROCESSOR LIST 0559 00712 177704 M60 DEC -60 0560 00713 0 004700 OUTP DAC OUTB+3 START OF DATA IN OBJECT TEXT BUFFER 0561 00714 0 004562 INPD DAC INPB INPUT BUFFER ADDRESS 0562 00715 0 004544 DCON DAC OTPB 0563 00716 0 004545 DCN1 DAC OTPB+1 0564 00717 0 004546 DCN2 DAC OTPB+2 0565 00720 0 004547 DCN3 DAC OTPB+3 0566 00721 125252 ASTR BCI 1,** FORWARD REFERENCE INDICATOR 0567 00722 0 004557 FREF DAC OTPB+11 0568 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 17

0569 * 0570 * MESSAGES 0571 * 0572 00723 120240 EMES BCI 16, 0000 WARNING OR ERROR FLAGS 00724 120240 00725 130260 00726 130260 00727 120327 00730 140722 00731 147311 00732 147307 00733 120317 00734 151240 00735 142722 00736 151317 00737 151240 00740 143314 00741 140707 00742 151640 0573 00743 000003 C3 OCT 3 0574 00744 120240 IDMS BCI 19, DAP-16 MOD 2 REV. C 01-26-71 00745 120240 00746 142301 00747 150255 00750 130666 00751 120315 00752 147704 00753 120262 00754 120240 00755 120240 00756 151305 00757 153256 00760 120303 00761 120240 00762 120240 00763 130261 00764 126662 00765 133255 00766 133661 0575 00767 000004 C4 OCT 4 0576 * 0577 * DISC INTERCEPT ROUTINE 0578 * 0579 * WHEN IOS-O16D IS USED. IT IS POSSIBLE FOR DISC 0580 * I/O TO BE SELECTED BEFORE THE DOP ADDRESS 0581 * LINKAGES HAVE BEEN INITIALIZED. IF THIS OCCURS, THE 0582 * FOLLOWING ROUTINE WILL INTERCEPT THE CALL TO THE 0583 * DISC INITIALIZATION ROUTINE AND HALT. AT THIS POINT, 0584 * EITHER SIART DOP TO SET THE LINKAGE ADDRESS AND RESTART 0585 * THE ASSEMBLER, OR SET NEW DEVICE SELECTION CODES AND
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 18

0586 * PRESS START. 0587 * 0588 ORG '770 0589 00770 0 000771 DAC *+1 LINKAGE TO INTERCEPT ROUTINE 0590 00771 0 000000 DAC ** INTERCEPT THE INITIALIZATION ROUTINE 0591 00772 000000 HLT DOP HAS NOT BEEN INITIALIZED 0592 00773 0 01 00400 JMP '400 ON RESTART, TRY NEW PARAMETER SELECTION 0593 * 0594 00774 0 004773 TOPS DAC OPS BASE OF OPCODE TABLE 0595 00775 0 005540 XF1 DAC OPF1 END OF DDP-116 OPCODES 0596 00776 0 005350 XF4 DAC OP4 END OF DDP-416 OPCODES 0597 00777 0 005620 XF5D DAC OPE END OF H316, DDP-516 OPCODES 0598 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 19

0599 ORG '1000 0600 * 0601 * PASS ONE INITIALIZATION 0602 * 0603 * 0604 * INITIALIZE NORMAL ASSEMBLY 0605 * 0606 01000 0 04 00461 STRT STA TST SAVE PARAMETER WORD 0607 01001 140040 CRA CLEAR A TO INDICATE NORMAL ASSEMBLY 0608 01002 0 01 01005 JMP REST-1 JOIN COMMON PROCESSING 0609 * 0610 * 0611 * INITIALIZE SUBROUTINE ASSEMBLY 0612 * 0613 01003 0 04 00461 SSET STA TST SAVE PARAMETER WORD 0614 01004 0 02 00671 LDA M1 A = -1 TO INDICATE SUBROUTINE ASSEMBLY 0615 01005 0 04 00507 STA SUBF SET ASSEMBLY MODE SWITCH 0616 01006 0 02 00461 REST LDA TST FETCH PARAMETER WORD 0617 01007 0 04 00436 STA ZP SET PASS SWITCH 0618 01010 140100 SSP 0619 01011 0 10 00000 CALL D$IN INITIALIZE IOS 0620 01012 0 02 00433 LDA D$TP BSYM = BASE OF SYMBOL TABLE 0621 01013 0 04 00471 STA BSYM 0622 01014 140040 CRA 0623 01015 0 04 00470 STA CSYM SET SYMBOL COUNT TO ZERO 0624 01016 0 04 00462 STA FREE CLEAR NULL TABLE ENTRY COUNT 0625 01017 0 04 00527 STA ZPTX CLEAR PASS FLAG 0626 * 0627 * 0628 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 20

0629 * 0630 * COMMON PASS ONE/TWO INITIALIZATION 0631 * 0632 * 0633 01020 0 35 00676 RESG LDX M12 PREPARE TO CLEAR 12 FLAGS 0634 01021 1 04 00421 STA CLOC+12,1 CLEAR A WORD 0635 01022 0 12 00000 IRS 0 INCREMENT COUNTER 0636 01023 0 01 01021 JMP *-2 GO BACK TO CLEAR NEXT WORD 0637 01024 0 02 00671 LDA M1 SET FIRST OBJECT TEXT 0638 01025 0 04 00514 STA OBT BLOCK INDICATOR 0639 01026 0 10 04373 JST BLIN INITIALIZE OBJECT TEXT ENTRY ROUTINE 0640 01027 0 02 00435 LDA D$CB SET UP DEFAULT COMMON BASE 0641 01030 0 04 00502 STA COML 0642 01031 0 02 00777 LDA XF5D ALLOW ALL OPCODES AT START 0643 01032 0 04 00503 STA BOPS 0644 01033 0 02 00670 LDA CSC2 SETUP INITIAL FIN LEVEL 0645 01034 0 04 00525 STA FINF 0646 01035 0 02 00436 LDA ZP 0647 01036 0 04 00511 STA ZPT 0648 01037 0 02 00615 LDA ZX3 CLEAR ASCII ERROR COUNTER 0649 01040 0 04 00725 STA EMES+2 0650 01041 0 04 00726 STA EMES+3 0651 * 0652 * 0653 * END OF INITIALIZATION 0654 * 0655 * 0656 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 21

0657 * 0658 * PROCESS NEXT STATEMENT 0659 * 0660 01042 0 10 04253 LINE JST CLEO CLEAR OUTPUT BUFFER 0661 01043 0 10 00000 CALL D$RD READ NEXT SOURCE LINE 0662 01044 -0 10 00552 JST* UACD UPDATE LINE COUNTER 0663 01045 0 000412 DAC CNTR ADDRESS OF LINE COUNTER 0664 01046 0 004546 DAC OTPB+2 ADDRESS OF ASCII EXPANSION FIELD 0665 01047 0 02 00704 LDA FLDP INITIALIZE SOURCE FIELD POINTER 0666 01050 0 04 00522 STA ADVP 0667 01051 -0 10 00573 JST* ADVD SET SOURCE CHARACTER POINTER 0668 01052 0 10 01261 JST CLER CLEAR REGISTERS 0669 01053 0 35 00676 LDX M12 PREPARE TO INITIALIZE FLAGS 0670 01054 1 04 00433 STA RBIT+12,1 CLEAR A WORD 0671 01055 0 12 00000 IRS 0 STEP THE POINT 0672 01056 0 01 01054 JMP *-2 GO CLEAR NEXT WORD 0673 01057 0 04 04052 STA LGCT CLEAR ERROR/LINE COUNTER 0674 01060 0 04 00457 STA SIGT CLEAR SIGN OF SYLLABLE REGISTERS 0675 01061 0 02 00671 LDA M1 GET INITIALIZATION CONSTANT 0676 01062 0 04 00466 STA DEOT SET DECIMAL CONVERSION MODE 0677 01063 0 10 01300 JST SYLL PACK LOCATION FIELD 0678 01064 0 02 00450 LDA SYL FETCH FIRST TWO CHARS. OF FIELD 0679 01065 -0 10 00605 JST* UPAK CONVERT THEM TO ASCII 0680 01066 141140 ICL ISOLAIE FIRST CHARACTER 0681 01067 0 05 00637 ERA C252 CHECK FOR COMMENT LINE 0682 01070 101040 SNZ SKIP IF NOT 0683 01071 -0 01 00611 JMP* COMX GO PROCESS COMMENT CARD 0684 01072 0 02 00450 LDA SYL SEE IF ANYTHING IS IN LOCATION FIELD 0685 01073 101040 SNZ 0686 01074 0 01 01100 JMP *+4 NO 0687 01075 0 02 00460 LDA ALFA SEE IF IT'S SOMETHING FUNNY - LIKE A NUMBER 0688 01076 100040 SZE SKIP IF VALID SYMBOL 0689 01077 0 10 03760 JST LERR FLAG 'L' ERROR 0690 01100 0 02 00444 LDA TERM FETCH TERMINATING CHARACTER 0691 01101 0 05 00635 ERA C240 CHECK FOR BLANK 0692 01102 100040 SZE SKIP IF SO 0693 01103 -0 10 00561 JST* FER FORMAT ERROR 0694 01104 0 10 01270 JST SWAP SYL1 6 LOCATION FIELD 0695 01105 -0 10 00573 JST* ADVD ADVANCE TO OP-CODE FIELD 0696 01106 0 10 01300 JST SYLL INPUT OP-CODE-TERMINATING 0697 * CHARACTER IN A REGISTER 0698 01107 0 05 00637 ERA C252 TEST FOR ASTERISK 0699 01110 101040 SNZ SKIP IF NOT 0700 01111 0 12 00426 IRS INDF SET INDIRECT FLAG 0701 01112 0 10 01470 JST OPSR SEARCH OP-CODE TABLE - RETURN 0702 * IF MACHINE OP. 0703 * 0704 * MACHINE OP-CODE PROCESSOR 0705 * 0706 *
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 22

0707 01113 -0 10 00547 JST* DLC DEFINE SYMBOL IN LOCATION FIELD 0708 01114 0 02 00426 LDA INDF FETCH INDIRECT FLAG 0709 01115 101040 SNZ SKIP IF INDIRECT 0710 01116 0 01 01125 JMP VSCN NOT INDIRECT 0711 01117 0 02 00425 LDA INDA FETCH INDIRECT LEGAL FLAG 0712 01120 101040 SNZ SKIP IF LEGAL 0713 01121 -0 01 00562 JMP* IER ILLEGAL INDIRECT - FLAG 'I' ERROR 0714 01122 0 02 00437 LDA WORD FETCH OP-CODE 0715 01123 140500 SSM SET INDIRECT BIT 0716 01124 0 04 00437 STA WORD REPLACE OP-CODE 0717 01125 -0 10 00573 VSCN JST* ADVD ADVANCE TO ADDRESS FIELD 0718 01126 0 10 01300 VSC2 JST SYLL INPUT A TERM 0719 01127 0 02 00424 LDA ADRF CHECK ADDRESS REQUIRED FLAG 0720 01130 100040 SZE SKIP IF NOT REQUIRED 0721 01131 0 01 01161 JMP L1 GO PROCESS ADDRESS 0722 01132 0 02 00474 REGO LDA CBT2 FETCH OPCODE TYPE CODE BITS 0723 01133 0414 75 LGL 3 A(1)=GENERIC FLAG 0724 01134 100400 SPL SKIP IF NOT GENERIC 0725 01135 0 01 01173 JMP GENR GO PROCESS GENERIC INSTRUCTION 0726 01136 -0 10 00531 REGP JST* VF PROCESS ADDRESS TERM 0727 01137 0 01 01177 JMP UNDE PROCESS UNDEFINED SYMBOL 0728 01140 -0 10 00534 REGL JST* SGN SUM AND SET SIGN 0729 01141 100000 SKP TERMINAL DELIMITER RETURN 0730 01142 0 01 01126 JMP VSC2 PROCESS NEXT ITEM 0731 * 0732 * END OF ADDRESS 0733 * 0734 01143 0 02 00420 LDA E CHECK FOR UNENTERED UNDEFINED SYMBOL 0735 01144 101040 SNZ SKIP IF THERE IS 0736 01145 0 01 01151 JMP TRM1 GO PROCESS INDEX TAG 0737 01146 0 10 01270 JST SWAP SYL=SYL1 0738 01147 -0 10 00543 JST* DUST ENTER UNDEFINED SYMBOL 0739 01150 0 04 00423 STA SUM SAVE SYMBOL NUMBER 0740 01151 0 10 01224 TRM1 JST TRTG PROCESS INDEX TAG 0741 * 0742 * FINISH PROCESSING MACHINE-OP 0743 * 0744 01152 0 02 00444 ASMB LDA TERM FETCH TERMINATING CHARACTER 0745 01153 0 05 00635 ERA C240 TEST FOR A SPACE 0746 01154 100040 SZE SKIP IF A SPACE 0747 01155 -0 10 00561 JST* FER IF NOT, FORMAT ERROR 0748 01156 0 10 01765 JST DWRD PLACE INSTRUCTION IN OBJECT TEXT 0749 01157 -0 10 00551 COMM JST* LSTD LIST THIS STATEMENT 0750 01160 0 01 01042 JMP LINE GO PROCESS NEXT STATEMENT 0751 * 0752 * 0753 * HERE IF ADDRESS REQUIRED 0754 * 0755 01161 0 02 00450 L1 LDA SYL FETCH FIRST 2 CHARS. OF SYMBOL 0756 01162 100040 SZE SKIP IF BLANKS
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 23

0757 01163 0 01 01132 JMP REGO ADDRESS EXISTS - OK 0758 01164 0 02 00444 LDA TERM FETCH TERMINATING CHARACTER 0759 01165 0 07 00640 SUB C253 TEST FOR '-' 0760 01166 100040 SZE SKIP IF IT IS 0761 01167 0 07 00624 SUB C2 TEST FOR '+' 0762 01170 101040 SNZ SKIP IF NOT 0763 01171 0 01 01132 JMP REGO IT'S EITHER '+' OR '-' - OK 0764 01172 -0 01 00556 JMP* AER ADDRESS ERROR 0765 * 0766 * GENERIC PROCESSOR 0767 * 0768 01173 0 02 00450 GENR LDA SYL FETCH FIRST TWO CHARACTERS OF NAME 0769 01174 101040 SNZ SKIP IF THEY ARE NOT BLANK 0770 01175 0 01 01152 JMP ASMB BLANK - OK 0771 01176 -0 01 00556 JMP* AER ADDRESS ERROR 0772 * 0773 * UNDEFINED PROCESSOR 0774 * 0775 01177 0 02 00420 UNDE LDA E FETCH PREVIOUS UNDEFINED FLAG 0776 01200 101040 SNZ SKIP IF PREVIOUS UNDEFINED SYMBOL 0777 01201 0 01 01220 JMP UND1 FIRST UNDEFINED 0778 01202 0 12 00421 IRS E1 SET EXTENDED FLAG 0779 01203 -0 10 00543 JST* DUST ENTER UNDEFINED SYMBOL 0780 01204 0 05 00620 ERA B3 SET EXTENDED BIT 0781 01205 0 04 00423 STA SUM SET VALUE 0782 01206 0 10 01765 JST DWRD OUTPUT WORD 0783 01207 0 02 00405 LDA CLOC RESTORE THE PROGRAM COUNTER 0784 01210 0 07 00700 SUB ONE 0785 01211 0 04 00405 STA CLOC 0786 01212 140040 CRA 0787 01213 0 04 00423 STA SUM CLEAR ACCUMULATED ADDRESS 0788 01214 0 04 00437 STA WORD CLEAR OP CODE 0789 01215 0 04 00440 STA W2 CLEAR LOW ORDER CODE BITS 0790 01216 0 04 00463 STA RELV CLEAR RELOCATION 0791 01217 0 01 01140 JMP REGL GO PROCESS NEXT TERM 0792 * 0793 01220 0 12 00420 UND1 IRS E SET EXTENSION FLAG 0794 01221 0 10 01270 JST SWAP SYL1=SYL 0795 01222 0 10 01261 JST CLER CLEAR SYL 0796 01223 0 01 01140 JMP REGL GO PROCESS NEXT TERM 0797 * 0798 * 0799 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 24

0800 * 0801 * TRTG: INDEX TAG PROCESSOR 0802 * 0803 * 0804 01224 0 000000 TRTG DAC ** 0805 01225 0 02 00444 LDA TERM CHECK FOR COMMA THAT DELIMITS 0806 01226 0 07 00641 SUB C254 THE INDEX TERM 0807 01227 100040 SZE SKIP IF INDEX TAG PRESENT 0808 01230 -0 01 01224 JMP* TRTG EXIT - NO TAG 0809 01231 0 04 00453 STA SIGN CLEAR SIGN OF INDEX TERM 0810 01232 0 02 00425 LDA INDA CHECK INDEX/INDIRECT LEGAL FLAG 0811 01233 101040 SNZ SKIP IF SET 0812 01234 -0 10 00565 JST* TER FLAG 'T' ERROR 0813 01235 0 02 00503 LDA BOPS CHECK FOR DDP-416 ASSEMBLY 0814 01236 0 05 00776 ERA XF4 INDEX NOT LEGAL ON DDP-416 0815 01237 101040 SNZ SKIP IF NOT DDP-416 0816 01240 -0 10 00565 JST* TER FLAG 'T' ERROR - NO X REG. ON DDP-416 0817 01241 0 02 00437 LDA WORD FETCH OP-CODE 0818 01242 0405 66 ARS 10 A(13-16)=OPCODE 0819 01243 0 03 00630 ANA C17 WIPE OUT OTHER BITS 0820 01244 0 07 00627 SUB C15 CHECK FOR LDX, STX 0821 01245 101040 SNZ SKIP IF NOT 0822 01246 -0 10 00565 JST* TER INDEX NOT ALLOWED ON LDX, STX 0823 01247 0 10 01300 JST SYLL INPUT INDEX TERM 0824 01250 -0 10 00531 JST* VF EVALUATE IT 0825 01251 -0 10 00565 JST* TER UNDEFINED SYMBOL RETURN 0826 01252 0404 77 LGR 1 PLACE INDEX BIT IN C 0827 01253 100040 SZE SKIP IF INDEX WAS 0 OR 1 0828 01254 -0 10 00565 JST* TER FLAG 'T' ERROR 0829 01255 141216 ACA PLACE INDEX IN A 0830 01256 0406 76 ARR 2 A(2) = INDEX TAG 0831 01257 0 04 00427 STA TAG SAVE THE TAG 0832 01260 -0 01 01224 JMP* TRTG EXIT 0833 * 0834 * 0835 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 25

0836 * 0837 * CLER: CLEAR SYLLABLE REGISTERS 0838 * 0839 * 0840 * CALLING SEQUENCE: 0841 * JST CLER 0842 * ......RETURN 0843 * 0844 * 0845 * RESULTS: 0846 * SYL=0 0847 * NUM=0 0848 * 0849 * 0850 01261 0 000000 CLER DAC ** ENTRY 0851 01262 0 10 00000 CALL DECI INITIALIZE CONVERSION ROUTINE - A REGISTER 0852 * ZERO ON RETURN 0853 01263 0 35 00675 LDX M6 PREPARE TO CLEAR SYL-SYL+2, NUM-NUM+2 0854 01264 1 04 00453 STA SYL+3,1 CLEAR A WORD 0855 01265 0 12 00000 IRS 0 INCREMENT INDEX 0856 01266 0 01 01264 JMP *-2 GO BACK TO CLEAR NEXT WORD 0857 01267 -0 01 01261 JMP* CLER EXIT 0858 * 0859 * 0860 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 26

0861 * 0862 * SWAP: SWAP ACTIVE SYLLABLE REGISTERS 0863 * 0864 * 0865 * CALLING SEQUENCE: 0866 * JST SWAP 0867 * ......RETURN 0868 * 0869 * 0870 * RESULTS: 0871 * SYL1=SYL, SYL=SYL1 0872 * SIGT=SIGN, SIGN=SIGT 0873 * 0874 * 0875 01270 0 000000 SWAP DAC ** ENTRY 0876 01271 0 35 00674 LDX M4 FOUR WORDS TO BE INTERCHANGED 0877 01272 1 02 00454 LDA SYL+4,1 FETCH WORD FROM REGISTER ONE 0878 01273 1 13 00460 IMA SYL1+4,1 SWAP IT WITH WORD IN REGISTER TWO 0879 01274 1 04 00454 STA SYL+4,1 REPLACE WORD IN REGISTER ONE 0880 01275 0 12 00000 IRS 0 INCREMENT INDEX REGISTER 0881 01276 0 01 01272 JMP *-4 GO BACK FOR NEXT WORD 0882 01277 -0 01 01270 JMP* SWAP EXIT 0883 * 0884 * 0885 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 27

0886 * 0887 * SYLL: SYLLABLE ANALYZER 0888 * 0889 * 0890 * CALLING SEQUENCE: 0891 * JST SYLL 0892 * ......RETURN TERMINATING CHAR. IN A 0893 * 0894 * 0895 01300 0 000000 SYLL DAC ** SYLLABLE ANALYZER 0896 01301 0 02 00466 LDA DEOT DOCTGDEFAULT CONVERSION MODE 0897 01302 0 04 00443 STA DOCT -1 FOR DEC, 0 FOR OCT, +1 FOR HEX 0898 01303 0 02 00504 LDA SYLC SYLP=ADDRESS OF SYL 0899 01304 0 04 00505 STA SYLP 0900 01305 0 04 00460 STA ALFA TURN OFF ALFA FLAG 0901 01306 0 04 00506 STA LITF TURN OFF LITERAL FLAG 0902 01307 0 10 01261 JST CLER CLEAR NUM-NUM+2, SYL-SYL+2 0903 01310 0 02 00672 LDA M2 SET UP CHARACTER/WORD COUNTER 0904 01311 0 04 00464 STA SYL2 0905 01312 0 07 00700 SUB ONE SET UP FOR MAXIMUM OF 0906 01313 0 04 00465 STA SYL3 6 CHARACTERS/IDENTIFIER 0907 01314 -0 10 00575 SYLO JST* CHRD FETCH NEXT CHARACTER FROM INPUT BUFFER 0908 01315 0 07 00636 SUB C244 TEST FOR '$' 0909 01316 101040 SNZ SKIP IF NOT 0910 01317 0 01 01375 JMP HEXM '$' - SEE IF HEX MODE CONVERSION 0911 01320 0 07 00743 SUB C3 TEST FOR SINGLE QUOTE 0912 01321 101040 SNZ SKIP IF NOT 0913 01322 0 01 01376 JMP OCTK IT IS - CHECK FOR OCTAL MODE CONVERSION 0914 01323 0 07 00743 SUB C3 TEST FOR '*' 0915 01324 101040 SNZ SKIP IF NOT 0916 01325 0 01 01365 JMP STAR GO TO THE ASTERISK PROCESSOR 0917 01326 0 07 00632 SUB C23 TEST FOR '=' 0918 01327 101040 SNZ SKIP IF NOT 0919 01330 0 01 01443 JMP LITS GO TO LITERAL PROCESSOR 0920 01331 0 10 00000 CALL DECC HAVE THE CONVERSION ROUTINE WORK ON IT 0921 01332 0 01 01425 JMP LET1 NUMBER RETURN 0922 01333 0 01 01415 JMP LET LETTER RETURN 0923 * 0924 * HERE IF NOT NUMBER OR LETTER 0925 * 0926 01334 0 02 00441 LDA ERD CHECK FOR ERROR IN CONVERSION 0927 01335 100040 SZE SKIP IF NO ERROR DETECTED DAEM 0928 01336 -0 10 00557 JST* CER FLAG CONVERSION ERROR 0929 01337 0 02 00506 SYLA LDA LITF CHECK FOR LITERAL IN PROCESS 0930 01340 100040 SZE SKIP IF LITERAL 0931 01341 0 01 01363 JMP DELO ELSE, GO EXIT 0932 * 0933 * 0934 * FORM LITERAL SYMBOL 0935 *
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 28

0936 * THE LITERAL SYMBOL IS STORED IN THE FIRST 0937 * TWO WORDS OF THE SYMBOL TABLE ENTRY AS FOLLOWS: 0938 * 0939 * WORD ONE -- BITS 1-4 CONTROL FLAGS 0940 * BITS 5-12 FIN LEVEL 0941 * BITS 13-16 4 HIGH ORDER BITS OF VALUE 0942 * 0943 * WORD TWO -- BITS 1-3 CONTROL FLAGS 0944 * BIT 4 LITERAL FLAG 0945 * BIT 5-16 12 LOW ORDER BITS OF VALUE 0946 * 0947 * THE FIN LEVEL, FINF, CORRESPONDS TO THE NUMBER 0948 * OF 'FIN' PSEODO-OPS THAT HAVE BEEN ENCOUNTERED. 0949 * EACH TIME A 'FIN' IS ENCOUNTERED, FINF IS 0950 * DECREMENTED BY 1B12. 0951 * 0952 * 0953 01342 0 04 00460 STA ALFA LITERALS ARE CONSIDERED ALFA 0954 01343 0 02 00450 LDA SYL IF THE CURRENT CHARACTER IS 0955 01344 100040 SZE A PLUS OR MINUS, AND NO 0956 01345 0 01 01351 JMP *+4 PART OF THE NUMERIC VALUE HAS 0957 01346 -0 10 00607 JST* PMS BEEN ENCOUNTERED, THE LITERAL IS, AS 0958 01347 100000 SKP OF YET, UNFORMED THEREFORE 0959 01350 0 01 01314 JMP SYLO WE SHOULD CONTINUE LOOKING FOR DIGITS, ETC. 0960 01351 0 02 00445 LDA NUM FETCH VALUE OF LITERAL 0961 01352 0404 64 LGR 12 A(13-16) = HIGH 4 BITS OF VALUE 0962 01353 0 05 00525 ERA FINF INSERT FIN LEVEL 0963 01354 0 04 00450 STA SYL SYL = FIRST WORD OF LITERAL ENTRY 0964 01355 0 02 00445 LDA NUM FETCH THE VALUE OF LITERAL 0965 01356 0 03 00665 ANA CHR2 A(1-4) = 0 0966 01357 0 05 00621 ERA B4 SET LITERAL FLAG 0967 01360 0 04 00451 STA SYL+1 SYL+1 = SECOND WORD OF LITERAL ENTRY 0968 01361 140040 CRA 0969 01362 0 04 00453 STA SIGN CLEAR SIGN 0970 01363 0 02 00444 DELO LDA TERM TERMINATING CHARACTER 0971 01364 -0 01 01300 JMP* SYLL EXIT 0972 * 0973 01365 0 02 00450 STAR LDA SYL IS '*' FIRST CHARACTER 0974 01366 100040 SZE SKIP IF FIRST CHARACTER 0975 01367 0 01 01363 JMP DELO OTHERWISE TREAT AS DELIMITING CHAR. 0976 01370 0 04 00460 STA ALFA SET ALFA MODE 0977 01371 0 10 01445 JST STF PACK THE CHARACTER 0978 01372 -0 10 00575 JST* CHRD FETCH NEXT CHAR. FROM INPUT BUFFER 0979 01373 0 07 00637 SUB C252 REDUCE THE CHAR FOR '*' TEST 0980 01374 0 01 01366 JMP STAR+1 GO TEST FOR ANOTHER '*' 0981 * 0982 01375 141206 HEXM AOA A = 1 FOR HEX MODE 0983 * 0984 01376 0 04 00475 OCTK STA T SAVE DESIRED CONVERSION MODE 0985 01377 0 05 00443 ERA DOCT COMPARE WITH CURRENT MODE
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 29

0986 01400 101040 SNZ SKIP IF DIFFERENT 0987 01401 0 01 01314 JMP SYLO SAME - NO EFFECT 0988 01402 0 02 00450 LDA SYL TEST FOR FIRST CHARACTER 0989 01403 100040 SZE SKIP IF FIRST CHARACTER 0990 01404 0 01 01415 JMP LET OTHERWISE TREAT AS A LETTER 0991 01405 0 02 00443 LDA DOCT 0992 01406 0 06 00430 ADD DECF TEST FOR ILLEGAL MODE SWITCHING 0993 01407 141206 AOA DECF+DOCT = -1 IF LEGAL 0994 01410 100040 SZE SKIP IF LEGAL 0995 01411 0 01 01415 JMP LET OTHERWISE TREAT AS A LETTER 0996 01412 0 02 00475 LDA T OK TO SWITCH, FETCH MODE INDICATOR 0997 01413 0 04 00443 STA DOCT SET NEW CONVERSION MODE 0998 01414 0 01 01314 JMP SYLO G0 PROCESS NEXT CHARACTER 0999 * 1000 * 1001 01415 0 02 00506 LET LDA LITF FETCH LITERAL FLAG 1002 01416 101040 SNZ SKIP IF NOT PROCESSING A LITERAL 1003 01417 0 01 01427 JMP LITP GO PROCESS ASCII LITERAL 1004 01420 140040 CRA 1005 01421 0 04 00460 STA ALFA SET ALFA FLAG 1006 01422 0 02 00443 LDA DOCT FETCH CONVERSION MODE INDICATOR 1007 01423 101400 SMI SKIP IF DECIMAL MODE 1008 01424 -0 10 00557 JST* CER NOT IN DEC MODE - VERY STRANGE 1009 01425 0 10 01445 LET1 JST STF PACK THE CHARACTER 1010 01426 0 01 01314 JMP SYLO CONTINUE SCAN 1011 * 1012 * HERE TO PROCESS ASCII LITERAL 1013 * 1014 01427 0 02 00444 LITP LDA TERM FETCH TERMINATING CHARACTER 1015 01430 0 05 00644 ERA C301 TEST FOR ASCII 'A' 1016 01431 100040 SZE SKIP IF 'A' 1017 01432 -0 10 00557 JST* CER ERROR - CONSIDER IT AN 'A' ANYWAY 1018 01433 -0 10 00575 JST* CHRD FETCH NEXT CHARACTER 1019 01434 141240 ICR A(1-8) = CHARACTER, A(9-16) = 0 1020 01435 0 04 00445 STA NUM SAVE FIRST CHARACTER 1021 01436 -0 10 00575 JST* CHRD FETCH NEXT CHARACTER 1022 01437 0 05 00445 ERA NUM INSERT FIRST CHARACTER 1023 01440 0 04 00445 STA NUM SAVE THEM BOTH IN NUM 1024 01441 -0 10 00575 JST* CHRD FETCH NEXT CHAR. FOR COMPATIBILITY 1025 01442 0 01 01337 JMP SYLA PROCESS THE LITERAL 1026 * 1027 01443 0 04 00506 LITS STA LITF SET LITERAL FLAG 1028 01444 0 01 01314 JMP SYLO 1029 * 1030 * 1031 * END OF SYLLABLE ANALYZER 1032 * 1033 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 30

1034 * 1035 * STF : CHARACTER PACKING ROUTINE 1036 * 1037 * 1038 * CALLING SEQUENCE: 1039 * JST STF 1040 * ......RETURN 1041 * 1042 * THIS ROUTINE WILL PACK 1-6 CHARACTERS INTO 1043 * SYL-SYL+2 AND IGNORE ADDITIONAL CHARACTERS. 1044 * ONE CHARACTER IS INSERTED EACH TIME THIS 1045 * ROUTINE IS CALLED. 1046 * 1047 * 1048 01445 0 000000 STF DAC ** ENTRY 1049 01446 0 02 00465 LDA SYL3 FETCH THE WORD COUNTER 1050 01447 101040 SNZ IF NON-ZERO, NO OVERFLOW YET 1051 01450 -0 01 01445 JMP* STF OVERFLOW CONDITION EXISTS-EXIT 1052 01451 0 02 00444 LDA TERM FETCH CHARACTER TO BE PACKED 1053 01452 0 07 00635 SUB C240 CONVERT IT TO INTERNAL CODE 1054 01453 0 03 00634 ANA C77 RETAIN SIX BITS OF SIGNIFICANCE 1055 01454 0400 72 LRL 6 PLACE NEW CHARACTER IN B REGISTER 1056 01455 -0 02 00505 LDA* SYLP FETCH CURRENT PACKING WORD 1057 01456 0410 72 LLL 6 SHIFT NEW CHARACTER INTO IT 1058 01457 -0 04 00505 STA* SYLP REPLACE THE WORD 1059 01460 0 12 00464 IRS SYL2 INCREMENT CHARACTER COUNT 1060 01461 -0 01 01445 JMP* STF UPDATE NOT REQUIRED. EXIT 1061 01462 0 12 00465 IRS SYL3 INCREMENT WORD COUNT 1062 01463 101000 NOP OVERFLOW IS POSSIBLE 1063 01464 0 12 00505 IRS SYLP INCREMENT WORD POINTER 1064 01465 0 02 00672 LDA M2 RESET CHARACTER COUNTER 1065 01466 0 04 00464 STA SYL2 FOR TWO CHARACTERS/WORD 1066 01467 -0 01 01445 JMP* STF EXIT 1067 * 1068 * 1069 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 31

1070 * 1071 * OPSR: OP CODE TABLE SEARCH ROUTINE 1072 * 1073 * 1074 * CALLING SEQUENCE: 1075 * JST OPSR 1076 * ......RETURN IF MACHINE OP 1077 * 1078 * IF THE OP-CODE IS A PSEUDO-OP, CONTROL 1079 * WILL BE PASSED TO THE PROPER PROCESSING 1080 * ROUTINE. THIS ROUTINE CHECKS FOR INHIBITED 1081 * ASSEMBLY AND UNDEFINED AND ILLEGAL OPCODES. 1082 * 1083 * 1084 01470 0 000000 OPSR DAC ** 1085 01471 0 35 00777 LDX XF5D POINTER TO FREE ENTRY IN TABLE 1086 01472 0 02 00450 LDA SYL FIRST 2 CHARACTERS OF TARGET NAME 1087 01473 0 05 00620 ERA B3 INDIRECT ALLOWED BIT 1088 01474 1 04 00000 STA 0,1 PLACE WORD IN TABLE 1089 01475 0 02 00451 LDA SYL+1 LAST 2 CHARACTERS IN TARGET NAME 1090 01476 0 05 00620 ERA B3 MEMORY REFERENCE BIT 1091 01477 1 04 00001 STA 1,1 PLACE WORD IN TABLE 1092 01500 0 35 00774 LDX TOPS ADDRESS OF FIRST WORD IN TABLE 1093 01501 1 02 00000 OPS1 LDA 0,1 FETCH FIRST WORD OF ENTRY FROM TABLE 1094 01502 0 04 00472 STA CBT1 SAVE IT FOR LATER USE 1095 01503 0 05 00450 ERA SYL MERGE WITH FIRST TWO CHARACTERS 1096 * OF TARGET NAME 1097 01504 0 03 00665 ANA CHR2 ELIMINATE CODE BITS 1098 01505 100040 SZE SKIP IF CHARACTERS MATCH 1099 01506 0 01 01536 JMP OPS2 OTHERWISE ADVANCE TO NEXT ENTRY 1100 01507 1 02 00001 LDA 1,1 FETCH SECOND WORD OF ENTRY FROM TABLE 1101 01510 0 04 00474 STA CBT2 SAVE IT FOR LATER USE 1102 01511 0 05 00451 ERA SYL+1 MERGE WITH SECOND TWO CHARACTERS OF 1103 * TARGET NAME 1104 01512 0 03 00665 ANA CHR2 ELIMINATE CODE BITS 1105 01513 100040 SZE SKIP IF CHARACTERS MATCH 1106 01514 0 01 01536 JMP OPS2 OTHERWISE ADVANCE TO NEXT ENTRY 1107 01515 1 02 00002 LDA 2,1 FETCH THIRD WORD OF ENTRY - CONTAINS 1108 * OPCODE IF A MACHINE-OP, OR ADDRESS OF 1109 * PROCESSOR IF PSEUDO-OP. 1110 01516 0 04 00437 STA WORD SAVE IT 1111 01517 0 02 00472 LDA CBT1 RETRIEVE FIRST WORD OF ENTRY 1112 01520 100400 SPL IF POSITIVE: ITS A MACHINE OP 1113 01521 0 01 01540 JMP OPS3 OTHERWISE IT'S A PSEUDO-OP 1114 01522 0414 77 DACX LGL 1 A(1)= ADDRESS REQUIRED FLAG 1115 01523 100400 SPL SKIP IF ADDRESS NOT REQUIRED 1116 01524 0 12 00424 IRS ADRF SET ADDRESS REQUIRED FLAG 1117 01525 0414 77 LGL 1 A(1)= INDIRECT ALLOWED FLAG 1118 01526 100400 SPL SKIP IF INDIRECT NOT ALLOWED 1119 01527 0 12 00425 IRS INDA SET INDIRECT ALLOWED FLAG
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 32

1120 01530 -0 10 00576 JST* ITST TEST FOR INHIBITED ASSEMBLY 1121 01531 0 02 00000 LDA 0 FETCH ADDRESS OF ENTRY 1122 01532 0 11 00503 CAS BOPS COMPARE WITH END OF LEGAL OP-CODES 1123 01533 101000 NOP ERROR-ILLEGAL OP-CODE 1124 01534 -0 10 00563 JST* OER ERROR-ILLEGAL OP-CODE 1125 01535 -0 01 01470 JMP* OPSR RETURN TO PROCESS MACHINE-OP 1126 01536 0 10 02512 OPS2 JST ISCP INCREMENT OPCODE TABLE POINTER 1127 01537 0 01 01501 JMP OPS1 GO CHECK NEXT ENTRY 1128 01540 0 02 00474 OPS3 LDA CBT2 HERE IF PSEUDO-OP 1129 01541 101400 SMI CHECK FORCED ASSEMBLY FLAG 1130 01542 -0 10 00576 JST* ITST NOT SET - CHECK FOR INHIBITED ASSEMBLY 1131 01543 -0 01 00437 JMP* WORD EXIT TO PSEUDO-OP PROCESSOR 1132 * 1133 * 1134 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 33

1135 * 1136 * DAC : DAC PSEUDO-OP PROCESSOR 1137 * 1138 * 1139 01544 0 12 00432 DAC IRS DACF SET 14/15 BIT REFERENCE FLAG 1140 01545 0 04 00437 STA WORD SET OPCODE TO ZERO 1141 01546 0 02 00472 LDA CBT1 RETRIEVE CODE BITS 1142 01547 0 01 01522 JMP DACX NOW PROCESS AS MACHINE-OP 1143 * 1144 * 1145 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 34

1146 * 1147 * DLOC: DEFINE SYMBOL IN LOCATION FIELD 1148 * 1149 * 1150 01550 0 000000 DLOC DAC ** DEFINE LOCATION 1151 01551 0 02 00454 LDA SYL1 SYL1-SYL1+1 CONTAIN LOCATION FIELD 1152 01552 101040 SNZ SKIP IF A SYMBOL IS PRESENT 1153 01553 -0 01 01550 JMP* DLOC EXIT - NO SYMBOL TO DEFINE 1154 01554 0 02 00437 LDA WORD MOVE WORD TO TEMP. STORAGE 1155 01555 0 04 00524 STA WORT 1156 01556 0 10 02505 JST ISCN SETUP FOR SYMBOL TABLE SEARCH 1157 01557 101040 SNZ SKIP IF ENTRIES IN TABLE 1158 01560 0 01 01632 JMP DINS NO SYMBOLS 1159 01561 1 02 00000 DLOP LDA 0,1 FETCH FIRST WORD OF CURRENT ENTRY 1160 01562 0 03 00665 ANA CHR2 ELIMINATE CODE BITS 1161 01563 0 05 00454 ERA SYL1 MERGE WITH FIRST WORD OF NAME 1162 01564 100040 SZE SKIP IF EQUIVALENT 1163 01565 0 01 01627 JMP DEND NO - ADVANCE TO NEXT ENTRY 1164 01566 1 02 00001 LDA 1,1 FETCH SECOND WORD OF ENTRY 1165 01567 0 03 00667 ANA CSC1 ELIMINATE CODE BITS 1166 01570 0 05 00455 ERA SYL1+1 MERGE WITH SECOND WORD OF NAME 1167 01571 100040 SZE SKIP IF EQUIVALENT 1168 01572 0 01 01627 JMP DEND NO - ADVANCE TO NEXT ENTRY 1169 01573 1 02 00000 LDA 0,1 RETRIEVE FIRST WORD OF ENTRY 1170 01574 100400 SPL SKIP IF DEFINED BIT NOT SET 1171 01575 0 01 01654 JMP MDE DEFINED FLAG SET - CHECK FOR MULT. DEF. 1172 01576 140040 CRA DELETE THE SYMBOL BY 1173 01577 1 13 00000 IMA 0,1 ZEROING OUT FIRST WORD 1174 01600 0 04 00475 STA T SAVE CODE BITS 1175 01601 140407 TCA NEGATE WORD 1176 01602 0414 77 LGL 1 A(1) = CHAIN BIT FOR LOADER 1177 01603 0 03 00616 ANA B1 ELIMINATE ALL OTHER BITS 1178 01604 0 13 00475 IMA T SAVE INDICATOR AND RETRIEVE CODE BITS 1179 01605 0414 75 LGL 3 A(1) = RELOCATION BIT 1180 01606 0405 61 ARS 15 PROPAGATE RELOCATION THROUGH A 1181 01607 0 04 00476 STA TCMP SAVE RESULT 1182 01610 0 05 00406 ERA ABSW INSERT ASSEMBLY MODE 1183 01611 0 07 00476 SUB TCMP 1184 01612 0 03 00743 ANA C3 A(1-14)=0 1185 01613 0414 63 LGL 13 A(2-3) = RELOCATION MODE 1186 01614 0 06 00475 ADD T A(1)=CHAIN BIT 1187 01615 0 07 00467 SUB SYMC A(4-16)=SYMBOL NUMBER 1188 01616 0 04 00437 STA WORD SAVE RESULT 1189 01617 0 02 00405 LDA CLOC FETCH LOCATION COUNTER 1190 01620 0 05 00476 ERA TCMP (0 OR -1) 1191 01621 0 07 00476 SUB TCMP 1192 01622 1 06 00002 ADD 2,1 ADD OFFSET 1193 01623 0 04 00440 STA W2 SAVE RESULT FOR SYMBOL DEFINITION 1194 01624 -0 10 00577 JST* OBTD DEFINE SYMBOL IN OBJECT TEXT 1195 01625 000002 OCT 2 CODE FOR SYMBOL DEFINITION BLOCK
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 35

1196 01626 0 12 00462 IRS FREE INCREMENT NULL SYMBOL TABLE ENTRY COUNT 1197 01627 0 10 02512 DEND JST ISCP INCREMENT SYMBOL TABLE POINTER 1198 01630 0 12 00467 IRS SYMC INCREMENT COUNT 1199 01631 0 01 01561 JMP DLOP CONTINUE SCAN 1200 01632 0 02 00462 DINS LDA FREE CHECK FOR FREE ENTRIES IN TABLE 1201 01633 100040 SZE SKIP IF NONE AVAILABLE 1202 01634 -0 10 00572 JST* ZSC FIND A FREE ENTRY - RETURN AT *+3 1203 01635 -0 10 00555 JST* XCHK ADD A ENTRY TO THE TABLE 1204 01636 -0 01 01550 JMP* DLOC TABLE OVERFLOW - EXIT 1205 01637 0 02 00454 LDA SYL1 FETCH FIRST WORD OF NAME 1206 01640 140500 SSM SET DEFINED BIT 1207 01641 0 05 00527 ERA ZPTX LEAVE IT UNDEF. IF END OF PASS WRAP UP 1208 01642 1 04 00000 STA 0,1 STORE WORD IN SYMBOL TABLE 1209 01643 0 02 00406 SETJ LDA ABSW FETCH ASSEMBLY MODE SWITCH 1210 01644 0414 62 LGL 14 MOVE IT TO CODE POSITION 1211 01645 0 06 00455 ADD SYL1+1 INSERT LAST WORD OF NAME 1212 01646 1 04 00001 STA 1,1 PLACE WORD IN TABLE 1213 01647 0 02 00405 LDA CLOC FETCH LOCATION COUNTER 1214 01650 1 04 00002 STA 2,1 IT IS THIRD WORD OF ENTRY 1215 01651 0 02 00524 DXIT LDA WORT RESTORE WORD TO ITS 1216 01652 0 04 00437 STA WORD INITIAL VALUE 1217 01653 -0 01 01550 JMP* DLOC EXIT 1218 * 1219 * HERE IF SYMBOL HAS ALREADY BEEN DEFINED 1220 * 1221 01654 1 02 00000 MDE LDA 0,1 FETCH FIRST WORD OF THIS ENTRY 1222 01655 0 03 00621 ANA B4 ISOLATE EXTERNAL FLAG 1223 01656 101040 SNZ SKIP IF EXTERNAL SYMBOL ENTRY 1224 01657 0 01 01664 JMP *+5 NOT EXTERNAL, CHECK INTERNAL MULT. DEF. 1225 01660 1 02 00002 LDA 2,1 FETCH THIRD WORD OF EXTERNAL ENTRY 1226 01661 101040 SNZ SKIP IF 5TH AND 6TH CHARS. ARE NOT SPACES 1227 01662 -0 01 00570 JMP* MDFP 'M' ERROR - NAME IS DECLARED EXTERNAL 1228 01663 0 01 01627 JMP DEND NAMES ARE DIFFERENT - CONTINUE SCAN 1229 01664 1 02 00001 LDA 1,1 FETCH SECOND WORD OF ENTRY 1230 01665 100400 SPL SKIP IF SUBR FLAG IS NOT SET 1231 01666 0 01 01716 JMP SUBP GO PROCESS SUBR ENTRY 1232 01667 0 02 00431 LDA SETF IF SETF > 0, MULT. DEF. IS OK 1233 01670 100040 SZE SKIP IF NOT SET 1234 01671 0 01 01643 JMP SETJ GO GIVE SYMBOL NEW VALUE 1235 01672 1 02 00000 LDA 0,1 GET FIRST WORD OF TABLE ENTRY 1236 01673 0 03 00620 ANA B3 ISOLATE BIT 3 1237 01674 100040 SZE NOT SET 1238 01675 -0 01 00570 JMP* MDFP BIT NOW SET - 'M' ERROR REQUIRED 1239 01676 1 02 00002 LDA 2,1 GET ORIGINAL DEFINITION 1240 01677 0 07 00405 SUB CLOC COMPARE TO CURRENT DEFINTION 1241 01700 101040 SNZ UNEQUAL 1242 01701 0 01 01651 JMP DXIT EQUAL, SO OK 1243 01702 0 02 00436 LDA ZP SKIP IF NOT OUTPUT PASS 1244 01703 101400 SMI NOT OUTPUT PASS 1245 01704 0 01 03777 JMP PERR OUTPUT PASS - REPORT PHASE ERROR
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 36

1246 01705 0 02 00461 LDA TST 1ST PASS- BUT OF 1 OR 2. Q. 1247 01706 101400 SMI 1ST OF 2 PASS ASSEMBLY 1248 01707 -0 01 00570 JMP* MDFP ONE PASS - REPORT 'M' ERROR NOW 1249 01710 0 02 00620 LDA B3 CLEAR BIT 3 OF TABLE ENTRY 1250 01711 140401 CMA * 1251 01712 1 03 00000 ANA 0,1 * 1252 01713 0 06 00620 ADD B3 AND THEN SET IT 1253 01714 1 04 00000 STA 0,1 AND PUT BACK IN TABLE FOR PASS TWO 1254 01715 0 01 01651 JMP DXIT 1255 * 1256 01716 0416 77 SUBP ALR 1 TEST FOR SYNONYM 1257 01717 100400 SPL SKIP IF NO SYNONYM 1258 01720 0 01 01752 JMP SSYN GO PROCESS SYNONYM 1259 01721 0 02 00000 SUBC LDA 0 FETCH ADDRESS OF CURRENT ENTRY 1260 01722 0 11 00471 CAS BSYM COMPARE WITH TABLE BASE 1261 01723 100000 SKP NOT LOWEST IN TABLE 1262 01724 0 01 01734 JMP SUBX LOWEST ENTRY - SKIP SYNONYM CHECK 1263 01725 0 07 00624 SUB C2 CALCULATE ADDRESS OF 2ND WORD OF LAST ENTRY 1264 01726 0 04 00475 STA T IF THE PREVIOUS ENTRY HAS THE 1265 01727 -0 02 00475 LDA* T SUBR AND SYNONYM FLAGS SET: 1266 01730 0 03 00622 ANA B12 THEN THE CURRENT ENTRY DOES NOT 1267 01731 0 05 00622 ERA B12 DEFINE AN ENTRY POINT 1268 01732 101040 SNZ SKIP IF PREVIOUS ENTRY IS NOT A SYNONYM 1269 01733 0 01 01627 JMP DEND FALSE ALARM - CONTINUE SCAN 1270 01734 -0 10 00577 SUBX JST* OBTD FORCE ORG BLOCK 1271 01735 000007 OCT 7 1272 01736 0 02 00624 LDA C2 1273 01737 0 04 00513 STA ROOM 1274 01740 0 02 00673 LDA M3 SET COUNTER FOR 3 WORD NAME 1275 01741 0 04 00475 STA T 1276 01742 140040 CRA 1277 01743 1 13 00000 IMA 0,1 FETCH WORD AND CLEAR ITS POSITION 1278 01744 0 10 01760 JST WSUB WRITE NAME WORD 1279 01745 0 12 00000 IRS 0 INCREMENT INDEX 1280 01746 0 12 00475 IRS T INCREMENT COUNTER 1281 01747 0 01 01742 JMP *-5 GO BACK FOR NEXT WORD 1282 01750 0 12 00462 IRS FREE INCREMENT TABLE AVAILABILITY COUNT 1283 01751 0 01 01630 JMP DEND+1 CONTINUE SCAN 1284 01752 140040 SSYN CRA DELETE SYNONYM FROM TABLE 1285 01753 1 04 00000 STA 0,1 1286 01754 0 12 00467 IRS SYMC INCREMENT SCAN COUNTER TO COVER SYNONYM 1287 01755 0 10 02512 JST ISCP INCREMENT SYMBOL TABLE POINTER 1288 01756 0 12 00462 IRS FREE INCREMENT TABLE AVAILABILITY COUNT 1289 01757 0 01 01734 JMP SUBX GO OUTPUT ENTRY NAME 1290 * 1291 * HERE TO OUTPUT TWO CHARACTERS OF ENTRY NAME 1292 * 1293 01760 0 000000 WSUB DAC ** PACKED CHAR. IN A ON ENTRY 1294 01761 -0 10 00605 JST* UPAK UNPACK THE CHARACTERS 1295 01762 -0 10 00577 JST* OBTD WRITE TWO CHARACTERS
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 37

1296 01763 000012 OCT 12 1297 01764 -0 01 01760 JMP* WSUB EXIT 1298 * 1299 * 1300 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 38

1301 * 1302 * DWRD: OUTPUT WORD 1303 * 1304 * 1305 * CALLING SEQUENCE 1306 * JST DWRD 1307 * ......RETURN 1308 * 1309 * THE CONTENTS OF THE FULLOWING LOCATIONS CONTROL 1310 * THE OUTPUT SEQUENCE: 1311 * 1312 * CBT1 - PSEUDU-OP AND PURE DATA INDICATORS 1313 * CBT2 - MACHINE OPCODE CLASSIFICATION FLAGS 1314 * WORD - MACHINE OPCODE 1315 * SUM - PURE DATA OR AUDRESS 1316 * RBIT - RELOCATION MODE UF ADDRESS 1317 * 1318 * 1319 01765 0 000000 DWRD DAC ** 1320 01766 -0 10 00545 JST* CPC INSERT PROGRAM COUNTER IN LIST BUFFER 1321 01767 0 02 00417 LDA RBIT TEST FOR RELOCATION ERROR 1322 01770 0 11 00672 CAS M2 X 1323 01771 0 11 00624 CAS C2 X 1324 01772 101000 NOP YES! 1325 01773 0 10 04006 JST RERR ...... FLAG 'R' 1326 01774 140040 CRA DAP1 1327 01775 0 11 00472 CAS CBT1 CHECK DATA WORD TYPE 1328 01776 0 01 02003 JMP POPB PSEUDO-OP 1329 01777 0 01 02016 JMP POPY PURE DATA 1330 02000 0 02 00423 LDA SUM FETCH ADDRESS 1331 02001 140100 SSP MASK TO 15 BITS 1332 02002 0 04 00423 STA SUM REPLACE ADDRESS WORD 1333 02003 0 02 00474 POPB LDA CBT2 FETCH OPCODE TYPE FLAGS 1334 02004 100400 SPL SKIP IF NOT SHIFT 1335 02005 0 01 02027 JMP SHOP SHIFT - GO FORMAT SHIFT INSTRUCTION 1336 02006 0414 77 LGL 1 A(1)= I/O INSTRUCTION FLAG 1337 02007 100400 SPL SKIP IF NOT I/O INSTRUCTION 1338 02010 0 01 02044 JMP IOOP GO FORMAT I/O INSTRUCTION 1339 02011 0414 77 LGL 1 A(1)= MEMORY REFERENCE FLAG 1340 02012 100400 SPL SKIP IF NOT MEMORY REFERENCE 1341 02013 0 01 02056 JMP MROP GO FORMAT MEMORY REFERENCE INST. 1342 * 1343 * FORMAT GENERIC CLASS INSTRUCTION 1344 * 1345 02014 0 02 00437 LDA WORD FETCH GENERIC OPCODE 1346 02015 0 04 00423 STA SUM PLACE IT IN SUM FOR LISTING 1347 02016 -0 10 00546 POPY JST* CDTA PRINT PURE DATA 1348 02017 0 02 00423 LDA SUM FETCH DATA VALUE 1349 02020 0 04 00437 STA WORD IT LOOKS LIKE A GENERIC INSTRUCTION 1350 02021 140040 GOP CRA
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 39

1351 02022 0 04 00440 CNV9 STA W2 CLEAR LOW ORDER CODE BITS 1352 02023 -0 10 00577 CNV8 JST* OBTD PLACE WORD IN OBJECT TEXT 1353 02024 000001 OCT 1 1354 02025 0 12 00405 IRS CLOC INCREMENT THE LOCATION COUNTER 1355 02026 -0 01 01765 JMP* DWRD RETURN TO CALLER 1356 * 1357 * FORMAT SHIFT CLASS INSTRUCTION 1358 * 1359 02027 0 02 00423 SHOP LDA SUM FETCH SHIFT COUNT 1360 02030 140407 TCA COMPLEMENI SHIFT COUNT 1361 02031 0 03 00634 ANA C77 MASK TO SIX BITS 1362 02032 0 06 00437 ADD WORD ADD TO SHIFT OPCODE 1363 02033 0 04 00437 STA WORD SAVE COMPLETE SHIFT INSTRUCTION 1364 02034 0404 76 LGR 2 FORMAT FOR PRINTING OP-CODE PART 1365 02035 -0 10 00600 JST* OPTD PLACE OPCODE IN LISTING 1366 02036 002021 VFD 8,4,8,17 FOUR DIGITS STARTING IN COLUMN 18 1367 02037 0 02 00437 LDA WORD FETCH THE INSTRUCTION 1368 02040 0415 66 ALS 10 SET UP TO PRINT SHIFT COUNT 1369 02041 -0 10 00600 JST* OPTD PLACE SHIFT COUNT IN LISTING 1370 02042 001026 VFD 8,2,8,22 TWO DIGITS STARTING IN COLUMN 23 1371 02043 0 01 02021 JMP GOP PLACE INSTRUCTION IN OBJECT TEXT 1372 * 1373 * FORMAT I/O CLASS INSTRUCTION 1374 * 1375 02044 0 02 00423 IOOP LDA SUM FETCH I/O FUNCTION CODE 1376 02045 0 06 00437 ADD WORD MERGE WITH OPCODE 1377 02046 0 04 00437 STA WORD SAVE COMPLETE INSTRUCTION 1378 02047 -0 10 00600 JST* OPTD PRINT OPCODE 1379 02050 001021 VFD 8,2,8,17 TWO DIGITS STARTING IN COLUMN 18 1380 02051 0 02 00437 LDA WORD RETRIEVE THE INSTRUCTION 1381 02052 0415 74 ALS 4 POSITION FUNCTION CODE FOR PRINTING 1382 02053 -0 10 00600 JST* OPTD PRINT THE FUNCTION CODE 1383 02054 002024 VFD 8,4,8,20 FOUR DIGITS STARTING IN COLUMN 21 1384 02055 0 01 02021 JMP GOP PLACE INSTRUCTION IN OBJECT TEXT 1385 * 1386 * FORMAT MEMORY REFERENCE CLASS INSTRUCTION 1387 * 1388 02056 0 02 00437 MROP LDA WORD FETCH OPCODE WITH INDIRECT FLAG 1389 02057 101400 SMI SKIP IF INDIRECT REFERENCE 1390 02060 0 01 02064 JMP *+4 NOT INDIRECT 1391 02061 0 02 00642 LDA C255 LOAD ASCII MINUS SIGN 1392 02062 -0 10 00574 JST* CSRD INSERT IT IN LISTING 1393 02063 000020 DEC 16 COLUMN 17 1394 02064 140040 CRA CLEAR LOW ORDER BITS 1395 02065 0 04 00440 STA W2 OF OUTPUT WORD 1396 02066 0 02 00432 LDA DACF FETCH THE DAC FLAG 1397 02067 101040 SNZ SKIP IF SET 1398 02070 0 01 02112 JMP MR1 NO - NOT A DAC 1399 02071 0 02 00420 LDA E FETCH FORWARD REFERENCE FLAG 1400 02072 100040 SZE SKIP IF KNOWN REFERENCE
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 40

1401 02073 0 01 02175 JMP MRO PROCESS FORWARD REFERENCE 1402 02074 0 02 00423 LDA SUM FETCH ADDRESS 1403 02075 0404 76 LGR 2 POSITION TO PRINT FIRST DIGIT 1404 02076 -0 10 00600 JST* OPTD PRINT FIRST DIGIT 1405 02077 000423 VFD 8,1,8,19 ONE DIGIT IN COLUMN 20 1406 02100 0 02 00423 LDA SUM FETCH THE ADDRESS 1407 02101 0414 77 LGL 1 POSITION TO PRINT LAST FIVE DIGITS 1408 02102 -0 10 00600 JST* OPTD PRINT LAST FIVE DIGITS 1409 02103 002424 VFD 8,5,8,20 FIVE DIGITS STARTING IN COLUMN 21 1410 02104 0 02 00417 LDA RBIT FETCH RELOCATION OF ADDRESS 1411 02105 0 03 00743 ANA C3 MASK TO TWO BITS 1412 02106 0416 65 ALR 11 SHIFT T0 OPCODE FIELD 1413 02107 0 06 00437 ADD WORD PUT IN REST OF WORD 1414 02110 0 04 00437 STA WORD SAVE THE RESULT 1415 02111 0 01 02142 JMP MR5 CONTINUE PROCESSING 1416 02112 0 02 00437 MR1 LDA WORD FETCH INSTRUCTION WORD 1417 02113 140100 SSP REMOVE INDIRECT BIT 1418 02114 -0 10 00600 JST* OPTD PRINT THE OPCODE 1419 02115 001023 VFD 8,2,8,19 TWO DIGITS STARTING IN COLUMN 20 1420 02116 0 02 00420 LDA E FETCH FORWARD REFERENCE FLAG 1421 02117 100040 SZE SKIP IF NOT SET 1422 02120 0 01 02175 JMP MRO GO PROCESS FORWARD REFERENCE 1423 02121 0 02 00423 LDA SUM FETCH ADDRESS 1424 02122 140100 SSP TRUNCATE TO 15 BITS 1425 02123 0 04 00423 STA SUM REPLACE THE ADDRESS 1426 02124 0415 77 ALS 1 POSITION ADDRESS FOR PRINTING 1427 02125 -0 10 00600 JST* OPTD PRINT THE ADDRESS 1428 02126 002426 VFD 8,5,8,22 FIVE DIGITS STARTING IN COLUMN 23 1429 02127 0 02 00407 LDA LODF FETCH LOAD FLAG 1430 02130 101040 SNZ SKIP IF SET 1431 02131 0 01 02142 JMP MR5 NOT SET - DO NOT CHECK CROSS SECTOR REF. 1432 02132 0 02 00423 LDA SUM FETCH ADDRESS OF INSTRUCTION 1433 02133 0 03 00625 ANA C7X ISOLATE SECTOR NUMBER 1434 02134 101040 SNZ SKIP IF NOT SECTOR REFERENCE 1435 02135 0 01 02142 JMP MR5 SECTOR ZERO REFERENCE IS ALWAYS OK 1436 02136 0 05 00405 ERA CLOC MERGE WITH CURRENT ADDRESS 1437 02137 0 03 00625 ANA C7X ISOLATE SECTOR BITS 1438 02140 100040 SZE SKIP IF CURRENT SECTOR REFERENCE 1439 02141 -0 10 00564 JST* SER CROSS SECTOR REFERENCE - FLAG 'S' ERROR 1440 02142 0 02 00423 MR5 LDA SUM FETCH ADDRESS 1441 02143 0400 73 LRL 5 PUT LOW ORDER 5 BITS IN B REGISTER 1442 02144 0 06 00437 ADD WORD ADD IN OP-CODE 1443 02145 0 06 00427 ADD TAG ADD IN TAG 1444 02146 0 04 00437 STA WORD SAVE RESULT IN WORD 1445 02147 000201 IAB PUT LOW ORDER ADDRESS BITS IN A(1)-A(5) 1446 02150 0 03 00623 ANA B174 ELIMINATE ANY OTHER BITS 1447 02151 0 06 00440 ADD W2 INSERT LOW HALF 1448 02152 0 04 00440 STA W2 SAVE THE RESULT 1449 02153 0 02 00427 LDA TAG FETCH TAG 1450 02154 0406 77 ARR 1 POSITION IT FOR PRINTING
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 41

1451 02155 -0 10 00600 JST* OPTD PRINT THE TAG 1452 02156 000421 VFD 8,1,8,17 ONE DIGIT IN COLUMN 18 1453 02157 0 02 00420 LDA E FETCH FORWARD REFERENCE FLAG 1454 02160 100040 SZE SKIP IF NOT SET 1455 02161 0 01 02023 JMP CNV8 FORWARD REFERENCE - GO OUTPUT WORD 1456 02162 0 02 00432 LDA DACF FETCH THE DAC FLAG 1457 02163 100040 SZE SKIP IF NOT SET 1458 02164 0 01 02173 JMP DACC GO WORK ON DAC 1459 02165 0 02 00417 LDA RBIT FETCH RELOCATION OF ADDRESS 1460 02166 0 03 00743 ANA C3 MASK TO TWO BITS 1461 02167 140500 SSM SET MEMORY REFERENCE FLAG 1462 02170 0416 67 ALR 9 POSITION FLAG 1463 02171 0 06 00440 MRR ADD W2 INSERT REST OF LOW ORDER WORD 1464 02172 0 01 02022 JMP CNV9 GO OUTPUT THE WORD 1465 02173 0415 66 DACC ALS 10 POSITION DAC FLAG 1466 02174 0 01 02171 JMP MRR GO FINISH PROCESSING 1467 02175 0 02 00721 MRO LDA ASTR FETCH ASCII '**' 1468 02176 -0 04 00722 STA* FREF INDICATE FORWARD REFERENCE ON LISTING 1469 02177 0 02 00432 LDA DACF FETCH THE DAC FLAG 1470 02200 140500 SSM SET FORWARD REFERENCE FLAG 1471 02201 0406 72 ARR 6 CODE IS 110 FOR FORWARD DAC, 1472 02202 0 04 00440 STA W2 OR 010 FOR FORWARD 9-BIT. 1473 02203 0 01 02142 JMP MR5 GO INSERT SYMBOL NUMBER 1474 * 1475 * 1476 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 42

1477 * 1478 * CVPC: CONVERT PROGRAM COUNTER FOR PRINTING 1479 * 1480 * THE PROGRAM COUNTER IS CONVERTED TO ASCII AND INSERTED IN 1481 * THE LISTING BUFFER. 1482 * 1483 * 1484 02204 0 000000 CVPC DAC ** ENTRY 1485 02205 0 02 00405 LDA CLOC FETCH THE LOCATION COUNTER 1486 02206 0415 77 ALS 1 ADJUST IT FOR THE CONVERSION 1487 02207 -0 10 00600 JST* OPTD CONVERT IT TO ASCII AND INSERT IN BUFFER 1488 02210 002411 VFD 8,5,8,9 5 DIGITS STARTING AT COLUMN 10 1489 02211 -0 01 02204 JMP* CVPC EXIT 1490 * 1491 * 1492 * CDAT: CONVERT DATA FOR PRINTING 1493 * 1494 * THE SIX DIGIT OCTAL VALUE IN SUM ITS CONVERTED 1495 * TO ASCII AND INSERTED IN THE LISTING BUFFER. 1496 * 1497 * 1498 02212 0 000000 CDAT DAC ** ENTRY 1499 02213 0 02 00423 LDA SUM FETCH THE VALUE 1500 02214 0404 76 LGR 2 ADJUST IT TO PRINT SIGN BIT 1501 02215 -0 10 00600 JST* OPTD PLACE IT IN LISTING 1502 02216 000421 VFD 8,1,8,17 1 DIGIT IN COLUMN 18 1503 02217 0 02 00423 LDA SUM FETCH THE SUM AGAIN 1504 02220 0415 77 ALS 1 ADJUST IT TO CONVERT LOW ORDER 15 BITS 1505 02221 -0 10 00600 JST* OPTD PLACE IT IN LISTING 1506 02222 002422 VFD 8,5,8,18 5 DIGITS STARTING IN COLUMN 19 1507 02223 -0 01 02212 JMP* CDAT EXIT 1508 * 1509 * 1510 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 43

1511 * VAR : ANALYZE FIRST PSEUDO-OP ADDRESS SUBFIELD 1512 * 1513 * 1514 * CALLING SEQUENCE: 1515 * JST VAR 1516 * ......RETURN RESULT IN A REGISTER 1517 * 1518 02224 0 000000 VAR DAC ** ENTRY 1519 02225 -0 10 00573 JST* ADVD ADVANCE TO ADDRESS FIELD 1520 02226 0 10 02230 JST VARX EVALUATE FIRST SUBFIELD 1521 02227 -0 01 02224 JMP* VAR RETURN TO CALLER - RESULT IN A 1522 * 1523 * 1524 * 1525 * VARX: ANALYZE PSEUDO-OP ADDRESS SUBFIELD 1526 * 1527 * 1528 * CALLING SEQUENCE: 1529 * JST VARX 1530 * ......RETURN RESULT IN A REGISTER 1531 * 1532 02230 0 000000 VARX DAC ** ENTRY 1533 02231 -0 10 00532 JST* CLE CLEAR ACCUMULATORS 1534 02232 0 04 00423 STA SUM CLEAR EXPRESSION VALUE AND 1535 02233 0 04 00453 STA SIGN SIGN ACCUMULATORS 1536 02234 -0 10 00533 VR1 JST* SYLR ISOLATE NEXT TERM 1537 02235 0 02 00506 LDA LITF CHECK FOR A LITERAL 1538 02236 100040 SZE DO NOT ALLOW LITERALS IN PSEUDO-OP ADDRESS 1539 02237 0 10 02244 JST VFS EVALUATE TERM 1540 02240 -0 10 00566 JST* VER UDEFINED SYMBOL OR LITERAL 1541 02241 0 10 02404 JST SGNA UPDATE RESULT 1542 02242 -0 01 02230 JMP* VARX TERMINAL DELIMITER - EXIT 1543 02243 0 01 02234 JMP VR1 NON TERMINAL - EVALUATE NEXT ELEMENT 1544 * 1545 * 1546 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 44

1547 * 1548 * VFS : ITEM EVALUATOR 1549 * 1550 * 1551 * CALLING SEQUENCE: 1552 * JST VFS 1553 * ......RETURN IF UNDEFINED SYMBOL 1554 * ......RETURN IF DEFINED SYMBOL OR NUMERIC VALUE 1555 * VALUE IS IN A ON RETURN 1556 * 1557 02244 0 000000 VFS DAC ** VARIABLE FIELD SCAN 1558 02245 0 02 00460 LDA ALFA TEST FOR NUMERIC 1559 02246 100040 SZE SKIP IF ALPHABETIC 1560 02247 0 01 02344 JMP VNUM GO PROCESS NUMBER 1561 02250 0 02 00450 LDA SYL FETCH FIRST WORD OF NAME 1562 02251 0 05 00626 ERA C12 CHECK FOR SINGLE ASTERISK 1563 02252 101040 SNZ SKIP IF NOT 1564 02253 0 01 02353 JMP TLOC VALUE IS CURRENT LOCATION 1565 02254 0 05 00664 ERA C520 CHECK FOR DOUBLE ASTERISK 1566 02255 101040 SNZ SKIP IF NOT 1567 02256 0 01 02351 JMP VNUX VALUE IS ZERO 1568 02257 0 10 02505 JST ISCN SET UP FOR SYMBOL TABLE SEARCH 1569 02260 101040 SNZ SKIP IF ENTRIES IN TABLE 1570 02261 -0 01 02244 JMP* VFS EXIT - SYMBOL NOT IN TABLE 1571 02262 1 02 00000 VL1 LDA 0,1 FETCH FIRST WORD OF CURRENT ENTRY 1572 02263 101400 SMI SKIP IF DEFINED 1573 02264 0 05 00527 ERA ZPTX IS IT PSEUDO UNDEFINED 1574 02265 101400 SMI SKIP IF PSEUDO UNDEFINED 1575 02266 0 01 02333 JMP VL2 ACTUALLY UNDEFINED - CHECK NEXT ENTRY 1576 02267 0 03 00665 ANA CHR2 ELIMINATE CODE BITS 1577 02270 0 05 00450 ERA SYL COMPARE WITH FIRST WORD OF NAME 1578 02271 100040 SZE SKIP IF THEY MATCH 1579 02272 0 01 02333 JMP VL2 NO MATCH - ADVANCE TO NEXT ENTRY 1580 02273 1 02 00001 LDA 1,1 FETCH SECOND WORD OF CURRENT ENTRY 1581 02274 100400 SPL SKIP IF SUBR FLAG NOT SET 1582 02275 0 01 02333 JMP VL2 SET - ADVANCE TO NEXT ENTRY 1583 02276 0 03 00667 ANA CSC1 A(1-3)= 0 1584 02277 0 05 00451 ERA SYL+1 MERGE WIIH SECOND WORD OF NAME 1585 02300 100040 SZE SKIP IF THEY ARE EOUIVALENT 1586 02301 0 01 02333 JMP VL2 NO MATCH - ADVANCE TO NEXT ENTRY 1587 02302 1 02 00000 LDA 0,1 RETRIEVE FIRST WORD OF ENTRY 1588 02303 0 03 00666 ANA CM12 ISOLATE DEFINED AND EXTERNAL FLAGS 1589 02304 0 05 00666 ERA CM12 CHECK TO SEE IF BOTH ARE SET 1590 02305 100040 SZE SKIP IF EXTERNAL ENTRY 1591 02306 0 01 02314 JMP *+6 GO PROCESS INTERNAL REFERENCE 1592 02307 1 02 00002 LDA 2,1 FETCH THIRD WORD OF THIS ENTRY 1593 02310 0 05 00452 ERA SYL+2 COMPARE WITH THIRD WORD OF NAME 1594 02311 100040 SZE SKIP IF THEY MATCH 1595 02312 0 01 02333 JMP VL2 DO NOT MATCH ' ADVANCE TO NEXT ENTRY 1596 02313 0 01 02357 JMP EXTR GO PROCESS DIRECT EXTERNAL REFERENCE
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 45

1597 02314 0 02 00452 LDA SYL+2 FETCH 5TH AND 6TH CHARS. OF NAME 1598 02315 100040 SZE SKIP IF THEY ARE BLANKS DAV1 1599 02316 0 01 02333 JMP VL2 OTHERWISE CONTINUE SEARCH 1600 02317 1 02 00001 LDA 1,1 RETRIEVE SECOND WORD OF ENTRY 1601 02320 0405 62 ARS 14 POSITION RELOCATION INDICATOR 1602 02321 0 04 00463 STA RELV SAVE RELOCATION 1603 02322 1 02 00000 LDA 0,1 FETCH FIRST WORD OF ENTRY 1604 02323 101400 SMI SKIP IF ACTUALLY DEFINED 1605 02324 -0 10 00610 JST* UER PSEUDO UNDEFINED - FLAG 'U' ERROR 1606 02325 1 02 00000 LDA 0,1 IF BIT 3 OF TABLE ENTRY IS SET 1607 02326 0 03 00620 ANA B3 WE ARE REFERENCING A MULTIPLY DEFINED 1608 02327 100040 SZE SYMBOL 1609 02330 0 10 03767 JST MERR SO FLAG A REFERENCE TO SAME 1610 02331 1 02 00002 LDA 2,1 FETCH VALUE OF SYMBOL 1611 02332 0 01 02347 JMP VVAL TAKE DEFINED EXIT 1612 02333 0 10 02512 VL2 JST ISCP INCREMENT SYMBOL TABLE POINTER 1613 02334 0 12 00467 IRS SYMC INCREMENT SCAN COUNT 1614 02335 0 01 02262 JMP VL1 GO BACK TO CHECK NEXT ENTRY 1615 02336 0 02 00452 LDA SYL+2 FETCH 5TH AND 6TH CHARS. OF NAME 1616 02337 101040 SNZ SKIP IF THEY ARE NOT BLANKS 1617 02340 -0 01 02244 JMP* VFS EXIT - UNDEFINED SYMBOL 1618 02341 140040 CRA CLEAR 5TH AND 6TH CHARACTERS 1619 02342 0 04 00452 STA SYL+2 1620 02343 0 01 02257 JMP VL1-3 GO SEARCH FOR A 4 CHARACTER NAME 1621 02344 140040 VNUM CRA NUMBER - RELOCATION IS ZERO 1622 02345 0 04 00463 STA RELV 1623 02346 0 02 00445 LDA NUM FETCH THE NUMBER 1624 02347 0 12 02244 VVAL IRS VFS INCREMENT RETURN ADDRESS 1625 02350 -0 01 02244 JMP* VFS TAKE DEFINED EXIT 1626 02351 0 04 00445 VNUX STA NUM RESULT IS ZERO FOR '**' 1627 02352 0 01 02345 JMP VNUM+1 CLEAR RELOCATION AND TAKE DEFINED EXIT 1628 02353 0 02 00406 TLOC LDA ABSW ASSEMBLY RELOCATION FACTOR 1629 02354 0 04 00463 STA RELV IT IS RELOCATION OF '*' 1630 02355 0 02 00405 LDA CLOC CURRENT LOCATION IS VALUE OF '*' 1631 02356 0 01 02347 JMP VVAL TAKE DEFINED EXIT 1632 * 1633 * EXTR: PROCESS DIRECT EXTERNAL REFERENCE 1634 * 1635 02357 0 02 00472 EXTR LDA CBT1 CHECK FOR MEMORY REFERENCE INSTRUCTION 1636 02360 0414 76 LGL 2 A(1)=MEMORY REFERENCE FLAG 1637 02361 101400 SMI SKIP IF MEMORY REFERENCE INSTRUCTION 1638 02362 0 01 02375 JMP EXTE ERROR-ILLEGAL REFERENCE TO EXTERNAL SYMBOL 1639 02363 0 02 00423 LDA SUM CHECK FOR PREVIOUS ADDRESS MODIFICATION 1640 02364 100040 SZE SKIP IF UNMODIFIED ADDRESS 1641 02365 -0 10 00560 JST* EER ERROR-MODIFIED EXTERNAL REFERENCE 1642 02366 0 10 02440 JST PMSC CLASSIFY DELIMITING CHARACTER 1643 02367 0 01 02652 JMP XAC1 TERMINAL DELIMITER-OUTPUT THE INSTRUCTION 1644 02370 -0 10 00560 JST* EER NONTERMINAL DELIMITER-EXT. REFERENCE ERROR 1645 02371 -0 10 00533 JST* SYLR INPUT NEXT TERM 1646 02372 0 10 02440 JST PMSC CLASSIFY TERMINATING CHARACTER
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 46

1647 02373 0 01 02652 JMP XAC1 TERMINAL DELIMITER-OUTPUT THE INSTRUCTION 1648 02374 0 01 02371 JMP *-3 NONTERMINAL DELIMITER-CONTINUE SCAN 1649 * 1650 * HERE IF ILLEGAL EXTERNAL REFERENCE 1651 * 1652 02375 -0 10 00560 EXTE JST* EER FLAG AN 'E' ERROR 1653 02376 0 04 00423 STA SUM CLEAR ADDRESS 1654 02377 0 02 00472 LDA CBT1 TEST FOR PSEUDO-OP 1655 02400 100400 SPL SKIP IF NOT 1656 02401 -0 01 02244 JMP* VFS TAKE UNDEF. EXIT FROM TABLE SCANNER 1657 02402 -0 10 00544 JST* DUMP OUTPUT THE INSTRUCTION 1658 02403 -0 01 00542 JMP* COM LIST THIS STATEMENT AND EXIT 1659 * 1660 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 47

1661 * 1662 * SGNA: PUT SIGN ON RESULT 1663 * 1664 * 1665 * CALLING SEQUENCE: 1666 * LDA VALU VALUE OF TERM IN A REGISTER ON ENTRY 1667 * JST SGNA DAP1 1668 * ......RETURN TERMINAL DELIMITER (SPACE, COMMA) 1669 * ......RETURN NON-TERMINAL DELIMETER (PLUS, MINUS) 1670 * 1671 * THE FOLLOWING LOCATIONS CONTAIN INFORMATION 1672 * USED IN THIS ROJTINE: 1673 * 1674 * TERM - TERMINATING CHARACTER IN ASCII CODE 1675 * SIGN - 0 IF CURRENT TERM IS POSITIVE, -1 IF MINUS 1676 * RELV - RELOCATION FACTOR OF CURRENT TERM 1677 * SUM - PREVIOUS ACCUMULATED EXPRESSION VALUE 1678 * RBIT - PREVIOUS RELOCATION OF EXPRESSION 1679 * 1680 * 1681 * RESULTS: 1682 * 1683 * SUM - NEW ACCUMULATED VALUE 1684 * RBIT - NEW ACCUMULATED RELOCATION FACTOR 1685 * SIGN - 0 IF NEXT TERM IS POSITIVE, -1 IF MINUS 1686 * (ONLY SET IF NON-TERMINAL DELIMITER IS DETECTED) 1687 * 1688 02404 0 000000 SGNA DAC ** VALUE IN A ON ENTRY 1689 02405 0 05 00453 ERA SIGN TWOS COMPLEMENT RESULT 1690 02406 0 07 00453 SUB SIGN IF SIGN IS MINUS 1691 02407 0 06 00423 ADD SUM ADD TO PREVIOUS VALUE 1692 02410 0 04 00423 STA SUM SAVE NEW VALUE 1693 02411 0 02 00463 LDA RELV FETCH RELOCATION OF NEW TERM 1694 02412 0 05 00453 ERA SIGN TWOS COMPLEMENT RELOCATION 1695 02413 0 07 00453 SUB SIGN IF SIGN WAS MINUS 1696 02414 0 06 00417 ADD RBIT ADD TO PREVIOUS RELOCATION 1697 02415 0 04 00417 STA RBIT SAVE NEW RELOCATION FACTOR 1698 02416 0 02 00444 CKSG LDA TERM FETCH TERMINATING CHARACTER 1699 02417 0 07 00635 SUB C240 CHECK FOR SPACE 1700 02420 101040 SNZ SKIP IF NOT 1701 02421 0 01 02436 JMP SGNX TAKE TERMINAL DELIMITER EXIT 1702 02422 0 07 00707 SUB C13 CHECK FOR '+' 1703 02423 101040 SNZ SKIP IF NOT 1704 02424 0 01 02434 JMP PLUS GO SET NEW SIGN 1705 02425 0 07 00700 SUB ONE CHECK FOR COMMA 1706 02426 101040 SNZ SKIP IF NOT 1707 02427 0 01 02436 JMP SGNX TAKE TERMINAL DELIMITER EXIT 1708 02430 0 07 00700 SUB ONE CHECK FOR '-' 1709 02431 100040 SZE SKIP IF MINUS SIGN 1710 02432 -0 10 00561 JST* FER ILLEGAL TERMINATING CHAR. - FORMAT ERROR
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 48

1711 02433 0 07 00700 SUB ONE SET A REGISTER TO -1 FOR MINUS 1712 02434 0 04 00453 PLUS STA SIGN SET SIGN OF NEXT TERM 1713 02435 0 12 02404 IRS SGNA TAKE NON-TERMINAL EXIT 1714 02436 0 02 00423 SGNX LDA SUM FETCH ACCUMULATED RESULT 1715 02437 -0 01 02404 JMP* SGNA EXIT 1716 * 1717 * 1718 * PMSC: CLASSIFY TERMINATING CHARACTER 1719 * 1720 * 1721 * CALLING SEQUENCE: 1722 * JST PMSC 1723 * ......RETURN TERMINAL DELIMITER (SPACE, COMMA) 1724 * ......RETURN NON-TERMINAL DELIMITER (PLUS, MINUS) 1725 * 1726 02440 0 000000 PMSC DAC ** CLASSIFY TERMINATING CHARACTER 1727 02441 0 02 02440 LDA *-1 FETCH RETURN ADDRESS 1728 02442 0 04 02404 STA SGNA RETURN IS THROUGH SGNA 1729 02443 0 01 02416 JMP CKSG CHECKING IS DONE IN THE SGNA ROUTINE 1730 * 1731 * 1732 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 49

1733 * 1734 * XCK : SYMBOL TABLE CHECK ROUTINE 1735 * 1736 * 1737 * CALLING SEQUENCE: 1738 * JST XCK 1739 * ......RETURN IF SYMBOL TABLE OVERFLOW 1740 * ......RETURN IF NO OVERFLOW - INDEX 1741 * POINTS TO FIRST WORD OF NEW ENTRY 1742 * 1743 * 1744 02444 0 000000 XCK DAC ** SYMBOL TABLE CHECK 1745 02445 0 02 00471 LDA BSYM CURRENT BASE OF TABLE 1746 02446 0 07 00743 SUB C3 ADD AN NEW ENTRY 1747 02447 0 04 00471 STA BSYM STORE NEW BASE ADDRESS 1748 02450 0 04 00000 STA 0 MAKE INDEX POINT TO NEW ENTRY 1749 02451 0 02 00470 LDA CSYM FETCH NEGATED SYMBOL COUNT 1750 02452 0 07 00700 SUB ONE UPDATE THE COUNT 1751 02453 0 04 00470 STA CSYM REPLACE THE COUNT 1752 02454 0 04 00467 STA SYMC SET ENTRY COUNTER 1753 02455 0415 77 ALS 1 MULTIPLY BY TWO 1754 02456 0 06 00470 ADD CSYM *3 1755 02457 0 06 00434 ADD D$SZ ADD IN MAX TABLE SIZE 1756 02460 100400 SPL SKIP IF NO OVERFLOW 1757 02461 0 01 02464 JMP XLV SYMBOL TABLE OVERFLOW 1758 02462 0 12 02444 IRS XCK INCREMENT RETURN ADDRESS 1759 02463 -0 01 02444 JMP* XCK TAKE NO OVERFLOW EXIT 1760 02464 -0 10 00567 XLV JST* XER FLAG AN 'X' ERROR 1761 02465 0 10 02512 JST ISCP RESTORE TABLE BASE TO ITS 1762 02466 0 04 00471 STA BSYM LAST NONOVERFLOW VALUE 1763 02467 0 12 00470 IRS CSYM DECREMENT SYMBOL TABLE ENTRY COUNT 1764 02470 -0 01 02444 JMP* XCK TAKE OVERFLOW EXIT 1765 * 1766 * 1767 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 50

1768 * 1769 * ZSCN: RECOVER NULL SYMBOL TABLE ENTRY 1770 * 1771 * 1772 * CALLING SEQUENCE 1773 * LDA FREE FREE COUNT IN A ON ENTRY 1774 * JST ZSCN 1775 * .......... 1776 * .......... 1777 * ......RETURN INDEX POINTS TO FREE ENTRY ON RETURN 1778 * 1779 * 1780 02471 0 000000 ZSCN DAC ** RECOVER NULL SYMBOL TABLE ENTRY 1781 02472 0 07 00700 SUB ONE DECREMENT FREE COUNT 1782 02473 0 04 00462 STA FREE SAVE UPDATED FREE COUNT 1783 02474 0 10 02505 JST ISCN SET UP FOR TABLE SCAN 1784 02475 0 12 02471 IRS ZSCN INCREMENT RETURN ADDRESS 1785 02476 0 12 02471 IRS ZSCN INCREMENT RETURN ADDRESS 1786 02477 1 02 00000 ZLOP LDA 0,1 FETCH FIRST WORD OF CURRENT ENTRY 1787 02500 101040 SNZ SKIP IF NOT NULL 1788 02501 -0 01 02471 JMP* ZSCN NULL - EXIT 1789 02502 0 10 02512 JST ISCP INCREMENT SYMBOL TABLE POINTER 1790 02503 0 12 00467 IRS SYMC INCREMENT ENTRY COUNTER 1791 02504 0 01 02477 JMP ZLOP GO CHECK NEXT NEXT ENTRY 1792 * 1793 * 1794 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 51

1795 * 1796 * ISCN: INITIALIZE SYMBOL TABLE SCAN 1797 * 1798 * 1799 * CALLING SEQUENCE: 1800 * JST ISCN 1801 * ......RETURN 1802 * 1803 * RESULTS: 1804 * INDEX=ADDRESS OF FIRST ENTRY IN SYMBOL TABLE 1805 * SYMC=NEGATED COUNT OF ENTRIES IN TABLE 1806 * 1807 02505 0 000000 ISCN DAC ** INITIALIZE SYMBOL TABLE SCAN 1808 02506 0 35 00471 LDX BSYM SET INDEX TO POINT TO BASE OF TABLE 1809 02507 0 02 00470 LDA CSYM FETCH SYMBOL TABLE COUNT 1810 02510 0 04 00467 STA SYMC ESTABLISH SCAN COUNTER 1811 02511 -0 01 02505 JMP* ISCN EXIT 1812 * 1813 * 1814 * ISCP: INCREMENT SYMBOL TABLE SCAN POINTER 1815 * 1816 * 1817 * CALLING SEQUENCE: 1818 * JST ISCP 1819 * ......RETURN 1820 * 1821 * RESULTS: 1822 * INDEX=INDEX+3 1823 * 1824 02512 0 000000 ISCP DAC ** INCREMENT SYMBOL TABLE SCAN POINTER 1825 02513 0 02 00000 LDA 0 FETCH TABLE POINTER 1826 02514 0 06 00743 ADD C3 ADVANCE IT TO POINT TO NEXT ENTRY 1827 02515 0 04 00000 STA 0 REPLACE THE POINTER 1828 02516 -0 01 02512 JMP* ISCP RETURN TO CALLER 1829 * 1830 * 1831 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 52

1832 * 1833 * DUS : ENTER UNDEFINED SYMBOL IN TABLE 1834 * 1835 * 1836 * CALLING SEQUENCE: 1837 * JST DUS 1838 * ......RETURN 1839 * 1840 02517 0 000000 DUS DAC ** ENTER UNDEFINED SYMBOL IN TABLE 1841 02520 0 02 00421 LDA E1 IF EXTENSION FLAG OR DAC FLAG 1842 02521 0 06 00432 ADD DACF IS SET. ENTER SYMBOL AT BOTTOM OF TABLE 1843 02522 100040 SZE SKIP IF NEITHER IS SET 1844 02523 0 01 02552 JMP DBOT ENTER AT BASE OF TABLE 1845 02524 0 10 02505 JST ISCN SETUP FOR SYMBOL TABLE SEARCH 1846 02525 101040 SNZ SKIP IF TABLE NOT EMPTY 1847 02526 0 01 02552 JMP DBOT 1848 02527 1 02 00000 DL1 LDA 0,1 FETCH FIRST WORD OF CURRENT ENTRY 1849 02530 100400 SPL SKIP IF DEFINED FLAG IS NOT SET 1850 02531 0 01 02547 JMP DL4 DEFINED SYMBOL - ADVANCE TO NEXT ENTRY 1851 02532 0 03 00665 ANA CHR2 ELIMINATE CODE BITS 1852 02533 0 05 00450 ERA SYL MERGE WITH FIRST WORD OF TARGET NAME 1853 02534 100040 SZE SKIP IF THEY MATCH 1854 02535 0 01 02547 JMP DL4 ADVANCE TO NEXT ENTRY 1855 02536 1 02 00001 LDA 1,1 FETCH SECOND WORD OF ENTRY 1856 02537 0 03 00667 ANA CSC1 ELIMINATE CONTROL BITS 1857 02540 0 05 00451 ERA SYL+1 MERGE WITH SECOND WORD OF TARGET NAME 1858 02541 100040 SZE SKIP IF THEY MATCH 1859 02542 0 01 02547 JMP DL4 ADVANCE TO NEXT ENTRY 1860 02543 1 02 00002 LDA 2,1 FETCH THIRD WORD OF CURRENT ENTRY 1861 02544 0 05 00423 ERA SUM MERGE OFFSET 1862 02545 101040 SNZ SKIP IF OFFSETS DO NOT AGREE 1863 02546 0 01 02604 JMP FNDD MATCHING ENTRY FOUND 1864 02547 0 10 02512 DL4 JST ISCP INCREMENT SYMBOL TABLE POINTER 1865 02550 0 12 00467 IRS SYMC INCREMENT THE SCAN COUNT 1866 02551 0 01 02527 JMP DL1 GO CHECK NEXT ENTRY 1867 02552 0 02 00462 DBOT LDA FREE FETCH NULL TABLE ENTRY COUNTER 1868 02553 100040 SZE SKIP IF NO RECOVERABLE ENTRIES 1869 02554 -0 10 00572 JST* ZSC USE A FREE ENTRY 1870 02555 -0 10 00555 JST* XCHK ADD NEW ENTRY 1871 02556 0 01 02602 JMP DBZR SYMBOL TABLE OVERFLOW 1872 02557 0 02 00421 LDA E1 CHECK FOR EXTENDED OR DAC FLAGS SET 1873 02560 0 06 00432 ADD DACF DAP1 1874 02561 100040 SZE SKIP IF NEITHER IS SET 1875 02562 140600 SCB SET C BIT 1876 02563 0 02 00453 LDA SIGN GET SIGN UF SYL 1877 02564 0 03 00621 ANA B4 A(1-3)=0,A(5-16)=0 1878 02565 101040 SNZ SKIP IF A(4) SET 1879 02566 0 02 00620 LDA B3 SET PLUS 1880 02567 100001 SRC 1881 02570 0 06 00617 ADD B2 INSERT CHAIN FLAG
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 53

1882 02571 0 06 00450 ADD SYL ADD IN FIRST WORD OF NAME 1883 02572 1 04 00000 STA 0,1 PLACE IT 1N FIRST WORD OF ENTRY 1884 02573 0 02 00451 LDA SYL+1 FETCH SECOND WORD OF NAME 1885 02574 1 04 00001 STA 1,1 STORE IT IN SECOND WORD OF ENTRY 1886 02575 0 02 00423 LDA SUM FETCH OFFSET 1887 02576 1 04 00002 STA 2,1 STORE IT IN THIRD WORD OF ENTRY 1888 02577 0 02 00467 DDD LDA SYMC FETCH SYMBOL NUMBER 1889 02600 140407 TCA COMPLEMENT IT 1890 02601 -0 01 02517 JMP* DUS EXIT 1891 02602 140040 DBZR CRA OVERFLOW- EXIT WITH A ZERO 1892 02603 -0 01 02517 JMP* DUS EXIT 1893 02604 1 02 00000 FNDD LDA 0,1 FETCH FIRST WORD OF ENTRY 1894 02605 0416 77 ALR 1 A(1)= CHAINED FLAG 1895 02606 100400 SPL SKIP IF NOT SET 1896 02607 0 01 02547 JMP DL4 NOT THE SAME 1897 02610 0416 77 ALR 1 1898 02611 0 05 00453 ERA SIGN DAP1 1899 02612 101400 SMI 1900 02613 0 01 02547 JMP DL4 1901 02614 0 01 02577 JMP DDD DONE, EXIT 1902 * 1903 * 1904 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 54

1905 * 1906 * CALL: CALL PSEUDO-OP PROCESSOR 1907 * 1908 * 1909 02615 -0 10 00547 CALL JST* DLC DEFINE SYMBOL IN LOCATION FIELD 1910 02616 0 02 00620 LDA B3 A(3)=1 1911 02617 0 04 00437 STA WORD PLACE A JST INSTRUCTION IN WORD 1912 02620 0 04 00472 STA CBT1 DAP1 1913 02621 140040 CRA SET ADDRESS T0 1914 02622 0 04 00423 STA SUM ABSOLUTE ZERO 1915 02623 -0 10 00544 JST* DUMP OUTPUT A 'JST 0' INSTRUCTION 1916 02624 -0 10 00573 JST* ADVD ADVANCE TO ADDRESS FIELD 1917 02625 0 10 03016 JST R6C READ SIX CHAR. EXTERNAL NAME 1918 02626 0 35 00673 CAL1 LDX M3 PREPARE TO OUTPUT SIX CHAR. NAME 1919 02627 1 02 00453 LDA SYL+3,1 FETCH NAME WORD 1920 02630 -0 10 00605 JST* UPAK UNPACK THE CHARACTERS 1921 02631 -0 10 00577 JST* OBTD OUTPUT 2 CHARS. OF NAME 1922 02632 000011 OCT 11 CODE FOR EXTERNAL LINKAGE BLOCK 1923 02633 0 12 00000 IRS 0 INCREMENT COUNTER 1924 02634 0 01 02627 JMP *-5 GO BACK FOR NEXT WORD 1925 02635 0 02 00432 LDA DACF DACF INDICATED 9 OF 14/15 1926 02636 0 04 00437 STA WORD BIT REFERENCE 1927 02637 -0 10 00577 JST* OBTD OUTPUT REFERENCE TYPE INDICATOR 1928 02640 000011 OCT 11 1929 02641 -0 01 00542 JMP* COM LIST THIS LINE AND EXIT 1930 * 1931 * 1932 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 55

1933 * 1934 * XAC : XAC PSEUDO-OP PROCESSOR 1935 * 1936 * 1937 02642 0 02 00426 XAC LDA INDF FETCH INDIRECT INDICATOR 1938 02643 0406 77 ARR 1 A(1)=INDIRECT FLAG 1939 02644 0 04 00437 STA WORD SET FLAGGED OPCODE 1940 02645 -0 10 00573 JST* ADVD ADVANCE TO ADDRESS FIELD 1941 02646 -0 10 00547 JST* DLC DEFINE SYMBOL IN LOCATION FIELD 1942 02647 0 12 00425 IRS INDA SET INDEX LEGAL FLAG 1943 02650 0 12 00432 IRS DACF SET 14/15 BIT REFERENCE FLAG 1944 02651 0 10 03016 JST R6C READ SIX CHAR. EXTERNAL NAME 1945 02652 -0 10 00550 XAC1 JST* RESS MOVE EXTERNAL NAME TO SYL1 1946 02653 -0 10 00606 JST* TRT EVALUATE INDEX TAG 1947 02654 -0 10 00550 JST* RESS MOVE SYMBOL BACK TO SYL 1948 02655 140040 CRA 1949 02656 0 04 00417 STA RBIT CLEAR RELOCATION INDICATOR 1950 02657 0 04 00423 STA SUM CLEAR ADDRESS 1951 02660 -0 10 00544 JST* DUMP OUTPUT THE INSTRUCTION 1952 02661 0 01 02626 JMP CAL1 GO OUTPUT LINKAGE BLOCK 1953 * 1954 * 1955 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 56

1956 * 1957 * 1958 * ENT : ENT PSEUDO-OP PROCESSOR 1959 * SUBR: SUBR PSEUDO-OP PROCESSOR 1960 * 1961 * 1962 002662 ENT EQU * 1963 002662 SUBR EQU * 1964 02662 0 04 00526 STA SYMF CLEAR SYNONYM FLAG 1965 02663 0 02 00436 LDA ZP FETCH PASS INDICATOR 1966 02664 100400 SPL SKIP IF OUTPUT PASS 1967 02665 -0 01 00542 JMP* COM NOT OUTPUT PASS - EXIT 1968 02666 -0 10 00573 JST* ADVD ADVANCE TO ADDRESS FIELD 1969 02667 0 10 03016 JST R6C READ AND CHECK ENTRY NAME 1970 02670 0 02 00444 LDA TERM FETCH DELIMITING CHARACTER 1971 02671 0 05 00641 ERA C254 CHECK FOR COMMA 1972 02672 100040 SZE SKIP IF COMMA 1973 02673 0 01 02677 JMP *+4 NO COMMA, THEREFORE NO SYNONYM 1974 02674 0 12 00526 IRS SYMF SET SYNONYM FLAG 1975 02675 0 10 01270 JST SWAP PLACE ENTRY NAME IN SYL1 1976 02676 0 10 03016 JST R6C READ SYNONYM NAME 1977 02677 0 02 00461 LDA TST CHECK FOR A TWO PASS ASSEMBLY 1978 02700 101400 SMI SKIP IF TWO PASS ASSEMBLY 1979 02701 0 01 02713 JMP SBL1 ONE PASS - FOLLOWING CHECK CANNOT BE MADE 1980 02702 0 02 00452 LDA SYL+2 SAVE LAST 2 CHARS. OF NAME BECAUSE VFS 1981 02703 0 04 00475 STA T MAY WIPE THEM OUT 1982 02704 0 10 02244 JST VFS SEARCH SYMBOL TABLE FOR INTERNAL NAME 1983 02705 100000 SKP SKIP IF NOT FOUND 1984 02706 0 01 02711 JMP *+3 ENTRY POINT IS DEFINED 1985 02707 0 10 04022 JST UERR FLAG AN UNDEFINED SYMBOL ERROR 1986 02710 -0 01 00542 JMP* COM EXIT 1987 02711 0 02 00475 LDA T RESTORE LAST TWO CHARS. OF 1988 02712 0 04 00452 STA SYL+2 NAME 1989 02713 0 02 00526 SBL1 LDA SYMF CHECK FOR A SYNONYM 1990 02714 100040 SZE NO - EXTERNAL NAME IS IN SYL 1991 02715 0 10 01270 JST SWAP PUT EXTERNAL NAME IN SYL 1992 02716 0 35 00673 LDX M3 OUTPUT COUNTER 1993 02717 0 02 00624 LDA C2 INSURE ROOM FOR THIS ENTRY 1994 02720 0 04 00513 STA ROOM 1995 02721 1 02 00453 LDA SYL+3,1 FETCH TWO CHARACTERS OF NAME 1996 02722 -0 10 00605 JST* UPAK 1997 02723 -0 10 00577 JST* OBTD OUTPUT SUBR HEADER WORD 1998 02724 000000 OCT 0 DAP1 1999 02725 0 12 00000 IRS 0 INCREMENT WORD COUNT 2000 02726 0 01 02721 JMP *-5 GO BACK TO OUTPUT NEXT WORD 2001 02727 0 10 02766 JST SCHW PUT ENTRY NAME IN SYMBOL TABLE 2002 02730 0 02 00526 LDA SYMF FETCH SYNONYM FLAG 2003 02731 101040 SNZ SKIP IF A SYNONYM IS IN SYL1 2004 02732 -0 01 00542 JMP* COM OTHERWISE, PROCESSING IS COMPLETE 2005 02733 0 10 01270 JST SWAP PLACE SYNONYM IN SYL
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 57

2006 02734 0 02 00451 LDA SYL+1 FETCH SECOND WORD OF NAME 2007 02735 0 05 00617 ERA B2 SET SYNONYM BIT 2008 02736 0 04 00451 STA SYL+1 REPLACE THE WORD 2009 02737 0 10 02766 JST SCHW PUT SYNONYM NAME IN SYMBOL TABLE 2010 02740 -0 01 00542 JMP* COM LIST THE STATEMENT AND EXIT 2011 * 2012 * 2013 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 58

2014 * 2015 * EXT : EXT PSEUDO-OP PROCESSOR 2016 * 2017 * 2018 02741 -0 10 00573 EXT JST* ADVD ADVANCE T0 ADDRESS FIELD 2019 02742 0 10 03016 JST R6C READ 1-6 CHARACTER NAME 2020 02743 0 02 00444 LDA TERM FETCH TERMINATING CHARACTER 2021 02744 0 05 00635 ERA C240 CHECK FOR SPACE CHARACTER 2022 02745 100040 SZE SKIP IF IT IS 2023 02746 -0 01 00604 JMP* BCE9 ELSE FLAG 'V' ERROR AND EXIT 2024 02747 0 02 00405 LDA CLOC CHECK FOR PREVIOUS CODE GENERATION 2025 02750 100040 SZE SKIP IF NO CODE HAS BEEN GENERATED 2026 02751 -0 10 00560 JST* EER THIS POTENTIALLY COULD CAUSE PROBLEMS 2027 02752 0 02 00436 LDA ZP CHECK FOR PASS ONE 2028 02753 0 05 00461 ERA TST BIT ONE RESET IF PASS ONE 2029 02754 100400 SPL SKIP IF PASS ONE 2030 02755 -0 01 00542 JMP* COM PASS TWO - NO MORE PROCESSING REQUIRED 2031 02756 0 02 00450 LDA SYL FETCH FIRST WORD OF NAME 2032 02757 0 05 00621 ERA B4 SET EXTERNAL FLAG 2033 02760 0 04 00450 STA SYL REPLACE FIRST WORD OF NAME 2034 02761 0 02 00451 LDA SYL+1 FETCH SECOND WORD OF NAME 2035 02762 0 05 00616 ERA B1 COMPLEMENI 'SUBR' FLAG 2036 02763 0 04 00451 STA SYL+1 REPLACE WORD 2037 02764 0 10 02766 JST SCHW WRITE EXTERNAL NAME IN TABLE 2038 02765 -0 01 00542 JMP* COM EXIT 2039 * 2040 * 2041 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 59

2042 * 2043 * SCHW: WRITE EXTERNAL NAME IN SYMBOL TABLE 2044 * 2045 * 2046 * CALLING SEQUENCE: 2047 * JST SCHW 2048 * ......RETURN 2049 * 2050 * THIS ROUTINE WILL PLACE THE SIX CHARACTER NAME 2051 * FOUND IN SYL-SYL+2 IN THE SYMBOL TABLE. WITH 2052 * THE DEFINED FLAG SET. AND THE SUBR FLAG COMPLEMENTED. 2053 * 2054 * 2055 02766 0 000000 SCHW DAC ** WRITE EXTERNAL NAME IN TABLE 2056 02767 -0 10 00555 JST* XCHK SETUP SYMBOL TABLE ENTRY 2057 02770 -0 01 02766 JMP* SCHW TABLE OVERFLOW - RETURN 2058 02771 0 02 00450 LDA SYL FETCH FIRST WORD OF NAME 2059 02772 140500 SSM SET DEFINED FLAG 2060 02773 1 04 00000 STA 0,1 PLACE RESULT IN FIRST WORD OF ENTRY 2061 02774 0 02 00451 LDA SYL+1 FETCH SECOND WORD OF NAME 2062 02775 140024 CHS COMPLEMENI SUBR FLAG 2063 02776 1 04 00001 STA 1,1 PLACE RESULT IN SECOND WORD OF ENTRY 2064 02777 0 02 00452 LDA SYL+2 FETCH THIRD WORD OF NAME 2065 03000 1 04 00002 STA 2,1 PLACE IT IN THIRD WORD OF ENTRY 2066 03001 -0 01 02766 JMP* SCHW RETURN TO CALLER 2067 * 2068 * 2069 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 60

2070 * 2071 * UNPK: UNPACK CHARACTER PAIR 2072 * 2073 * 2074 * CALLING SEQUENCE: 2075 * LDA CHAR A CONTAINS 2 CHARS. IN INTERNAL FORMAT 2076 * JST UNPK 2077 * ......RETURN RESULT IN A REGISTER AND WORD 2078 * 2079 * 2080 03002 0 000000 UNPK DAC ** 2081 03003 0 03 00665 ANA CHR2 ELIMINATE CODE BITS 2082 03004 000201 IAB B(5-16)=PACKED CHARACTER PAIR 2083 03005 140040 CRA 2084 03006 0410 66 LLL 10 A(11-16)=FIRST CHAR. 2085 03007 0414 76 LGL 2 POSITION FIRST CHAR. 2086 03010 101040 SNZ SKIP IF IT WAS NOT A BLANK 2087 03011 0410 70 LLL 8 PLACE SECOND CHAR. IN POSITION OF FIRST 2088 03012 0410 72 LLL 6 MOVE IN SECOND CHAR. (A BLANK IF 2089 * CHAR. ONE WAS A BLANK) 2090 03013 0 06 00723 ADD EMES CONVERT IT TO ASCII 2091 03014 0 04 00437 STA WORD PLACE RESULT IN WORD 2092 03015 -0 01 03002 JMP* UNPK EXIT 2093 * 2094 * 2095 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 61

2096 * 2097 * R6C : READ AND CHECK EXTERNAL NAME 2098 * 2099 * 2100 * CALLING SEQUENCE: 2101 * JST R6C 2102 * ......RETURN 2103 * 2104 * THE SIX CHARACTER NAME IS PLACED IN SYL-SYL+2. IF 2105 * A NAME IS NOT FOUND. A 'V' ERROR IS FLAGGED AND 2106 * RETURN IS MAKE TO THE STATEMENT PROCESSOR. 2107 * 2108 * 2109 03016 0 000000 R6C DAC ** 2110 03017 -0 10 00533 JST* SYLR INPUT UP TO SIX CHARACTERS 2111 03020 0 02 00450 LDA SYL FETCH WORD CONTAINING FIRST TWO CHARS. 2112 03021 100040 SZE SKIP IF BOTH ARE BLANKS 2113 03022 -0 01 03016 JMP* R6C NAME EXISTS - RETURN TO CALLER 2114 03023 -0 01 00604 JMP* BCE9 FLAG 'V' ERROR AND EXIT - NO NAME 2115 * 2116 * 2117 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 62

2118 * 2119 * END : END PSEUDO-OP PROCESSOR 2120 * 2121 * 2122 003024 END EQU * END PSEUDO-OP PROCESSOR 2123 03024 0 02 00415 LDA TCNT FETCH CONDITIONAL NESTING COUNT 2124 03025 100040 SZE SKIP IF NO UNMATCHED CONDITIONALS 2125 03026 -0 10 00614 JST* ZERX UNMATCHED CONDITIONAL - 'Z' ERROR 2126 03027 -0 10 00612 JST* VARD EVALUATE EXPRESSION IN ADDRESS FIELD 2127 03030 0 02 00417 LDA RBIT FETCH RELOCATION OF EXPRESSION 2128 03031 100040 SZE SKIP IF ABSOLUTE 2129 03032 0 02 00616 LDA B1 SET RELOCATABLE FLAG 2130 03033 0 06 00423 ADD SUM INSERT ADDRESS 2131 03034 0 04 04640 STA DBLK SAVE 'END JUMP' ADDRESS 2132 03035 -0 10 00554 JST* FINP DEFINE ANY OUTSTANDING LITERALS 2133 03036 -0 10 00551 JST* LSTD ENSURE THAT 'END' LINE IS PRINTED 2134 03037 0 10 02505 JST ISCN SETUP FOR SYMBOL TABLE SEARCH 2135 03040 0 04 00473 STA DSYM SCAN COUNT 2136 03041 101040 SNZ SKIP IF TABLE NOT EMPTY 2137 03042 0 01 03077 JMP ECON N0 SYMBOLS NO UNDEFINED CHECK 2138 03043 0 02 00616 LDA B1 32768 IN ZPTX 2139 03044 0 04 00527 STA ZPTX TO INHIBIT SYMBOL DEFINITION 2140 03045 1 02 00000 EDOL LDA 0,1 FETCH FIRST WORD OF CURRENT ENTRY 2141 03046 100040 SZE SKIP IF NULL ENTRY 2142 03047 100400 SPL SKIP IF UNDEFINED 2143 03050 0 01 03070 JMP EDUP NULL OR DEFINED - ADVANCE TO NEXT ENTRY 2144 03051 0 03 00665 ANA CHR2 A(1-4)=0 2145 03052 0 04 00454 STA SYL1 SAVE FIRST WORD OF NAME FOR DEFINITION 2146 03053 -0 10 00605 JST* UPAK UNPACK THE CHARACTER PAIR 2147 03054 -0 04 00715 STA* DCON PLACE CHARACTER PAIR IN LIST BUFFER 2148 03055 1 02 00001 LDA 1,1 FETCH SECOND WORD OF NAME 2149 03056 0 03 00665 ANA CHR2 A(1-4)=0 2150 03057 0 04 00455 STA SYL1+1 SAVE SECOND WORD OF NAME FOR DEFINITION 2151 03060 -0 10 00605 JST* UPAK UNPACK THE CHARACTER PAIR 2152 03061 -0 04 00716 STA* DCN1 PLACE LAST TWO CHARACTERS IN LIST BUFFER 2153 03062 0 15 03156 STX MESG SAVE INDEX DURING DEFINITION 2154 03063 -0 10 00547 JST* DLC DEFINE THE SYMBOL 2155 03064 -0 10 00545 JST* CPC PRINT PROGRAM COUNTER 2156 03065 -0 10 00551 JST* LSTD LIST SYMBOL DEFINITION 2157 03066 0 12 00405 IRS CLOC INCREMENT PROGRAM COUNTER 2158 03067 0 35 03156 LDX MESG RESTORE INDEX REGISTER 2159 03070 0 10 02512 EDUP JST ISCP INCREMENT SYMBOL TABLE POINTER 2160 03071 0 12 00473 IRS DSYM INCREMENT SCAN COUNT 2161 03072 0 01 03045 JMP EDOL GO EXAMINE NEXT ENTRY 2162 03073 -0 10 00577 JST* OBTD FORCE ORG BLOCK 2163 03074 000007 OCT 7 HIGH SHOULD BE ABOVE UNDEFINED SYMBOLS 2164 03075 0 02 00511 LDA ZPT RESTORE CONTROL STATE 2165 03076 0 04 00436 STA ZP 2166 03077 0 02 04640 ECON LDA DBLK FETCH 'END JUMP' ADDRESS 2167 03100 101400 SMI SKIP IF RELOCATABLE
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 63

2168 03101 0 01 03110 JMP EABS ELSE ABSOLUTE 2169 03102 0 02 00406 LDA ABSW FETCH ASSEMBLY MODE SWITCH 2170 03103 100040 SZE SKIP IF ABSOLUTE 2171 03104 0 01 03115 JMP EFIN RELOCATABLE - AGREES WITH END JUMP MODE 2172 03105 -0 10 00577 JST* OBTD OUTPUT REL MODE BLOCK 2173 03106 000005 OCT 5 CODE FOR NEW STYLE BLOCK 0-24 2174 03107 0 01 03115 JMP EFIN IN CORRECT MODE NOW - OUTPUT END BLOCK 2175 03110 0 02 00406 EABS LDA ABSW FETCH ASSEMBLY MODE SWITCH 2176 03111 101040 SNZ SKIP IF RELOCATABLE 2177 03112 0 01 03115 JMP EFIN ABSOLUTE - AGREES WITH END JUMP MODE 2178 03113 -0 10 00577 JST* OBTD OUTPUT ABS MODE BLOCK 2179 03114 000006 OCT 6 CODE FOR NEW STYLE BLOCK 0-30 2180 03115 0 02 04640 EFIN LDA DBLK FETCH 'END JUMP' ADDRESS 2181 03116 140100 SSP WIPE OUT RELOCATION FLAG 2182 03117 0 04 00437 STA WORD STORE RESULT IN WORD 2183 03120 -0 10 00577 JST* OBTD OUTPUT END BLOCK 2184 03121 000003 OCT 3 CODE FOR NEW STYLE BLOCK 0-14 2185 03122 0 02 00507 LDA SUBF CHECK FOR SUBROUTINE ASSEMBLY 2186 03123 100040 SZE SKIP IF NOT 2187 03124 0 01 03153 JMP LEND DO NOT OUTPUT EOF 2188 03125 -0 10 00577 PEND JST* OBTD OUTPUT EOF IN OBJECT TEXT 2189 03126 000010 OCT 10 2190 03127 0 12 00416 HLT IRS LSIZ SET FULL LINE OUTPUT INDICATOR 2191 03130 0 10 00000 CALL D$MAP PRINT SYMBOL TABLE MAP 2192 03131 -0 10 00551 JST* LSTD SPACE A LINE BEFORE END MESSAGES 2193 03132 0 10 03156 JST MESG PRINT COUNT OF WARNING AND ERROR FLAGS 2194 03133 0 000723 DAC EMES ADDRESS OF MESSAGE 2195 03134 0 10 03156 JST MESG PRINT VERSION IDENTIFICATION 2196 03135 0 000744 DAC IDMS ADDRESS OF MESSAGE 2197 03136 0 10 00000 CALL D$HT STOP - END OF PASS 2198 03137 0 02 00436 LDA ZP FETCH PASS INDICATOR 2199 03140 140100 SSP SET-UP FOR PASS TWO 2200 03141 0 04 00436 STA ZP REPLACE PASS INDICATOR 2201 03142 0 02 00511 LDA ZPT FETCH PREVIOUS STATE 2202 03143 101400 SMI SKIP IF END OF PASS ONE 2203 03144 -0 01 00540 JMP* RES OTHERWISE START A NEW ASSEMBLY 2204 03145 0 01 03150 JMP *+3 SKIP OVER RESTART PASS 2 KLUDGE 2205 03146 140500 RP2 SSM CORRECT FORGETFUL USERS 2206 03147 0 04 00461 STA TST SAVE NEW PARAMETER SETTING 2207 03150 0 10 00000 CALL D$IN REINSTATE FOR PASS 2 2208 03151 140040 CRA 2209 03152 -0 01 00541 JMP* RSG START PASS TWO 2210 03153 -0 10 00577 LEND JST* OBTD LOGICAL END OF ASSEMBLY (NO EOF) 2211 03154 000004 OCT 4 2212 03155 0 01 03127 JMP HLT GO FINISH 'END' PROCESSING 2213 * 2214 * 2215 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 64

2216 * 2217 * MESG: MESSAGE WRITER 2218 * 2219 * 2220 * CALLING SEQUENCE: 2221 * JST MESG 2222 * DAC MES 2223 * ......RETURN 2224 * 2225 * WHERE: 2226 * 2227 * MES - MESSAGE THAT IS PACKED TWO CHARACTERS 2228 * PER WORD. WITH THE MESSAGE TERMINATED BY A WORD 2229 * WITH BIT ONE RESET. 2230 * 2231 * 2232 03156 0 000000 MESG DAC ** MESSAGE WRITER 2233 03157 0 12 04052 IRS LGCT MAKE MESSAGE LOOK LIKE AN ERROR LINE 2234 03160 0 02 00715 LDA DCON FETCH LISTING BUFFER ADDRESS 2235 03161 0 04 00526 STA SYMF USE IT AS A POINTER TO THE LISTING BUFFER 2236 03162 -0 35 03156 LDX* MESG INDEX=ADDRESS OF MESSAGE 2237 03163 0 12 03156 IRS MESG INCREMENT RETURN ADDRESS 2238 03164 1 02 00000 MESL LDA 0,1 FETCH MESSAGE CHARACTER PAIR 2239 03165 101400 SMI SKIP IF NOT AT END OF MESSAGE 2240 03166 0 01 03173 JMP MSL1 ALL OF MESSAGE IS IN BUFFER 2241 03167 -0 04 00526 STA* SYMF PLACE CHARACTER PAIR IN LIST BUFFER 2242 03170 0 12 00526 IRS SYMF INCREMENT LIST BUFFER POINTER 2243 03171 0 12 00000 IRS 0 INCREMENT MESSAGE POINTER 2244 03172 0 01 03164 JMP MESL GO BACK FOR NEXT WORD 2245 03173 -0 10 00551 MSL1 JST* LSTD OUTPUT THE MESSAGE 2246 03174 -0 01 03156 JMP* MESG EXIT 2247 * 2248 * 2249 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 65

2250 * 2251 * FINX: LITERAL POOL DEFINITION ROUTINE 2252 * 2253 * 2254 * CALLING SEQUENCE: 2255 * JST FINX 2256 * ......RETURN 2257 * 2258 * THIS ROUTINE DEFINES ALL LITERALS AT THE LEVEL GIVEN BY THE 2259 * COUNTER 'FINF'. THEN UPDATES THE COUNTER. 2260 * 2261 * 2262 03175 0 000000 FINX DAC ** ENTRY 2263 03176 140040 CRA 2264 03177 0 04 00472 STA CBT1 CLEAR CODE BITS - LITERALS ARE PURE DATA 2265 03200 0 10 02505 JST ISCN SETUP FOR SYMBOL TABLE SEARCH 2266 03201 0 04 00473 STA DSYM SET SCAN COUNTER 2267 03202 101040 SNZ SKIP IF SYMBOL TABLE IS NOT EMPTY 2268 03203 -0 01 03175 JMP* FINX EXIT - NO SYMBOLS IN TABLE 2269 03204 1 02 00001 FIRN LDA 1,1 FETCH SECOND WORD OF CURRENT ENTRY 2270 03205 0 03 00667 ANA CSC1 ELIMINATE CODE BITS BUT NOT LITERAL FLAG 2271 03206 0 04 00455 STA SYL1+1 SAVE RESULT FOR DEFINITION 2272 03207 0400 64 LRL 12 PLACE LOW ORDER 12 BITS OF VALUE IN B 2273 03210 101100 SLN SKIP IF LITERAL ENTRY (BIT 4 SET) 2274 03211 0 01 03231 JMP FSTP NO - ADVANCE TO NEXT ENTRY 2275 03212 1 02 00000 LDA 0,1 FETCH FIRST WORD OF THIS ENTRY 2276 03213 0 03 00670 ANA CSC2 ISOLATE FIN LEVEL CODE 2277 03214 0 05 00525 ERA FINF MERGE WITH CURRENT LEVEL 2278 03215 100040 SZE SKIP IF AT PROPER LEVEL 2279 03216 0 01 03231 JMP FSTP NO - ADVANCE TO NEXT ENTRY 2280 03217 1 02 00000 LDA 0,1 FETCH FIRST WORD OF ENTRY AGAIN 2281 03220 0 03 00665 ANA CHR2 ELIMINATE CODE BITS 2282 03221 0 04 00454 STA SYL1 SAVE RESULT FOR DEFINITION 2283 03222 0410 64 LLL 12 PUT THE VALUE TOGETHER 2284 03223 0 04 00423 STA SUM SAVE IT IN 'SUM' 2285 03224 0 15 03156 STX MESG SAVE TABLE POINTER DURING DEFINITION 2286 03225 -0 10 00547 JST* DLC DEFINE THE LITERAL 2287 03226 0 35 03156 LDX MESG RESTORE THE TABLE POINTER 2288 03227 -0 10 00544 FDMP JST* DUMP OUTPUT THE LITERAL 2289 03230 -0 10 00551 JST* LSTD LIST THIS LINE 2290 03231 0 10 02512 FSTP JST ISCP INCREMENT SYMBOL TABLE POINTER 2291 03232 0 12 00473 IRS DSYM INCREMENT SCAN COUNTER 2292 03233 0 01 03204 JMP FIRN GO EXAMINE THE NEXT ENTRY 2293 03234 0 02 00525 LDA FINF FETCH THE FIN LEVEL CODE 2294 03235 0 07 00631 SUB C20 DECREMENT THE COUNT 2295 03236 0 04 00525 STA FINF REPLACE THE CODE 2296 03237 -0 01 03175 JMP* FINX EXIT 2297 * 2298 * 2299 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 66

2300 * 2301 * ORG : ORG PSEUDO-OP PROCESSOR 2302 * 2303 * 2304 03240 -0 10 00547 ORG JST* DLC DEFINE SYMBOL IN LOCATION FIELD 2305 03241 0 10 02224 JST VAR EVALUATE EXPRESSION IN ADDRESS FIELD 2306 03242 0 04 00405 STA CLOC SET NEW VALUE IN PROGRAM COUNTER 2307 03243 -0 10 00577 OR2 JST* OBTD SET NEW ORIGIN IN OBJECT TEXT 2308 03244 000007 OCT 7 2309 03245 -0 01 00542 JMP* COM LIST THIS STATEMENT AND EXIT 2310 * 2311 * 2312 * LOAD: LOAD PSEUDO-OP PROCESSOR 2313 * 2314 03246 0 02 00671 LOAD LDA M1 SET LOAD FLAG TO 2315 03247 0 04 00407 STA LODF MINUS ONE 2316 * FALL THROUGH TO ABS PROCESSOR 2317 * 2318 * ABS : ABS PSEUDO-OP PROCESSOR 2319 * 2320 03250 -0 10 00577 ABS JST* OBTD OUTPUT ABS MODE BLOCK 2321 03251 000006 OCT 6 CODE FOR NEW STYLE BLOCK 0-30 2322 03252 140040 CRA CLEAR A REGISTER FOR ASSEMBLY MODE SWITCH 2323 03253 0 01 03257 JMP REL1 GO TO REL PROCESSOR TO SET THE SWITCH 2324 * 2325 * 2326 * REL : REL PSEUDO-OP PROCESSOR 2327 * 2328 03254 -0 10 00577 REL JST* OBTD OUTPUT REL MODE BLOCK 2329 03255 000005 OCT 5 CODE FOR NEW STYLE BLOCK 0-24 2330 03256 0 02 00700 LDA ONE A=1 FOR ASSEMBLY MODE SWITCH 2331 03257 0 04 00406 REL1 STA ABSW SET ASSEMBLY MODE SWITCH 2332 03260 -0 01 00542 JMP* COM GO LIST THIS STATEMENT AND EXIT 2333 * 2334 * 2335 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 67

2336 * 2337 * DESECTOR CONTROL PSEUUO-OP PROCESSORS 2338 * 2339 * 2340 * EXD : EXD PSEUDO-OP PROCESSOR 2341 * 2342 * 2343 03261 -0 10 00577 EXD JST* OBTD OUTPUT OBJECT BLOCK 2344 03262 000013 OCT 13 CODE FOR 'ENTER EXTENDED DESECTORIZATION' 2345 03263 -0 01 00542 JMP* COM EXIT 2346 * 2347 * 2348 * LXD : LXD PSEUDO-OP PROCESSOR 2349 * 2350 * 2351 03264 -0 10 00577 LXD JST* OBTD OUTPUT OBJECT BLOCK 2352 03265 000014 OCT 14 CODE FOR 'LEAVE EXTENDED DESECTORIZATION' 2353 03266 -0 01 00542 JMP* COM EXIT 2354 * 2355 * 2356 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 68

2357 * 2358 * CONFIGURATION PSEUDO-UP PROCESSORS 2359 * 2360 * 2361 * CF3 : CF3 PSEUDO-OP PROCESSOR 2362 * CF5 : CF5 PSEUDO-OP PROCESSOR 2363 * 2364 * 2365 003267 CF3 EQU * 2366 003267 CF5 EQU * 2367 03267 0 02 00777 LDA XF5D END OF LEGAL OP-CODES FOR 316/516 2368 03270 0 01 03274 JMP *+4 GO STORE NEW LIMIT 2369 * 2370 * 2371 * CF4 : CF4 PSEUDO-OP PROCESSOR 2372 * 2373 * 2374 03271 0 02 00776 CF4 LDA XF4 END OF LEGAL OPCODES FOR 416 2375 03272 100000 SKP GO STORE NEW LIMIT 2376 * 2377 * 2378 * CF1 : CF1 PSEUDO-OP PROCESSOR 2379 * 2380 * 2381 03273 0 02 00775 CF1 LDA XF1 END OF LEGAL OPCODES FOR 116 2382 03274 0 04 00503 STA BOPS STORE ADDRESS OF END OF LEGAL OPCODES 2383 03275 -0 01 00542 JMP* COM EXIT DAP2 2384 * 2385 * 2386 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 69

2387 * 2388 * LISTING CONTROL PSEUDO-OP PROCESSORS 2389 * 2390 * 2391 * LIST: LIST PSEUDO-OP PROCESSOR 2392 * 2393 * 2394 03276 0 04 00410 LIST STA LSTW TURN ON LISTING SWITCH (A ZERO ON ENTRY) 2395 03277 -0 01 00542 JMP* COM EXIT 2396 * 2397 * 2398 * NLST: NLST PSEUDO-OP PROCESSOR 2399 * 2400 * 2401 03300 0 12 00410 NLST IRS LSTW INSURE THAT LISTING SWITCH IS OFF 2402 03301 -0 01 00542 JMP* COM EXIT 2403 * 2404 * 2405 * EJCT: EJCT PSEUDO-OP PROCESSOR 2406 * 2407 * 2408 03302 -0 10 00551 EJCT JST* LSTD 2409 03303 0 02 00461 LDA TST FETCH ASSEMBLY PARAMETER WORD 2410 03304 0414 76 LGL 2 A(1)=ERROR ONLY LIST FLAG 2411 03305 100400 SPL SKIP IF NOT ERROR ONLY LISTING 2412 03306 -0 01 00553 JMP* LIN NO USE EJECTING IF NOT FULL LISTING 2413 03307 0 02 00436 EJC1 LDA ZP FETCH PASS INDICATOR 2414 03310 101400 SMI SKIP IF NOT OUTPUT PASS 2415 03311 0 10 00000 CALL D$EJ EJECT THE PAGE 2416 03312 -0 01 00553 JMP* LIN EXIT 2417 * 2418 * 2419 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 70

2420 * 2421 * SYMBOL DEFINITION PSEUDO-OP PROCESSORS 2422 * 2423 * 2424 * SET : SET PSEUDO-OP PROCESSOR 2425 * 2426 * 2427 03313 0 12 00431 SET IRS SETF TURN ON SET FLAG 2428 * FALL THROUGH TO EQU PROCESSOR 2429 * 2430 * EQU : EQU PSEUDO-OP PROCESSOR 2431 * 2432 03314 0 10 02224 EQU JST VAR EVALUATE ADDRESS FIELD-RESULT IN A 2433 03315 0 13 00405 EQU1 IMA CLOC SWAP RESULT WITH PROGRAM COUNTER 2434 03316 0 04 00526 STA SYMF SAVE PROGRAM COUNTER IN SYMF 2435 03317 0 02 00417 LDA RBIT RELOCATION VALUE OF THE EXPRESSION 2436 03320 0 13 00406 IMA ABSW SWAP IT WILL ASSEMBLY RELOCATION MODE 2437 03321 0 04 00417 STA RBIT SAVE ASSEMBLY RELOCATION MODE IN RBIT 2438 03322 0 02 00454 LDA SYL1 CHECK FOR SYMBOL IN LOCATION FIELD 2439 03323 101040 SNZ SKIP IF THERE IS 2440 03324 0 10 03760 JST LERR NO SYMBOL ... FLAG 'L' ERROR 2441 03325 -0 10 00547 JST* DLC DEFINE THE SYMBOL IN THE LOCATION FIELD 2442 03326 -0 10 00546 JST* CDTA PRINT THE VALUE OF THE EXPRESSION 2443 03327 0 02 00526 LDA SYMF SYMF CONTAINS CORRECT PROGRAM COUNTER 2444 03330 0 04 00405 STA CLOC RESTORE THE PROGRAM COUNTER 2445 03331 0 02 00417 LDA RBIT RBIT CONTAINS ASSEMBLY MODE 2446 03332 0 04 00406 STA ABSW RESTORE ASSEMBLY MODE FLAG 2447 03333 -0 01 00542 JMP* COM EXIT 2448 * 2449 * COMN: COMN PSEUDO-OP PROCESSOR 2450 * 2451 * 2452 03334 0 10 02224 COMN JST VAR EVALUATE IHE ADDRESS FIELD 2453 03335 140407 TCA COMPLEMENT THE RESULT 2454 03336 0 06 00502 ADD COML ADD TO THE COMMON BASE 2455 03337 0 04 00502 STA COML REPLACE THE COMMON BASE WITH NEW VALUE 2456 03340 0 04 00423 STA SUM SAVE RESULT IN SUM FOR PRINTING 2457 03341 0 01 03315 JMP EQU1 JOIN THE EQU PROCESSOR 2458 * 2459 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 71

2460 * 2461 * SETB: SET BASE PSEUDO-OP PROCESSOR 2462 * 2463 * 2464 03342 -0 10 00547 SETB JST* DLC DEFINE LOCATION FIELD 2465 03343 -0 10 00612 JST* VARD EVALUATE ADDRESS FIELD 2466 03344 140100 SSP TRUNCATE IF NECESSARY TO 15 BITS 2467 03345 0 04 00437 STA WORD SAVE THE VALUE FOR OUTPUT ROUTINE 2468 03346 0 02 00417 LDA RBIT FETCH THE RELOCATION FLAG 2469 03347 101040 SNZ SKIP IF NOT ABSOLUTE 2470 03350 0 01 03357 JMP STBX ALSO OUTPUT ABSOLUTE BASE ADDRESS 2471 03351 0 07 00700 SUB ONE SUBTRACT ONE TO TEST FOR RELOCATABLE 2472 03352 100040 SZE RESULT IS ZERO IF RELOCATABLE 2473 03353 -0 10 00566 JST* VER NOT RELOCATABLE - FLAG 'V' ERROR 2474 03354 140500 SSM SET BIT ONE - RELOCATABLE 2475 03355 0 06 00437 ADD WORD ADD IN THE ADDRESS 2476 03356 0 04 00437 STA WORD SAVE RESULT FOR OUTPUT ROUTINE 2477 03357 -0 10 00577 STBX JST* OBTD OUTPUT OBJECT TEXT BLOCK 2478 03360 000015 OCT 15 CODE FOR NEW STYLE BLOCK 64 2479 03361 -0 01 00542 JMP* COM GO LIST THE STATEMENT AND EXIT 2480 * 2481 * 2482 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 72

2483 * 2484 * MOR : MOR PSEUDO-OP PROCESSOR 2485 * 2486 * 2487 03362 0 04 00412 MOR STA CNTR CLEAR LINE COUNTER 2488 03363 -0 10 00551 JST* LSTD LIST THIS STATEMENT 2489 03364 0 10 00000 CALL D$PA WAIT FOR NEW SOURCE TO BE LOADED 2490 03365 0 01 03307 JMP EJC1 EJECT THE PAGE 2491 * 2492 * 2493 * FIN : FIN PSEUDO-OP PROCESSOR 2494 * 2495 * 2496 03366 -0 10 00554 FIN JST* FINP DEFINE CURRENT LITERAL POOL ENTRIES 2497 03367 -0 01 00542 JMP* COM GO LIST THIS STATEMENT AND EXIT 2498 * 2499 * 2500 * CSET : SETC PSEUDO-OP PROCESSOR 2501 * 2502 * 2503 03370 -0 10 00612 CSET JST* VARD EVALUATE EXPRESSION IN ADDRESS FIELD 2504 03371 0 04 00502 STA COML PUT THE RESULT IN THE COMMON BASE 2505 03372 -0 01 00542 JMP* COM LIST THIS STATEMENT AND EXIT 2506 * 2507 * 2508 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 73

2509 * 2510 * BSZ : BSZ PSEUDO-OP PROCESSOR 2511 * 2512 * ENTRY IS FROM OP-CODE TABLE SEARCH ROUTINE 2513 * 2514 * 2515 03373 0 04 00472 BSZ STA CBT1 SET PURE DATA INDICATOR 2516 03374 -0 10 00547 JST* DLC DEFINE SYMBOL IN LOCATION FIELD 2517 03375 0 10 02224 JST VAR EVALUATE EXPRESSION IN VARIABLE FIELD 2518 03376 140407 TCA OBTAIN TWOS COMPLEMENT OF BLOCK COUNT 2519 03377 101400 SMI SKIP IF A CREDIBLE SIZE BLOCK 2520 03400 -0 01 00604 JMP* BCE9 OTHERWISE FLAG A 'V' ERROR AND EXIT 2521 03401 0 04 00453 STA SIGN SAVE BLOCK COUNT 2522 03402 0 04 00500 STA DBNM SAVE BLOCK COUNT 2523 03403 140040 CRA CLEAR A REGISTER 2524 03404 0 04 00423 STA SUM SET SUM TO ZERO 2525 03405 -0 10 00544 BSZ1 JST* DUMP OUTPUT OBJECT TEXT 2526 03406 -0 10 00551 JST* LSTD LIST THE LINE 2527 03407 0 12 00410 IRS LSTW INHIBIT LISTING AFTER FIRST WORD 2528 03410 0 12 00453 IRS SIGN INCREMENT COUNT 2529 03411 0 01 03405 JMP BSZ1 GO BACK TO OUTPUT NEXT WORD 2530 03412 0 02 00410 LDA LSTW FETCH LISTING SWITCH 2531 03413 0 06 00500 ADD DBNM RESTORE IT 2532 03414 0 04 00410 STA LSTW REPLACE LISTING SWITCH 2533 03415 -0 01 00553 JMP* LIN END OF STATEMENT 2534 * 2535 * 2536 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 74

2537 * 2538 * BSS : BSS PSEUDO-OP PROCESSOR 2539 * 2540 * 2541 03416 -0 10 00547 BSS JST* DLC DEFINE SYMBOL IN LOCATION FIELD 2542 03417 -0 10 00545 JST* CPC PRINT LOCATION OF FIRST WORD OF BLOCK 2543 03420 0 10 02224 JST VAR EVALUATE EXPRESSION IN ADDRESS FIELD 2544 03421 0 06 00405 ADD CLOC ADD CURRENT LOCATION T0 BLOCK SIZE 2545 03422 0 04 00405 STA CLOC REPLACE LOCATION COUNTER 2546 03423 0 01 03243 JMP OR2 GO SET NEW ORIGIN IN OBJECT TEXT 2547 * 2548 * 2549 * BES : BES PSEUDO-OP PROCESSOR 2550 * 2551 * 2552 03424 0 10 02224 BES JST VAR EVALUATE EXPRESSION IN ADDRESS FIELD 2553 03425 0 06 00405 ADD CLOC ADD LOCATION COUNTER TO BLOCK SIZE 2554 03426 0 04 00405 STA CLOC REPLACE LOCATION COUNTER 2555 03427 -0 10 00547 JST* DLC DEFINE SYMBOL IN LOCATION FIELD 2556 03430 -0 10 00545 JST* CPC PRINT END OF BLOCK ADDRESS 2557 03431 0 01 03243 JMP OR2 GO SET NEW ORIGIN IN OBJECT TEXT 2558 * 2559 * 2560 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 75

2561 * 2562 * BCI : BCI PSEUDO-OP PROCESSOR 2563 * 2564 * 2565 03432 -0 10 00547 BCI JST* DLC DEFINE SYMBOL IN LOCATION FIELD 2566 03433 0 10 02224 JST VAR EVALUATE WORD COUNT 2567 03434 140407 TCA TWOS COMPLEMENT WORD COUNT 2568 03435 101400 SMI SMI SKIP IF COUNT > 0 2569 03436 0 01 03473 JMP BCER OTHERWISE FLAG 'V' ERROR AND EXIT 2570 03437 0 04 00477 STA DBCT ESTABLISH COUNT ONE 2571 03440 0 04 00500 STA DBNM ESTABLISH COUNT TWO 2572 03441 0 06 00633 ADD C29 CHECK FOR OVERSIZE COUNT 2573 03442 100400 SPL SKIP IF 0 < COUNT < 30 2574 03443 0 01 03473 JMP BCER OTHERWISE FLAG 'V' ERROR AND EXIT 2575 03444 0 02 00530 LDA DBIP ADDRESS OF STORAGE AREA 2576 03445 0 04 00501 STA DBPT ESTABLISH POINTER TO STORAGE AREA 2577 03446 -0 10 00575 BCL JST* CHRD FETCH NEXT 2578 03447 141240 ICR A(1-8)= CHARACTER. A(9-16)= 0 2579 03450 0 04 00475 STA T SAVE FIRST CHARACTER OF WORD 2580 03451 -0 10 00575 JST* CHRD FETCH NEXT CHARACTER 2581 03452 0 06 00475 ADD T INSERT PREVIOUS CHARACTER 2582 03453 -0 04 00501 STA* DBPT PLACE WORD IN STORAGE AREA 2583 03454 0 12 00501 IRS DBPT INCREMENT STORAGE POINTER 2584 03455 0 12 00477 IRS DBCT INCREMENT WORD COUNT 2585 03456 0 01 03446 JMP BCL GO BACK T0 PACK NEXT WORD 2586 03457 140040 LDMP CRA 2587 03460 0 04 00472 STA CBT1 SET CBT1 TO INDICATE PURE DATA 2588 03461 0 02 00530 LDA DBIP ESTABLISH LIST POINTER 2589 03462 0 04 00501 STA DBPT 2590 03463 -0 02 00501 BCL1 LDA* DBPT FETCH WORD FROM LIST 2591 03464 0 04 00423 STA SUM PLACE IT FOR OUTPUT 2592 03465 -0 10 00544 JST* DUMP INSERT DATA IN OBJECT TEXT 2593 03466 -0 10 00551 JST* LSTD LIST THE LINE 2594 03467 0 12 00501 IRS DBPT INCREMENT LIST POINTER 2595 03470 0 12 00500 IRS DBNM INCREMENT WORD COUNT 2596 03471 0 01 03463 JMP BCL1 GO OUTPUT NEXT WORD 2597 03472 -0 01 00553 JMP* LIN GO PROCESS NEXT STATEMENT 2598 03473 -0 10 00566 BCER JST* VER LOG 'V' ERROR 2599 03474 0 01 01157 JMP COMM GO PROCESS NEXT STATEMENT 2600 * 2601 * 2602 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 76

2603 * 2604 * DBP : DBP PSEUDO-OP PROCESSOR 2605 * 2606 * 2607 03475 0 02 00405 DBP LDA CLOC FETCH LOCATION COUNTER 2608 03476 101100 SLN SKIP IF AT ODD LOCATION 2609 03477 0 01 03503 JMP *+4 DOES NOT NEED UPDATING 2610 03500 0 12 00405 IRS CLOC INCREMENT LOCATION COUNTER 2611 03501 -0 10 00577 JST* OBTD SET NEW ORIGIN IN OBJECT TEXT 2612 03502 000007 OCT 7 2613 03503 0 12 00422 IRS DBFL SET DOUBLE PRECISION FLAG 2614 * FALL IHROUGH TO DEC PROCESSOR 2615 * 2616 * DEC : DEC PSEUDO-OP PROLESSOR 2617 * 2618 * 2619 03504 0 02 00671 DEC LDA M1 2620 03505 0 04 00430 STA DECF SET DECIMAL FLAG 2621 03506 0 01 03510 JMP OCT GO TO OCT PROCESSOR 2622 * 2623 * 2624 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 77

2625 * 2626 * HEX : HEX PSEUDO-OP PROCESSOR 2627 * 2628 * 2629 03507 141206 HEX AOA A = 1 FOR HEX CONVERSION 2630 * FALL THROUGH TO OCT PROCESSOR 2631 * 2632 * 2633 * OCT : 0CT PSEUDO-OP PROCESSOR 2634 * 2635 * 2636 03510 0 04 00466 OCT STA DEOT SET CONVERSION SWITCH 2637 03511 140040 CRA 2638 03512 0 04 00500 STA DBNM SET WORD COUNT TO ZERO 2639 03513 -0 10 00547 JST* DLC DEFINE SYMBOL IN LOCATION FIELD 2640 03514 0 02 00530 LDA DBIP ESTABLISH LIST POINTER 2641 03515 0 04 00501 STA DBPT 2642 03516 0 10 02224 JST VAR EVALUATE FIRST FIELD 2643 03517 0 02 00460 OCTT LDA ALFA TEST FOR NUMERIC 2644 03520 101040 SNZ SKIP IF IT IS 2645 03521 -0 10 00557 JST* CER FLAG CONVERSION ERROR 2646 03522 0 02 00423 LDA SUM GET HIGH ORDER PART OF VALUE 2647 03523 -0 04 00501 STA* DBPT PLACE IT IN LIST 2648 03524 0 02 00422 LDA DBFL FETCH DOUBLE PRECISION FLAG 2649 03525 100040 SZE SKIP IF NOT SET 2650 03526 0 01 03546 JMP OC2P GO OUTPUT SECOND WORD 2651 03527 0 02 00442 LDA WCNT FETCH WORD COUNT OF VALUE 2652 03530 0 07 00700 SUB ONE TEST FOR MULTIPLE PRECISION 2653 03531 100040 SZE SKIP IF NOT 2654 03532 0 01 03543 JMP OC2W GO OUTPUT SECOND WORD 2655 03533 0 02 00444 OCTR LDA TERM FETCH TERMINATING CHARACTER 2656 03534 0 05 00635 ERA C240 TEST FOR BLANK 2657 03535 101040 SNZ SKIP IF NOT 2658 03536 0 01 03561 JMP OCTD BLANK - SCAN COMPLETED 2659 03537 0 12 00501 IRS DBPT INCREMENT LIST POINTER 2660 03540 0 12 00500 IRS DBNM INCREMENT WORD COUNT 2661 03541 -0 10 00613 JST* VARF EVALUATE NEXT FIELD 2662 03542 0 01 03517 JMP OCTT GO MOVE VALUE TO LIST 2663 03543 0 07 00700 OC2W SUB ONE TEST FOR 3 WORD VALUE 2664 03544 100040 SZE SKIP IF NOT 2665 03545 0 01 03553 JMP OC3W GO PROCESS THREE WORD VALUE 2666 03546 0 02 00446 OC2P LDA NUM+1 FETCH SECOND WORD OF VALUE 2667 03547 0 12 00501 IRS DBPT INCREMENT LIST POINTER 2668 03550 0 12 00500 IRS DBNM INCREMENT WORD COUNT 2669 03551 -0 04 00501 STA* DBPT INSERT VALUE IN LIST 2670 03552 0 01 03533 JMP OCTR GO PROCESS NEXT FIELD 2671 03553 0 02 00446 OC3W LDA NUM+1 FETCH SECOND WORD OF VALUE 2672 03554 0 12 00501 IRS DBPT INCREMENT LIST POINTER 2673 03555 0 12 00500 IRS DBNM INCREMENT WORD COUNT 2674 03556 -0 04 00501 STA* DBPT INSERT VALUE IN LIST
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 78

2675 03557 0 02 00447 LDA NUM+2 FETCH THIRD WORD OF VALUE 2676 03560 0 01 03547 JMP OC2P+1 GO PLACE THIRD WORD IN LIST 2677 * 2678 * HERE WHEN SCAN COMPLETE 2679 * 2680 03561 0 02 00500 OCTD LDA DBNM FETCH WORD COUNT -1 2681 03562 140401 CMA ONES COMPLEMENT COUNT 2682 03563 0 04 00500 STA DBNM REPLACE THE COUNT 2683 03564 0 01 03457 JMP LDMP GO DUMP THE BLOCK 2684 * 2685 * 2686 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 79

2687 * 2688 * 2689 * VFD : VFD PSEUDO-OP PROCESSOR 2690 * 2691 * 2692 03565 -0 10 00547 VFD JST* DLC DEFINE SYMBOL IN LOCATION FIELD 2693 03566 -0 10 00573 JST* ADVD ADVANCE TO ADDRESS FIELD 2694 03567 140040 CRA 2695 03570 0 04 00477 STA VFD2 CLEAR BIT COUNTER 2696 03571 0 04 00500 STA VFD3 CLEAR DATA WORD 2697 03572 0 04 00501 STA VFDX CLEAR ERROR INDICATOR 2698 03573 0 10 02230 VFD8 JST VARX EVALUATE FIELD SIZE 2699 03574 0 02 00444 LDA TERM FETCH TERMINATING CHARACTER 2700 03575 0 07 00635 SUB C240 CHECK FOR SPACE 2701 03576 101040 SNZ SKIP IF NOT 2702 03577 -0 10 00566 JST* VER UNMATCHED FIELD - FLAG WARNING::NONFATAL 2703 03600 0 02 00477 LDA VFD2 FETCH BIT COUNTER 2704 03601 0 06 00423 ADD SUM ADD NEW FIELD SIZE 2705 03602 0 04 00477 STA VFD2 REPLACE THE COUNTER 2706 03603 140407 TCA COMPLEMENT THE COUNTER 2707 03604 0 06 00631 ADD C20 PERFORM OVERFLOW CHECK 2708 03605 100400 SPL SPL SKIP IF NO OVERFLOW 2709 03606 0 04 00501 STA VFDX OVERFLOW - SET ERROR INDICATOR 2710 03607 0 02 00477 LDA VFD2 FETCH BIT COUNT 2711 03610 0 07 00631 SUB C20 SUBTRACT '20 TO GET POSITION SHIFT COUNT 2712 03611 0 03 00634 ANA C77 A(1-10)=0 2713 03612 0 05 00702 ERA VFD6 INSERT SHIFT INSTRUCTION 2714 03613 0 04 03625 STA VFD9 PLACE SHIFT INSTRUCTION FOR EXECUTION 2715 03614 0 02 00423 LDA SUM FETCH FIELD SIZE 2716 03615 0 07 00631 SUB C20 OBTAIN SHIFT COUNT 2717 03616 0 03 00634 ANA C77 A(1-10)=0 2718 03617 0 05 00701 ERA VFD5 INSERT SHIFT INSTRUCTION 2719 03620 0 04 03623 STA VFD7 PLACE SHIFT INSTRUCTION FOR EXECUTION 2720 03621 0 10 02230 JST VARX EVALUATE DATA FIELD 2721 03622 0 02 00671 LDA M1 SET ALL A REGISTER BITS 2722 03623 0404 00 VFD7 LGR 0 FORM TRUNCATION MASK 2723 03624 0 03 00423 ANA SUM TRUNCATE EXCESS BITS IN DATA FIELD 2724 03625 0414 00 VFD9 LGL 0 POSITION DATA FIELD 2725 03626 0 05 00500 ERA VFD3 INSERT REST OF WORD 2726 03627 0 04 00500 STA VFD3 SAVE NEW VALUE 2727 03630 0 02 00444 LDA TERM FETCH TERMINATING CHARACTER 2728 03631 0 07 00635 SUB C240 CHECK FOR SPACE 2729 03632 100040 SZE SZE SKIP IF END OF ADDRESS FIELD 2730 03633 0 01 03573 JMP VFD8 GO PROCESS NEXT FIELD 2731 03634 0 04 00472 VFDZ STA CBT1 CLEAR OUTPUT CODE BITS 2732 03635 0 02 00501 LDA VFDX FETCH ERROR INDICATOR 2733 03636 100040 SZE SKIP IF NO ERROR DETECTED 2734 03637 -0 10 00557 JST* CER FLAG A 'C' ERROR 2735 03640 0 02 00500 LDA VFD3 FETCH COMPLETE WORD 2736 03641 0 04 00423 STA SUM SAVE IT FOR OUTPUT
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 80

2737 03642 -0 10 00544 JST* DUMP OUTPUT DATA WORD 2738 03643 -0 01 00542 JMP* COM LIST THIS STATEMENT AND EXIT 2739 * 2740 * 2741 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 81

2742 * 2743 * IFZ : IFZ PSEUDO-OP PROCESSOR 2744 * 2745 * 2746 03644 0 02 03632 IFZ LDA SZE FETCH A 'SKIP IF ZERO' INSTRUCTION 2747 03645 0 01 03653 JMP TCND GO TO COMMON PROCESSING SECTION 2748 * 2749 * 2750 * IFN : IFN PSEUDO-OP PROCESSOR 2751 * 2752 * 2753 03646 0 02 03704 IFN LDA SNZ FETCH A 'SKIP IF NONZERO' INSTRUCTION 2754 03647 0 01 03653 JMP TCND GO TO COMMON PROCESSING SECTION 2755 * 2756 * 2757 * IFP : IFP PSEUDO-OP PROCESSOR 2758 * 2759 * 2760 03650 0 02 03605 IFP LDA SPL FETCH A 'SKIP IF POSITIVE' INSTRUCTION 2761 03651 0 01 03653 JMP TCND GO TO COMMON PROCESSING SECTION 2762 * 2763 * 2764 * IFM : IFM PSEUDO-OP PROCESSOR 2765 * 2766 * 2767 03652 0 02 03435 IFM LDA SMI FETCH A 'SKIP IF MINUS' INSTRUCTION 2768 * FALL THR 2769 * 2770 * 2771 * TCND: COMMON PROCESSING SECTION FOR 2772 * CONDITION TESTING PSEUDO-OPS 2773 * 2774 * 2775 * 2776 003653 TCND EQU * CONDITION TESTING ROUTINE 2777 03653 0 04 03661 STA COND PLACE CONDITION TESTING INSTRUCTION 2778 03654 0 02 00414 LDA CRP FETCH ASSEMBLY INHIBITION COUNTER 2779 03655 100040 SZE SKIP IF ASSEMBLY NOT INHIBITED 2780 03656 0 01 03664 JMP COUT ASSEMBLY INHIBITED 2781 03657 0 12 00415 IRS TCNT INCREMENT UNMATCHED CONDITIONAL COUNTER 2782 03660 -0 10 00612 JST* VARD EVALUATE EXPRESSION IN ADDRESS FIELD 2783 03661 0 00 00000 COND *** ** EXECUTE CONDITION TESTING INSTRUCTION 2784 03662 0 12 00414 IRS CRP CONDITION NOT MET - INHIBIT ASSEMBLY 2785 03663 0 01 03666 JMP *+3 GO CHECK FOR CONDITION LISTING 2786 03664 0 12 00415 COUT IRS TCNT INCREMENT TOTAL CONDITIONAL COUNTER 2787 03665 0 12 00414 IRS CRP INCREMENT ASSEMBLY INHIBITED COUNT 2788 03666 0 02 04052 LDA LGCT FETCH ERROR/LINE COUNTER 2789 03667 100040 SZE SKIP IF NO ERRORS HAVE BEEN DETECTED 2790 03670 0 01 03674 JMP *+4 ERRORS ON THIS LINE - ALWAYS LIST 2791 03671 0 02 00461 LDA TST FETCH ASSEMBLY PARAMETER WORD
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 82

2792 03672 0414 77 LGL 1 A(1)=COND1TIONAL LISTING SWITCH 2793 03673 100400 SPL SKIP IF NOT SET 2794 03674 -0 10 00551 JST* LSTD SWITCH SET - LIST THIS LINE 2795 03675 -0 01 00553 JMP* LIN GO PROCESS NEXT LINE 2796 * 2797 * 2798 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 83

2799 * 2800 * ELSE: ELSE PSEUDO-OP PROCESSOR 2801 * 2802 * 2803 03676 0 02 00415 ELSE LDA TCNT FETCH CONDITIONAL COUNT 2804 03677 100040 SZE IF ZERO - ERROR 2805 03700 0 01 03703 JMP *+3 NON-ZERO: OK 2806 03701 -0 10 00614 JST* ZERX FLAG A 'Z' ERROR 2807 03702 0 01 03666 JMP COUT+2 TERMINATE PROCESSING 2808 03703 0 02 00414 LDA CRP FETCH ASSEMBLY INHIBITED COUNTER 2809 03704 101040 SNZ SNZ SKIP IF ASSEMBLY IS INHIBITED 2810 03705 0 01 03662 JMP COND+1 GO INHIBIT ASSEMBLY 2811 03706 0 07 00700 SUB ONE DECREMENT INHIBITION COUNTER 2812 03707 100040 SZE SKIP IF ASSEMBLY IS NOW RESTORED 2813 03710 0 01 03666 JMP COUT+2 OTHERWISE THIS STATEMENT HAS NO EFFECT 2814 03711 0 04 00414 STA CRP CLEAR ASSEMBLY INHIBITION COUNTER 2815 03712 0 01 03666 JMP COUT+2 GO CHECK FOR LISTING AND EXIT 2816 * 2817 * 2818 * ENDC: ENDC PSEUDO-OP PROCESSOR 2819 * 2820 * 2821 03713 0 02 00414 ENDC LDA CRP FETCH ASSEMBLY INHIBITION COUNTER 2822 03714 100040 SZE SKIP IF ASSEMBLY NOT INHIBITED 2823 03715 0 07 00700 SUB ONE OTHERWISE DECREMENT THE COUNTER 2824 03716 0 04 00414 STA CRP REPLACE THE COUNTER 2825 03717 0 02 00415 LDA TCNT FETCH CONDITIONAL COUNTER 2826 03720 0 07 00700 SUB ONE DECREMENT THE COUNTER 2827 03721 100400 SPL SKIP IF VALID RESULT 2828 03722 -0 10 00614 JST* ZERX EXTRA 'ENDC' - FLAG 'Z' ERROR 2829 03723 0 04 00415 STA TCNT REPLACE THE COUNTER 2830 03724 0 01 03666 JMP COUT+2 GO TEST FOR LISTING AND EXIT 2831 * 2832 * 2833 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 84

2834 * 2835 * INHT: TEST FOR INHIBITED ASSEMBLY 2836 * 2837 * 2838 03725 0 000000 INHT DAC ** 2839 03726 0 02 00414 LDA CRP FETCH INHIBITED ASSEMBLY COUNTER 2840 03727 100040 SZE SKIP IF ASSEMBLY NOT INHIBITED 2841 03730 0 01 03666 JMP COUT+2 ASSEMBLY INHIBITED - TERMINATE PROCESSING 2842 03731 -0 01 03725 JMP* INHT NOT INHIBITED - RETURN 2843 * 2844 * 2845 * COMY: COMMENT LINE PROCESSOR 2846 * 2847 * 2848 03732 0 10 03725 COMY JST INHT TEST FOR INHIBITED ASSEMBLY 2849 03733 -0 01 00542 JMP* COM NOT INHIBITED - LIST THIS LINE 2850 * 2851 * 2852 * FAIL: FAIL PSEUDO-OP PROCESSOR 2853 * 2854 * 2855 03734 -0 10 00563 FAIL JST* OER FLAG AN 'O' ERROR 2856 03735 -0 01 00542 JMP* COM LIST THIS LINE AND EXIT 2857 * 2858 * 2859 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 85

2860 * 2861 * ERROR PLAGGING ROUTINES 2862 * 2863 * 2864 003736 AERR EQU * 'A' ERROR/ADDRESS ERROR 2865 03736 0 02 00644 LDA C301 ASCII CODE FOR 'A' 2866 03737 0 10 04042 JST LOGR LOG THE ERROR 2867 03740 -0 01 00602 JMP* REG9 EXIT 2868 * 2869 03741 0 000000 CERR DAC ** 'C' ERROR/CONVERSION ERROR 2870 03742 0 02 00645 LDA C303 ASCII CODE FOR 'C' 2871 03743 0 10 04042 JST LOGR LOG THE ERROR 2872 03744 -0 01 03741 JMP* CERR EXIT DAP2 2873 * 2874 03745 0 000000 EERR DAC ** 'E' ERROR/EXTERNAL REFERENCE ERROR 2875 03746 0 02 00646 LDA C305 ASCII CODE FOR 'E' 2876 03747 0 10 04042 JST LOGR LOG THE ERROR 2877 03750 -0 01 03745 JMP* EERR EXIT 2878 * 2879 03751 0 000000 FERR DAC ** 'P' ERROR/FORMAT ERROR 2880 03752 0 02 00647 LDA C306 ASCII CODE FOR 'F' 2881 03753 0 10 04042 JST LOGR LOG THE ERROR 2882 03754 -0 01 03751 JMP* FERR EXIT 2883 * 2884 003755 IERR EQU * 'I' ERROR/INDIRECT ERROR 2885 03755 0 02 00650 LDA C311 ASCII CODE FOR 'I' 2886 03756 0 10 04042 JST LOGR LOG THE ERROR 2887 03757 -0 01 00601 JMP* VSC9 EXIT 2888 * 2889 03760 0 000000 LERR DAC ** 'L' ERROR/LOCATION FIELD ERROR 2890 03761 0 02 00651 LDA C314 ASCII CODE FOR 'L' 2891 03762 0 10 04042 JST LOGR LOG THE ERROR 2892 03763 0 04 00450 STA SYL PREVENT ERRONEOUS LOCATION FROM BEING DEF. 2893 03764 -0 01 03760 JMP* LERR EXIT 2894 * 2895 003765 MDEF EQU * 2896 03765 0 10 03767 JST MERR 2897 03766 -0 01 00603 JMP* DLO9 2898 * 2899 03767 0 000000 MERR DAC ** 'M' ERROR/MULTIPLY DEFINED SYMBOL 2900 03770 0 02 00652 LDA C315 A5CI1 CODE FOR 'M' 2901 03771 0 10 04042 JST LOGR LOG THE ERROR 2902 03772 -0 01 03767 JMP* MERR EXIT 2903 * 2904 03773 0 000000 OERR DAC ** 'O' ERROR/ILLEGAL OPCODE 2905 03774 0 02 00653 LDA C317 ASCII CODE FOR 'O' 2906 03775 0 10 04042 JST LOGR LOG THE ERROR 2907 03776 -0 01 03773 JMP* OERR EXIT 2908 * 2909 003777 PERR EQU * 'P' ERROR/PHASE ERROR
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 86

2910 03777 0 02 00461 LDA TST CHECK IF ONE PASS ASSEMBLY 2911 04000 140320 CSA 2912 04001 0 02 00654 LDA C320 ASCII CODE FOR 'P' 2913 04002 101001 SSC IF ONE PASS: CAN'T HAVE PHASE ERROR 2914 04003 0 02 00652 LDA C315 MUST MEAN 'M' 2915 04004 0 10 04042 JST LOGR LOG THE ERROR 2916 04005 -0 01 00603 JMP* DLO9 EXIT 2917 * 2918 04006 0 000000 RERR DAC ** 'R' ERROR/RELOCATION ERROR 2919 04007 0 02 00655 LDA C322 ASCII CODE FOR 'R' 2920 04010 0 10 04042 JST LOGR LOG THE ERROR 2921 04011 -0 01 04006 JMP* RERR EXIT 2922 * 2923 04012 0 000000 SERR DAC ** 'S' ERROR/CROSS SECTOR REFERENCE 2924 04013 0 02 00656 LDA C323 ASCII CODE FOR 'S' 2925 04014 0 10 04042 JST LOGR LOG THE ERROR 2926 04015 -0 01 04012 JMP* SERR EXIT 2927 * 2928 04016 0 000000 TERR DAC ** 'T' ERROR/FLAG ERROR 2929 04017 0 02 00657 LDA C324 ASCII CODE FOR 'T' 2930 04020 0 10 04042 JST LOGR LOG THE ERROR 2931 04021 -0 01 04016 JMP* TERR EXIT 2932 * 2933 04022 0 000000 UERR DAC ** 'U' ERROR/UNDEFINED SYMBOL 2934 04023 0 02 00660 LDA C325 ASCII CODE FOR 'U' 2935 04024 0 10 04042 JST LOGR LOG THE ERROR 2936 04025 -0 01 04022 JMP* UERR EXIT 2937 * 2938 04026 0 000000 VERR DAC ** 'V' ERROR/PSEUDO-OP ADDRESS FIELD ERROR 2939 04027 0 02 00661 LDA C326 ASCII CODE FOR 'V' 2940 04030 0 10 04042 JST LOGR LOG THE ERROR 2941 04031 -0 01 04026 JMP* VERR EXIT 2942 * 2943 04032 0 000000 XERR DAC ** 'X' ERROR/SYMBOL TABLE OVERFLOW 2944 04033 0 02 00662 LDA C330 ASCII CODE FOR 'X' 2945 04034 0 10 04042 JST LOGR LOG THE ERROR 2946 04035 -0 01 04032 JMP* XERR EXIT 2947 * 2948 04036 0 000000 ZERR DAC ** 'Z' ERROR/CONDITIONAL ASSEMBLY ERROR 2949 04037 0 02 00663 LDA C332 ASCII CODE FOR 'Z' 2950 04040 0 10 04042 JST LOGR LOG THE ERROR 2951 04041 -0 01 04036 JMP* ZERR EXIT 2952 * 2953 * 2954 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 87

2955 * 2956 * LOGR: ERROR LOGGING ROUTINE 2957 * 2958 * 2959 * CALLING SEQUENCE: 2960 * LDA CHAR CHAR IS ASCII REPRESENTATION OF ERROR FLAG 2961 * JST LOGR 2962 * ......RETURN 2963 * 2964 * 2965 04042 0 000000 LOGR DAC ** LOG ERROR 2966 04043 0 04 03725 STA INHT SAVE ERROR FLAG 2967 04044 0 02 04052 LDA LGCT FETCH ERROR/LINE COUNTER 2968 04045 0 11 00767 CAS C4 CHECK FOR FIELD OVERFLOW 2969 04046 101000 NOP NO ROOM FOR FLAG 2970 04047 -0 01 04042 JMP* LOGR EXIT - NO ROOM FOR FLAG 2971 04050 0 02 03725 LDA INHT RETRIEVE ERROR FLAG 2972 04051 -0 10 00574 JST* CSRD INSERT CHARACTER IN LIST BUFFER 2973 04052 000000 LGCT OCT 0 COLUMN POINTER 2974 04053 0 12 04052 IRS *-1 INCREMENT COLUMN POINTER 2975 04054 -0 10 00552 JST* UACD UPDATE ERROR COUNTER 2976 04055 0 000413 DAC ERCT ADDRESS OF ERROR COUNTER 2977 04056 0 000725 DAC EMES+2 ADDRESS OF ASCII EXPANSION FIELD 2978 04057 0414 57 LGL 17 CLEAR A REGISTER AND C BIT 2979 04060 -0 01 04042 JMP* LOGR RETURN TO CALLER 2980 * 2981 * 2982 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 88

2983 * 2984 * OBTX: PLACE ENTRY IN OBJECT TEXT BUFFER 2985 * 2986 * 2987 * CALLING SEQUENCE: 2988 * JST OBTX 2989 * OCT BLCK 2990 * ......RETURN 2991 * 2992 * WHERE: 2993 * 2994 * BLCK - INTERNAL BLOCK CODE (REFER TO ADDRESS LIST 2995 * IN THIS ROUTINE FOR CODES) 2996 * 2997 * 2998 04061 0 000000 OBTX DAC ** ENTRY 2999 04062 0 02 00436 LDA ZP FETCH PASS INDICATOR 3000 04063 100400 SPL SKIP IF OUTPUT PASS 3001 04064 0 01 04245 JMP DXT PASS 1 OF 2, INHIBIT BINARY 3002 04065 -0 02 04061 LDA* OBTX FETCH BLOCK TYPE 3003 04066 0 07 00514 SUB OBT COMPARE WITH CURRENT TYPE 3004 04067 100040 SZE SKIP IF SAME TYPE 3005 04070 0 01 04104 JMP PNCH DIFFERENT - DUMP CURRENT BLOCK 3006 04071 0 02 00514 LDA OBT LOAD BLOCK CODE 3007 04072 100040 SZE IF ZERO, ONE WORD/ENTRY 3008 04073 0 07 00743 SUB C3 IF 1-3, TWO WORD/ENTRY 3009 04074 100400 SPL SKIP IF ONE WORD FORMAT 3010 04075 0 01 04227 JMP TWOR PROCESS TWO WORD TYPE 3011 04076 0 02 00512 LDA BLKS FETCH WORD COUNT 3012 04077 0 06 00513 ADD ROOM ADD SIZE CONSTANT (0 OR 2) 3013 04100 101400 SMI SKIP IF ROOM FOR ENTRY 3014 04101 0 01 04104 JMP PNCH NOT ENOUGH, PUNCH THE BUFFER 3015 04102 0 12 00512 IRS BLKS INCREMENT WORD COUNT 3016 04103 0 01 04243 JMP FILL+1 IF NO OVERFLOW, PUT WORD IN BUFFER 3017 04104 0 02 00514 PNCH LDA OBT FETCH BLOCK CODE 3018 04105 100400 SPL SKIP IF NOT FIRST CALL 3019 04106 0 01 04236 JMP BEGF FIRST CALL - OUTPUT FEED 3020 04107 0 11 00767 CAS C4 CHECK FOR INTERNAL TYPE 4 3021 04110 100000 SKP NO 3022 04111 0 01 04135 JMP RRT BLOCK TYPE 0-20 SHOULD NEVER BE OUTPUT 3023 04112 141240 ICR A(1-8) = BLOCK CODE 3024 04113 0 04 04676 STA OUTB+1 PLACE IT IN OUTPUT BUFFER 3025 04114 0 05 00515 ERA CKSM UPDATE THE CHECKSUM 3026 04115 0 04 00515 STA CKSM SAVE NEW CHECKSUM VALUE 3027 04116 0 02 00514 LDA OBT TEST FOR DATA BLOCK 3028 04117 0 07 00700 SUB ONE 3029 04120 101040 SNZ SKIP IF NOT 3030 04121 0 10 04452 JST TRUN INSURE THAT LAST ENTRY IS IN THE BUFFER 3031 04122 0 02 00512 LDA BLKS DETERMINE DATA WORD COUNT 3032 04123 0 07 00710 SUB M56
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 89

3033 04124 0 06 00743 ADD C3 ADD IN 3 WORD OVERHEAD 3034 04125 0 04 04675 STA OUTB PLACE IT IN FIRST WORD OF BUFFER 3035 04126 141240 ICR A(1-8) = WORD COUNT 3036 04127 0 04 04677 STA OUTB+2 PLACE IT IN SECOND WORD OF OBJECT BLOCK 3037 04130 0 05 00515 ERA CKSM UPDATE THE CHECKSUM 3038 04131 0 10 04473 JST FIL PLACE CHECKSUM IN BUFFER 3039 04132 0 15 00517 STX MOD 3040 04133 0 10 00000 CALL D$OB OUTPUT OBJECT TEXT BLOCK 3041 04134 0 35 00517 LDX MOD 3042 04135 0 10 04373 RRT JST BLIN SET UP FOR NEXT BLOCK 3043 04136 -0 02 04061 LDA* OBTX FETCH BLOCK TYPE 3044 04137 0 04 00514 STA OBT SAVE NEW BLOCK CODE 3045 04140 0 06 00711 ADD KDS ADD ADDRESS OF LINKAGE TABLE 3046 04141 0 04 04143 STA *+2 SAVE BLOCK TYPE PROCESSOR ADDRESS 3047 04142 -0 01 04143 JMP* *+1 JUMP TO BLOCK PROCESSOR 3048 04143 0 000000 DAC ** 3049 * 3050 04144 0 004242 DSPT DAC FILL (00) [0-00] SUBR NAME 3051 04145 0 004163 DAC DATA (01) [0-04] DATA BLOCK 3052 04146 0 004207 DAC SYMS (02) [0-10] SYMBOL DEFINITION 3053 04147 0 004242 DAC FILL (03) [0-14] END BLOCK 3054 04150 0 004245 DAC DXT (04) [0-20] LOGICAL END 3055 04151 0 004245 DAC DXT (05) [0-24] REL MODE 3056 04152 0 004245 DAC DXT (06) [0-30] ABS MODE 3057 04153 0 004247 DAC ORG1 (07) [0-34] ORG SET 3058 04154 0 004234 DAC ENDL (10) [0-40] END ASSEMBLY 3059 04155 0 004242 DAC FILL (11) [0-44] EXTERNAL LINKAGE 3060 04156 0 004242 DAC FILL (12) [0-50] ENTRY POINT DEFINITION 3061 04157 0 004245 DAC DXT (13) [0-54] EXTENDED DESECTORING 3062 04160 0 004245 DAC DXT (14) [0-60] LEAVE EXTENDED DESECTORING 3063 04161 0 004242 DAC FILL (15) [0-64] SET BASE SECTOR 3064 * 3065 04162 0 01 04211 JSM JMP JSMH 3066 * 3067 04163 0 10 04464 DATA JST SETC 3068 04164 0 00 00000 SKP *** ** JMP JSM,NOP, OR SKP 3069 04165 0 01 04221 JMP FIRS NEXT ENTRY STARTS ON A WORD BOUNDRY 3070 04166 0 02 00437 LDA WORD FETCH FIRST WORD OF NEW ENTRY 3071 04167 141140 ICL ISOLATE FIRST BYTE IN A(9-16) 3072 04170 0 06 00516 ADD LHW INSERT LAST BYTE OF PREVIOUS ENTRY 3073 04171 0 10 04473 JST FIL PLACE WORD IN BUFFER 3074 04172 0 12 00512 IRS BLKS INCREMENT WORD COUNT 3075 04173 0 02 00437 LDA WORD FETCH FIRST WORD OF NEW ENTRY 3076 04174 141050 CAL ISOLATE BYTE TWO 3077 04175 0 06 00440 ADD W2 INSERT THIRD BYTE OF THIS ENTRY 3078 04176 141340 ICA SWAP THE BYTES 3079 04177 0 10 04473 JST FIL PLACE THE WORD IN THE BUFFER 3080 04200 0 12 00512 IRS BLKS INCREMENT IHE WORD COUNT 3081 04201 101000 NOP OVERFLOW IS POSSIBLE 3082 04202 0 02 04164 SKPI LDA SKP FETCH BRANCH INSTRUCTION
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 90

3083 04203 100400 SPL SKIP IF IT WAS A JMP 3084 04204 0 05 00703 ERA C10X COMPLEMENT SKP INVERSION BIT 3085 04205 0 04 04164 STA SKP REPLACE BRANCH INSTRUCTION 3086 04206 0 01 04245 JMP DXT EXIT 3087 * 3088 04207 0 02 04162 SYMS LDA JSM SET 'JMP JSMH' IN 3089 04210 0 04 04164 STA SKP BRANCH INSTRUCTION 3090 04211 0 02 00437 JSMH LDA WORD SYMBOL DEFINITIONS PLACE 3091 04212 0 10 04473 JST FIL WORD IN BUFFER 3092 04213 0 12 00512 IRS BLKS INCREMENT WORD COUNT 3093 04214 0 02 00440 LDA W2 PLACE SECOND WORD 3094 04215 0 10 04473 JST FIL IN BUFFER 3095 04216 0 12 00512 IRS BLKS INCREMENT WORD COUNT 3096 04217 0 01 04245 JMP DXT EXIT 3097 04220 0 01 04104 JMP PNCH OUTPUT FULL BUFFER 3098 * 3099 04221 0 02 00437 FIRS LDA WORD FETCH FIRST 2 BYTES OF ENTRY 3100 04222 0 10 04473 JST FIL PLACE IT IN THE BUFFER 3101 04223 0 12 00512 IRS BLKS INCREMENT WORD COUNT 3102 04224 0 02 00440 LDA W2 SAVE THIRD BYTE IN 3103 04225 0 04 00516 STA LHW LHW FOR NEXT INSERTION 3104 04226 0 01 04202 JMP SKPI GO INVERT SKIP INSTRUCTION AND EXIT 3105 * 3106 04227 0 02 00512 TWOR LDA BLKS CHECK FOR ROOM FOR 2 WORD ENTRY 3107 04230 141206 AOA 3108 04231 101400 SMI SKIP IF ROOM 3109 04232 0 01 04104 JMP PNCH NO ROOM - OUTPUT THE BUFFER 3110 04233 0 01 04164 JMP SKP ROOM - ADD THE ENTRY 3111 * 3112 04234 0 10 00000 ENDL CALL D$EOM OUTPUT END OF JOB CODE TO OBJECT DEVICE 3113 04235 0 01 04245 JMP DXT EXIT 3114 * 3115 04236 0 15 00517 BEGF STX MOD 3116 04237 0 10 00000 CALL D$SOM START OBJECT DEVICE 3117 04240 0 35 00517 LDX MOD 3118 04241 0 01 04135 JMP RRT CONTINUE PROCESSING 3119 * 3120 04242 0 12 00512 FILL IRS BLKS INCREMENT WORD COUNT 3121 04243 0 02 00437 LDA WORD FETCH OBJECT TEXT WORD 3122 04244 0 10 04473 JST FIL PLACE IT IN BUFFER 3123 04245 0 12 04061 DXT IRS OBTX INCREMENT RETURN ADDRESS 3124 04246 -0 01 04061 JMP* OBTX EXIT 3125 * 3126 04247 0 02 00700 ORG1 LDA ONE SET BLOCK TYPE TO ONE 3127 04250 0 04 00514 STA OBT 3128 04251 0 10 04464 JST SETC SET ORIGIN 3129 04252 0 01 04245 JMP DXT EXIT 3130 * 3131 * 3132 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 91

3133 * 3134 * CLEO: CLEAR LISTING BUFFER 3135 * 3136 * 3137 * CALLING SEQUENCE: 3138 * JST CLEO 3139 * ......RETURN 3140 * 3141 * 3142 * RESULTS: 3143 * 3144 * THE LISTING BUFFER (OTPB) IS FILLED WITH 3145 * SPACE CHARACTERS ('120240). 3146 * 3147 * 3148 04253 0 000000 CLEO DAC ** CLEAR LISTING BUFFER 3149 04254 0 15 00517 STX MOD SAVE THE INDEX REGISTER 3150 04255 0 35 00712 LDX M60 SET UP TO CLEAR 60 WORDS 3151 04256 0 02 00723 LDA EMES FETCH SPACE CODE ('120240) 3152 04257 1 04 04640 STA OTPB+60,1 CLEAR ONE WORD 3153 04260 0 12 00000 IRS 0 INCREMENT BUFFER POINTER 3154 04261 0 01 04257 JMP *-2 GO BACK TO CLEAR NEXT WORD 3155 04262 0 35 00517 LDX MOD RESTORE THE INDEX REGISTER 3156 04263 -0 01 04253 JMP* CLEO EXIT 3157 * 3158 * 3159 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 92

3160 * 3161 * UAC : UPDATE ASCII COUNTER 3162 * 3163 * 3164 * CALLING SEQUENCE: 3165 * JST UAC 3166 * DAC CNTR 3167 * DAC EXP 3168 * ......RETURN 3169 * 3170 * WHERE: 3171 * 3172 * CNTR - COUNTER IO BE UPDATED. IT IS FORMATTED 3173 * INTO FOUR FIELDS OF FOUR BITS EACH. 3174 * EACH FIELD MAY HAVE A VALUE FROM 0 TO 3175 * 9, AND CARRY FROM ONE FIELD IS 3176 * ADDED TO THE NEXT: OVERFLOW BEING IGNORED 3177 * IF THE VALUE EXCEEDS 9999. 3178 * EXP - TWO WORD BUFFER INTO WHICH THE ASCII 3179 * EXPANSION OF THE COUNTER IS PLACED. 3180 * 3181 * 3182 04264 0 000000 UAC DAC ** UPDATE ASCII COUNTER 3183 04265 -0 02 04264 LDA* UAC FETCH ADDRESS OF COUNTER 3184 04266 0 04 04430 STA CSRT SAVE IT 3185 04267 0 12 04264 IRS UAC INCREMENT ARGUMENT POINTER 3186 04270 -0 02 04264 LDA* UAC FETCH ADDRESS OF EXPANSION FIELD 3187 04271 0 04 04413 STA CHR SAVE IT 3188 04272 0 02 00700 LDA ONE SET COUNTER MODIFIER TO 1 3189 04273 0 04 00517 STA MOD 3190 04274 0 02 00626 LDA C12 SET CONSTANT FOR CARRY TEST 3191 04275 0 04 00510 STA ICON 3192 04276 0 02 00630 LDA C17 UNITS POSITION MASK 3193 04277 0 04 00520 LUDT STA MSK SET POSITION MASK 3194 04300 -0 02 04430 LDA* CSRT FETCH THE COUNTER 3195 04301 0 06 00517 ADD MOD ADD THE MODIFIER TO IT 3196 04302 -0 04 04430 STA* CSRT REPLACE THE COUNTER 3197 04303 0 03 00520 ANA MSK ISOLATE CURRENT POSITION 3198 04304 0 07 00510 SUB ICON TEST FOR POSITION OVERFLOW 3199 04305 100040 SZE SKIP IF OVERFLOW 3200 04306 0 01 04324 JMP LU1 NO OVERFLOW - GO EXPAND THE COUNTER 3201 04307 -0 02 04430 LDA* CSRT RETRIEVE THE COUNTER 3202 04310 0 07 00510 SUB ICON CLEAR CURRENT POSITION 3203 04311 -0 04 04430 STA* CSRT REPLACE THE COUNTER 3204 04312 0 02 00517 LDA MOD FETCH THE MODIFIER 3205 04313 0416 74 ALR 4 MOVE CARRY BIT TO NEXT POSITION 3206 04314 0 04 00517 STA MOD REPLACE THE MODIFIER 3207 04315 0 02 00510 LDA ICON FETCH CARRY TEST CONSTANT 3208 04316 0414 74 LGL 4 MOVE IT TO NEXT POSITION 3209 04317 0 04 00510 STA ICON REPLACE THE CONSTANT
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 93

3210 04320 0 02 00520 LDA MSK FETCH POSITION MASK 3211 04321 0414 74 LGL 4 MOVE IT TO NEXT POSITION 3212 04322 100040 SZE SKIP IF FOUR DIGITS HAVE BEEN UPDATED 3213 04323 0 01 04277 JMP LUDT OTHERWISE: UPDATE NEXT POSITION 3214 04324 -0 02 04430 LU1 LDA* CSRT FETCH THE UPDATED COUNTER 3215 04325 000201 IAB PLACE IT IN B REGISTER 3216 04326 0 02 00672 LDA M2 SET UP COUNTER FOR TWO WORD EXPANSION 3217 04327 0 04 00517 STA MOD 3218 04330 140040 LU2 CRA 3219 04331 0410 74 LLL 4 MOVE DIGIT INTO A 3220 04332 0414 74 LGL 4 POSITION IT 3221 04333 0410 74 LLL 4 MOVE IN NEXT DIGIT 3222 04334 0 06 00615 ADD ZX3 CONVERT DIGIT PAIR TO ASCII 3223 04335 -0 04 04413 STA* CHR PLACE CHAR. PAIR IN EXPANSION FIELD 3224 04336 0 12 04413 IRS CHR INCREMENT FIELD POINTER 3225 04337 0 12 00517 IRS MOD INCREMENT THE WORD COUNTER 3226 04340 0 01 04330 JMP LU2 GO BACK FOR NEXT DIGIT PAIR 3227 04341 0 12 04264 IRS UAC INCREMENT RETURN ADDRESS 3228 04342 -0 01 04264 JMP* UAC EXIT 3229 * 3230 * 3231 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 94

3232 * 3233 * OPT : OCTAL TO ASCII CONVERSION ROUTINE 3234 * 3235 * 3236 * CALLING SEQUENCE: 3237 * LDA VALU 3238 * JST OPT 3239 * VFD 8:D,8,COL 3240 * 3241 * WHERE: 3242 * 3243 * VALU - OCTAL VALUE THAT IS TO BE CONVERTED: POSITIONED 3244 * SO THAT IHE FIRST DIGIT IS IN A(1-3): ECT. 3245 * D - NUMBER OF DIGITS T0 BE CONVERTED 3246 * COL - ONE LESS THAN THE STARTING COLUMN 3247 * NUMBER IN WHICH IHE RESULT IS TO BE PLACED 3248 * 3249 * 3250 04343 0 000000 OPT DAC ** OCTAL - ASCII CONVERSION ROUTINE 3251 04344 000201 IAB PLACE VALUE IN B REGISTER 3252 04345 -0 02 04343 LDA* OPT FETCH PARAMETER WORD 3253 04346 141140 ICL POSITION DIGIT COUNT 3254 04347 140407 TCA COMPLEMENT THE COUNT 3255 04350 0 04 00477 STA VFD2 SAVE THE COUNT 3256 04351 -0 02 04343 LDA* OPT FETCH PARAMETER WORD 3257 04352 141050 CAL ISOLATE COLUMN NUMBER 3258 04353 0 04 04361 STA OPCL PLACE IT IN CHAR. INSERTION CALLING SEQ. 3259 04354 0 12 04343 IRS OPT INCREMENT RETURN ADDRESS 3260 04355 140040 LOPT CRA 3261 04356 0410 75 LLL 3 POSITION NEXT DIGIT 3262 04357 0 06 00643 ADD C260 CONVERT IT TO ASCII 3263 04360 0 10 04430 JST CSRT PLACE IT IN LISTING BUFFER 3264 04361 000000 OPCL OCT 0 COLUMN POINTER 3265 04362 0 12 04361 IRS *-1 INCREMENT COLUMN POINTER 3266 04363 0 12 00477 IRS VFD2 INCREMENT DIGIT COUNT 3267 04364 0 01 04355 JMP LOPT GO BACK FOR NEXT DIGIT 3268 04365 -0 01 04343 JMP* OPT EXIT 3269 * 3270 * ADV : ADVANCE CHARACTER POINTER TO NEXT FIELD 3271 * 3272 * 3273 * CALLING SEQUENCE: 3274 * JST ADV 3275 * ......RETURN 3276 * 3277 * 3278 * RESULTS: 3279 * 3280 * CHRC IS SET TO POINT TO THE FIRST CHARACTER 3281 * IN THE NEXT STATEMENT FIELD.
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 95

3282 * 3283 * 3284 04366 0 000000 ADV DAC ** ADVANCE TO NEXT FIELD 3285 04367 0 12 00522 IRS ADVP ADVANCE FIELD LIST POINTER 3286 04370 -0 02 00522 LDA* ADVP FETCH POINTER TO FIRST CHAR. IN NEXT FIELD 3287 04371 0 04 00521 STA CHRC SET THE CHARACTER POINTER 3288 04372 -0 01 04366 JMP* ADV EXIT 3289 * 3290 * 3291 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 96

3292 * 3293 * BLIN: INITIALIZE OBJECT TEXT BLOCK POINTERS 3294 * 3295 * 3296 * CALLING SEQUENCE: 3297 * JST BLIN 3298 * ......RETURN 3299 * 3300 * 3301 * RESULTS: 3302 * 3303 * POUT=[OUTB+3] 3304 * BLKS=-56 3305 * CKSM=ROOM=0 3306 * 3307 * 3308 04373 0 000000 BLIN DAC ** INITIALIZE BLOCK POINTERS 3309 04374 0 02 00713 LDA OUTP SET BLOCK POINTER TO ADDRESS 3310 04375 0 04 00523 STA POUT OF OUTB+3 3311 04376 0 04 04675 STA OUTB SAVE IT FOR CLEARING THE BUFFER 3312 04377 0 02 00710 LDA M56 SET WORD COUNTER TO -56 3313 04400 0 04 00512 STA BLKS DAP3 3314 04401 0 06 00671 ADD M1 ADD NEGATIVE ONE SO THAT THE LAST WORD 3315 04402 0 04 04676 STA OUTB+1 OF THE BUFFER IS CLEARED 3316 04403 140040 CRA 3317 04404 0 04 00513 STA ROOM SET BUFFER ROOM CONSTANT TO ZERO 3318 04405 0 04 00515 STA CKSM SET CHECKSUM TO ZERO 3319 04406 -0 04 04675 STA* OUTB ZERO THE BUFFER 3320 04407 0 12 04675 IRS OUTB INCREMENT ADDRESS 3321 04410 0 12 04676 IRS OUTB+1 BUMP COUNTER, FINISHED YET 3322 04411 0 01 04406 JMP *-3 IF NOT, LOOP 3323 04412 -0 01 04373 JMP* BLIN EXIT 3324 * 3325 * 3326 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 97

3327 * 3328 * CHR : FETCH NEXT CHARACTER FROM INPUT BUFFER 3329 * 3330 * 3331 * CALLING SEQUENCE: 3332 * JST CHR 3333 * ......RETURN NEXT CHARACTER IN A ON RETURN 3334 * 3335 * 3336 * RESULTS: 3337 * 3338 * TERM=INPB(CHRC) 3339 * CHRC=CHRC+1 3340 * 3341 * 3342 04413 0 000000 CHR DAC ** FETCH NEXT CHARACTER 3343 04414 0 02 00521 LDA CHRC FETCH CHARACTER COUNTER 3344 04415 0406 77 ARR 1 A(1)= CHAR. POINTER, A(2-16)= WORD NUMBER 3345 04416 0 06 00714 ADD INPD ADD BUFFER ADDRESS TO WORD NUMBER 3346 04417 140320 CSA C=CHARACTER POINTER, A(1)= 0 3347 04420 0 04 00520 STA MSK SAVE WORD POINTER 3348 04421 -0 02 00520 LDA* MSK FETCH CHARACTER PAIR FROM SOURCE BUFFER 3349 04422 101001 SSC SKIP IF FETCHING LOW ORDER CHAR. 3350 04423 141340 ICA REPOSITION HIGH ORDER CHARACTER 3351 04424 141050 CAL ISOLATE LOW ORDER CHARACTER 3352 04425 0 04 00444 STA TERM PLACE IT IN TERM FOR FUTURE REFERENCE 3353 04426 0 12 00521 IRS CHRC INCREMENT THE CHARACTER COUNT 3354 04427 -0 01 04413 JMP* CHR EXIT 3355 * 3356 * 3357 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 98

3358 * 3359 * CSRT: INSERT CHARACTER IN LISTING BUFFER 3360 * 3361 * 3362 * CALLING SEQUENCE: 3363 * LDA CHAR 3364 * JST CSRT 3365 * OCT COL 3366 * ......RETURN 3367 * 3368 * WHERE: 3369 * CHAR - CHARACTER TO BE INSERTED 3370 * COL - ONE LESS THAN COLUMN NUMBER THAT THE 3371 * CHARACTER IS TO BE PLACED 3372 * 3373 * 3374 04430 0 000000 CSRT DAC ** INSERT CHARACTER IN LISTING BUFFER 3375 04431 141050 CAL A(1-8)=0 3376 04432 0 04 04452 STA TRUN SAVE THE CHARACTER 3377 04433 -0 02 04430 LDA* CSRT FETCH COLUMN POINTER 3378 04434 0406 77 ARR 1 A(1)=CHAR. POSITION INDICATOR, A(2-16)=WORD 3379 04435 0 06 00715 ADD DCON ADD BUFFER ADDRESS TO WORD NUMBER 3380 04436 140320 CSA C=POSITION INDICATOR: A(1)=0 3381 04437 0 04 00520 STA MSK SAVE LIST BUFFER WORD POINTER 3382 04440 -0 02 00520 LDA* MSK FETCH CURRENT CONTENTS OF BUFFER WORD 3383 04441 101001 SSC SKIP IF CHAR. GOES TO LOW HALF OF WORD 3384 04442 141340 ICA SWAP CHARS. FOR THE INSERTION 3385 04443 141044 CAR A(9-16)=0 3386 04444 0 05 04452 ERA TRUN INSERT NEW CHARACTER 3387 04445 101001 SSC SKIP IF CHARS. IN RIGHT ORDER 3388 04446 141340 ICA REORDER THE CHARACTERS 3389 04447 -0 04 00520 STA* MSK REPLACE THE CHARACTER PAIR 3390 04450 0 12 04430 IRS CSRT INCREMENT THE RETURN ADDRESS 3391 04451 -0 01 04430 JMP* CSRT RETURN TO CALLER 3392 * 3393 * 3394 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 99

3395 * 3396 * TRUN: TERMINATE OBJECT TEXT BUFFER 3397 * 3398 * 3399 * CALLING SEQUENCE: 3400 * JST TRUN 3401 * ......RETURN 3402 * 3403 * 3404 * RESULTS: 3405 * 3406 * <SKP,=,NOP>:EXIT 3407 * OUTB(POUT)=LHW 3408 * BLKS=BLKS+1 3409 * 3410 * 3411 04452 0 000000 TRUN DAC ** TERMINATE OBJECT TEXT BUFFER 3412 04453 0 02 04164 LDA SKP FETCH SWITCH INSTRUCTION 3413 04454 0 04 04455 STA *+1 PLACE IT IN BRANCH 3414 04455 0 00 00000 *** ** SKP OR NOP 3415 04456 -0 01 04452 JMP* TRUN EXIT IF IT WAS A NOP 3416 04457 0 02 00516 LDA LHW FETCH LAST 8 BITS OF OBJECT TEXT ENTRY 3417 04460 0 10 04473 JST FIL PLACE IT IN OBJECT TEXT BUFFER 3418 04461 0 12 00512 IRS BLKS INCREMENT THE WORD COUNT 3419 04462 101000 NOP NOP OVERFLOW IS POSSIBLE 3420 04463 -0 01 04452 JMP* TRUN EXIT 3421 * 3422 * 3423 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 100

3424 * 3425 * SETC: PLACE LOCATION COUNTER IN OBJECT TEXT BUFFER 3426 * 3427 * 3428 * CALLING SEQUENCE: 3429 * JST SETC 3430 * ......RETURN 3431 * 3432 * 3433 * RESULTS: 3434 * 3435 * OUTB(POUT)=CLOC 3436 * BLKS=BLKS+1 3437 * SKP=NOP 3438 * 3439 * 3440 04464 0 000000 SETC DAC ** PLACE LOC. COUNTER IN OBJECT TEXT BUFFER 3441 04465 0 02 00405 LDA CLOC FETCH THE LOCATION COUNTER 3442 04466 0 10 04473 JST FIL PLACE COUNTER IN OBJECT TEXT BUFFER 3443 04467 0 12 00512 IRS BLKS INCREMENT THE WORD COUNT 3444 04470 0 02 04462 LDA NOP FETCH 'NOP' INSTRUCTION 3445 04471 0 04 04164 STA SKP PLACE IT IN BRANCH POINT 3446 04472 -0 01 04464 JMP* SETC RETURN TO CALLER 3447 * 3448 * 3449 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 101

3450 * 3451 * FIL : PLACE WORD IN OBJECT TEXT BUFFER 3452 * 3453 * 3454 * CALLING SEQUENCE: 3455 * LDA WORD VALUE TO BE INSERTED IN A ON ENTRY 3456 * JST FIL 3457 * ......RETURN 3458 * 3459 * RESULTS: 3460 * 3461 * OUTB(POUT)=A 3462 * POUT=POUT+1 3463 * CKSM=CKSM.XOR.A 3464 * 3465 * 3466 04473 0 000000 FIL DAC ** PLACE WORD IN OBJECT TEXT BUFFER 3467 04474 -0 04 00523 STA* POUT PLACE THE WORD IN BUFFER 3468 04475 0 12 00523 IRS POUT INCREMENT THE BUFFER POINTER 3469 04476 0 05 00515 ERA CKSM UPDATE THE CHECKSUM 3470 04477 0 04 00515 STA CKSM SAVE NEW CHECKSUM VALUE 3471 04500 -0 01 04473 JMP* FIL EXIT 3472 * 3473 * 3474 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 102

3475 * 3476 * SLST: OUTPUT LISTING BUFFER 3477 * 3478 * 3479 * CALLING SEQUENCE: 3480 * JST SLST 3481 * ......RETURN 3482 * 3483 * 3484 04501 0 000000 SLST DAC ** OUTPUT LISTING BUFFER 3485 04502 0 02 00436 LDA ZP FETCH PASS INDICATOR 3486 04503 100400 SPL SKIP IF OUTPUT PASS 3487 04504 -0 01 04501 JMP* SLST NOT OUTPUT PASS - EXIT 3488 04505 0 02 00411 LDA TTLF FETCH HEADING SWITCH 3489 04506 100040 SZE SKIP IF HEADING HAS NOT BEEN SET 3490 04507 0 01 04525 JMP *+14 3491 04510 0 02 00723 LDA EMES SPACE SPACE 3492 04511 -0 13 00717 IMA* DCN2 PLACE SPACE IN 1ST TWO CHARS. OF LINE NO. 3493 04512 0 04 00520 STA MSK SAVE FIRST TWO DIGITS OF LINE NUMBER 3494 04513 0 02 00723 LDA EMES SPACE SPACE 3495 04514 -0 13 00720 IMA* DCN3 PLACE SPACE IN 2ND TWO CHARS. OF LINE NO. 3496 04515 0 04 00510 STA ICON SAVE SECOND TWO CHARACTERS OF LINE NUMBER 3497 04516 0 15 00517 STX MOD 3498 04517 0 10 00000 CALL D$HD INITIALIZE THE HEADING 3499 04520 0 35 00517 LDX MOD 3500 04521 0 02 00520 LDA MSK RESTORE THE LINE NUMBER 3501 04522 -0 04 00717 STA* DCN2 3502 04523 0 02 00510 LDA ICON 3503 04524 -0 04 00720 STA* DCN3 3504 04525 0 12 00411 IRS TTLF SET HEADING SWITCH 3505 04526 0 02 00410 LDA LSTW FETCH LISTING SWITCH 3506 04527 100040 SZE SKIP IF LISTING IS ENABLED 3507 04530 0 01 04542 JMP SLT1+4 3508 04531 0 02 04052 LDA LGCT FETCH ERROR/LINE COUNTER 3509 04532 100040 SZE SKIP IF NO ERROR FLAGS ON LINE 3510 04533 0 01 04536 JMP SLT1 ERRORS ON LINE - LIST IT 3511 04534 0 02 00461 LDA TST FETCH PARAMENTER WORD 3512 04535 0414 76 LGL 2 A(1)=ERROR ONLY LISTING FLAG 3513 04536 0 15 00517 SLT1 STX MOD 3514 04537 101400 SMI SKIP IF ERROR ONLY LISTING 3515 04540 0 10 00000 CALL D$OL LIST THE LINE 3516 04541 0 35 00517 LDX MOD 3517 04542 0 10 04253 JST CLEO CLEAR THE LISTING BUFFER 3518 04543 -0 01 04501 JMP* SLST EXIT 3519 * 3520 * 3521 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 103

3522 * 3523 * BUFFERS 3524 * 3525 * 3526 04544 OTPB BSS 14 LISTING BUFFER 3527 * 3528 * 3529 04562 INPB BSS 46 SOURCE BUFFER 3530 * 3531 * 3532 04640 DBLK BSS 29 LIST STORAGE FOR MULTIFIELD PSUEDO-OPS 3533 * 3534 * 3535 04675 OUTB BSS 62 OBJECT TEXT BUFFER 3536 * 3537 004676 OTBX EQU OUTB+1 3538 * 3539 * 3540 004640 TAB1 EQU DBLK 3541 004704 T136 EQU TAB1+36 3542 004705 T137 EQU TAB1+37 3543 004705 TAB2 EQU TAB1+37 3544 004751 T236 EQU TAB2+36 3545 004752 T237 EQU TAB2+37 3546 * 3547 * 3548 EJCT *************************************************************
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 104

3549 * 3550 * OPCODE TABLE 3551 * 3552 * 3553 * EACH ENTRY IN THE OPCODE TABLE HAS THE FOLLOWING FORMAT: 3554 * 3555 * 3556 * WORD 1 : BIT 1 : PSEUDO-OP FLAG 3557 * BIT 2 : ADDRESS REQUIRED FLAG 3558 * BIT 3 : INDIRECT/INDEX ALLOWED FLAG 3559 * BIT 4 : UNUSED 3560 * BITS 5-16 : FIRST TWO CHARACTERS OF NAME 3561 * 3562 * WORD 2 : BIT 1 : IF MACHINE-OP. SHIFT INSTRUCTION FLAG 3563 * IF PSEUDO-OP, FORCE ASSEMBLY FLAG 3564 * BIT 2 : I/O INSTRUCTION FLAG 3565 * BIT 3 : MEMORY REFERENCE INSTRUCTION FLAG 3566 * BIT 4 : GENERIC INSTRUCTION FLAG 3567 * BITS 5-16 : SECOND TWO CHARACTERS OF NAME 3568 * 3569 * WORD 3 : BITS 1-16 : IF MACHINE-OP. THE OPCODE 3570 * IF PSEUDO-OP, ADDRESS OF PROCESSOR 3571 * 3572 * 3573 04773 OPS BSS 0 3574 04773 065255 OCT 65255 JMP/ADR/IND 3575 04774 020060 OCT 20060 MR 3576 04775 002000 OCT 2000 3577 04776 065444 OCT 65444 LDA/ADR/IND 3578 04777 020041 OCT 20041 MR 3579 05000 004000 OCT 4000 3580 05001 064156 OCT 64156 ANA/ADR/IND 3581 05002 020041 OCT 20041 MR 3582 05003 006000 OCT 6000 3583 05004 066364 OCT 66364 STA/ADR/IND 3584 05005 020041 OCT 20041 MR 3585 05006 010000 OCT 10000 3586 05007 064562 OCT 64562 ERA/ADR/IND 3587 05010 020041 OCT 20041 MR 3588 05011 012000 OCT 12000 3589 05012 064144 OCT 64144 ADD/ADR/IND 3590 05013 020044 OCT 20044 MR 3591 05014 014000 OCT 14000 3592 05015 066365 OCT 66365 SUB/ADR/IND 3593 05016 020042 OCT 20042 MR 3594 05017 016000 OCT 16000 3595 05020 065263 OCT 65263 JST/ADR/IND 3596 05021 020064 OCT 20064 MR 3597 05022 020000 OCT 20000 3598 05023 065162 OCT 65162 IRS/ADR/IND
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 105

3599 05024 020063 OCT 20063 MR 3600 05025 024000 OCT 24000 3601 05026 026072 OCT 26072 PZE/IND 3602 05027 020045 OCT 20045 MR 3603 05030 000000 OCT 0 3604 05031 021212 OCT 021212 ***/IND 3605 05032 020012 OCT 20012 MR 3606 05033 000000 OCT 0 3607 05034 021212 OCT 021212 ****--INDIRECT*** 3608 05035 021212 OCT 021212 MR 3609 05036 100000 OCT 100000 3610 05037 045743 OCT 45743 OCP/ADR 3611 05040 040060 OCT 40060 IOT 3612 05041 030000 OCT 30000 3613 05042 046353 OCT 46353 SKS/ADR 3614 05043 040063 OCT 40063 IOT 3615 05044 070000 OCT 70000 3616 05045 046355 OCT 46355 SMK/ADR 3617 05046 040053 OCT 40053 IOT 3618 05047 170000 OCT 170000 3619 05050 045156 OCT 45156 INA/ADR 3620 05051 040041 OCT 40041 IOT 3621 05052 130000 OCT 130000 3622 05053 045764 OCT 45764 OTA/ADR 3623 05054 040041 OCT 40041 IOT 3624 05055 170000 OCT 170000 3625 05056 045447 OCT 45447 LGR/ADR 3626 05057 100062 OCT 100062 SHF 3627 05060 040400 OCT 40400 3628 05061 044162 OCT 44162 ARS/ADR 3629 05062 100063 OCT 100063 SHF 3630 05063 040500 OCT 40500 3631 05064 044162 OCT 44162 ARR/ADR 3632 05065 100062 OCT 100062 SHF 3633 05066 040600 OCT 40600 3634 05067 045447 OCT 45447 LGL/ADR 3635 05070 100054 OCT 100054 SHF 3636 05071 041400 OCT 41400 3637 05072 044154 OCT 44154 ALS/ADR 3638 05073 100063 OCT 100063 SHF 3639 05074 041500 OCT 041500 3640 05075 044154 OCT 44154 ALR/ADR 3641 05076 100062 OCT 100062 SHF 3642 05077 041600 OCT 41600 3643 05100 005054 OCT 5054 HLT 3644 05101 010064 OCT 10064 GEN 3645 05102 000000 OCT 0 3646 05103 004556 OCT 4556 ENB 3647 05104 010042 OCT 10042 GEN 3648 05105 000401 OCT 401
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 106

3649 05106 005156 OCT 5156 INH 3650 05107 010050 OCT 10050 GEN 3651 05110 001001 OCT 1001 3652 05111 006255 OCT 6255 RMP 3653 05112 010060 OCT 10060 GEN 3654 05113 000021 OCT 21 3655 05114 004562 OCT 4562 ERM 3656 05115 010055 OCT 10055 GEN 3657 05116 001401 OCT 1401 3658 05117 006360 OCT 6360 SPS 3659 05120 010063 OCT 010063 GEN 3660 05121 101200 OCT 101200 3661 05122 006360 OCT 6360 SPN 3662 05123 010056 OCT 10056 GEN 3663 05124 100200 OCT 100200 3664 05125 006353 OCT 6353 SKP 3665 05126 010060 OCT 10060 GEN 3666 05127 100000 OCT 100000 3667 05130 006372 OCT 6372 SZE 3668 05131 010045 OCT 10045 GEN 3669 05132 100040 OCT 100040 3670 05133 006360 OCT 6360 SPL 3671 05134 010054 OCT 10054 GEN 3672 05135 100400 OCT 100400 3673 05136 005657 OCT 5657 NOP 3674 05137 010060 OCT 10060 GEN 3675 05140 101000 OCT 101000 3676 05141 006356 OCT 6356 SNZ 3677 05142 010072 OCT 10072 GEN 3678 05143 101040 OCT 101040 3679 05144 006355 OCT 6355 SMI 3680 05145 010051 OCT 10051 GEN 3681 05146 101400 OCT 101400 3682 05147 004362 OCT 4362 CRA 3683 05150 010041 OCT 10041 GEN 3684 05151 140040 OCT 140040 3685 05152 104346 OCT 104346 CF1/POP 3686 05153 000021 OCT 21 3687 05154 0 003273 DAC CF1 3688 05155 104346 OCT 104346 CF3/POP 3689 05156 000023 OCT 23 3690 05157 0 003267 DAC CF3 3691 05160 104346 OCT 104346 CF4/POP 3692 05161 000024 OCT 24 3693 05162 0 003271 DAC CF4 3694 05163 104346 OCT 104346 CF5/POP 3695 05164 000025 OCT 25 3696 05165 0 003267 DAC CF5 3697 05166 104556 OCT 104556 END/POP 3698 05167 100044 OCT 100044
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 107

3699 05170 0 003024 DAC END 3700 05171 104651 OCT 104651 FIN/POP 3701 05172 000056 OCT 56 3702 05173 0 003366 DAC FIN 3703 05174 164441 OCT 164441 DAC/POP/ADR/IND 3704 05175 020043 OCT 20043 MR 3705 05176 0 001544 DAC DAC 3706 05177 107041 OCT 107041 XAC/POP 3707 05200 020043 OCT 20043 3708 05201 0 002642 DAC XAC 3709 05202 104561 OCT 104561 EQU/POP 3710 05203 000065 OCT 65 3711 05204 0 003314 DAC EQU 3712 05205 106345 OCT 106345 SET/POP 3713 05206 000064 OCT 64 3714 05207 0 003313 DAC SET 3715 05210 105045 OCT 105045 HEX/POP 3716 05211 010070 OCT 10070 3717 05212 0 003507 DAC HEX 3718 05213 106646 OCT 106646 VFD/POP 3719 05214 010044 OCT 10044 3720 05215 0 003565 DAC VFD 3721 05216 105146 OCT 105146 IFZ/POP 3722 05217 100072 OCT 100072 3723 05220 0 003644 DAC IFZ 3724 05221 105146 OCT 105146 IFN/POP 3725 05222 100056 OCT 100056 3726 05223 0 003646 DAC IFN 3727 05224 105146 OCT 105146 IFP/POP 3728 05225 100060 OCT 100060 3729 05226 0 003650 DAC IFP 3730 05227 105146 OCT 105146 IFM/POP 3731 05230 100055 OCT 100055 3732 05231 0 003652 DAC IFM 3733 05232 104554 OCT 104554 ELSE/POP 3734 05233 106345 OCT 106345 3735 05234 0 003676 DAC ELSE 3736 05235 104556 OCT 104556 ENDC/POP 3737 05236 104443 OCT 104443 3738 05237 0 003713 DAC ENDC 3739 05240 104641 OCT 104641 FAIL/POP 3740 05241 005154 OCT 5154 3741 05242 0 003734 DAC FAIL 3742 05243 105762 OCT 105762 ORG/POP 3743 05244 000047 OCT 47 3744 05245 0 003240 DAC ORG 3745 05246 106245 OCT 106245 REL/POP 3746 05247 000054 OCT 54 3747 05250 0 003254 DAC REL 3748 05251 104142 OCT 104142 ABS/POP
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 108

3749 05252 000063 OCT 63 3750 05253 0 003250 DAC ABS 3751 05254 105457 OCT 105457 LOAD/POP 3752 05255 004144 OCT 4144 3753 05256 0 003246 DAC LOAD 3754 05257 105557 OCT 105557 MOR/POP 3755 05260 000062 OCT 62 3756 05261 0 003362 DAC MOR 3757 05262 105451 OCT 105451 LIST/POP 3758 05263 006364 OCT 6364 3759 05264 0 003276 DAC LIST 3760 05265 105654 OCT 105654 NLST/POP 3761 05266 006364 OCT 6364 3762 05267 0 003300 DAC NLST 3763 05270 104552 OCT 104552 EJCT/POP 3764 05271 004364 OCT 4364 3765 05272 0 003302 DAC EJCT 3766 05273 104263 OCT 104263 BSS/POP 3767 05274 000063 OCT 63 3768 05275 0 003416 DAC BSS 3769 05276 104245 OCT 104245 BES/POP 3770 05277 000063 OCT 63 3771 05300 0 003424 DAC BES 3772 05301 104263 OCT 104263 BSZ/POP 3773 05302 000072 OCT 72 3774 05303 0 003373 DAC BSZ 3775 05304 104445 OCT 104445 DEC/POP 3776 05305 010043 OCT 10043 GEN 3777 05306 0 003504 DAC DEC 3778 05307 105743 OCT 105743 OCT/POP 3779 05310 010064 OCT 10064 GEN 3780 05311 0 003510 DAC OCT 3781 05312 104243 OCT 104243 BCI/POP 3782 05313 010051 OCT 10051 GEN 3783 05314 0 003432 DAC BCI 3784 05315 104357 OCT 104357 COMN/POP 3785 05316 005556 OCT 5556 3786 05317 0 003334 DAC COMN 3787 05320 104341 OCT 104341 CALL/POP 3788 05321 025454 OCT 25454 MR 3789 05322 0 002615 DAC CALL 3790 05323 106365 OCT 106365 SUBR/POP 3791 05324 004262 OCT 4262 3792 05325 0 002662 DAC SUBR 3793 05326 104556 OCT 104556 ENT/POP 3794 05327 000064 OCT 64 3795 05330 0 002662 DAC ENT 3796 05331 104570 OCT 104570 EXT/POP 3797 05332 000064 OCT 64 3798 05333 0 002741 DAC EXT
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 109

3799 05334 104570 OCT 104570 LXD/POP 3800 05335 000044 OCT 44 3801 05336 0 003261 DAC EXD 3802 05337 105470 OCT 105470 LXD/POP 3803 05340 000044 OCT 44 3804 05341 0 003264 DAC LXD 3805 05342 106345 OCT 106345 SETB/POP 3806 05343 006442 OCT 006442 3807 05344 0 003342 DAC SETB 3808 05345 106345 OCT 106345 SETC/POP 3809 05346 006443 OCT 006443 3810 05347 0 003370 DAC CSET 3811 05350 OP4 BSS 0 END OF LEGAL DDP-416 OPCODES 3812 05350 064341 OCT 64341 CAS/ADR/IND 3813 05351 020063 OCT 20063 MR 3814 05352 022000 OCT 022000 3815 05353 065155 OCT 65155 IMA/ADR/IND 3816 05354 020041 OCT 20041 MR 3817 05355 026000 OCT 026000 3818 05356 065560 OCT 65560 MPY/ADR/IND 3819 05357 020071 OCT 20071 MR 3820 05360 034000 OCT 034000 3821 05361 064451 OCT 64451 DIV/ADR/IND 3822 05362 020066 OCT 20066 MR 3823 05363 036000 OCT 036000 3824 05364 045462 OCT 45462 LRL/ADR 3825 05365 100054 OCT 100054 SHF 3826 05366 040000 OCT 40000 3827 05367 045462 OCT 45462 LRS/ADR 3828 05370 100063 OCT 100063 SHF 3829 05371 040100 OCT 40100 3830 05372 045462 OCT 45462 LRR/ADR 3831 05373 100062 OCT 100062 SHF 3832 05374 040200 OCT 40200 3833 05375 045454 OCT 45454 LLL/ADR 3834 05376 100054 OCT 100054 SHF 3835 05377 041000 OCT 41000 3836 05400 045454 OCT 45454 LLS/ADR 3837 05401 100063 OCT 100063 SHF 3838 05402 041100 OCT 41100 3839 05403 045454 OCT 45454 LLR/ADR 3840 05404 100062 OCT 100062 SHF 3841 05405 041200 OCT 41200 3842 05406 006343 OCT 6343 SCA 3843 05407 010041 OCT 10041 GEN 3844 05410 000041 OCT 41 3845 05411 005662 OCT 5662 NRM 3846 05412 010055 OCT 10055 GEN 3847 05413 000101 OCT 101 3848 05414 005141 OCT 5141 IAB
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 110

3849 05415 010042 OCT 10042 GEN 3850 05416 000201 OCT 201 3851 05417 006362 OCT 6362 SRC 3852 05420 010043 OCT 10043 GEN 3853 05421 100001 OCT 100001 3854 05422 006362 OCT 6362 SR4 3855 05423 010024 OCT 10024 GEN 3856 05424 100002 OCT 100002 3857 05425 006362 OCT 6362 SR3 3858 05426 010023 OCT 10023 GEN 3859 05427 100004 OCT 100004 3860 05430 006362 OCT 6362 SR2 3861 05431 010022 OCT 10022 GEN 3862 05432 100010 OCT 100010 3863 05433 006362 OCT 6362 SR1 3864 05434 010021 OCT 10021 GEN 3865 05435 100020 OCT 100020 3866 05436 006363 OCT 6363 SSR 3867 05437 010062 OCT 10062 GEN 3868 05440 100036 OCT 100036 3869 05441 006363 OCT 6363 SSC 3870 05442 010043 OCT 10043 GEN 3871 05443 101001 OCT 101001 3872 05444 006363 OCT 6363 SS4 3873 05445 010024 OCT 10024 GEN 3874 05446 101002 OCT 101002 3875 05447 006363 OCT 6363 SS3 3876 05450 010023 OCT 10023 GEN 3877 05451 101004 OCT 101004 3878 05452 006363 OCT 6363 SS2 3879 05453 010022 OCT 10022 GEN 3880 05454 101010 OCT 101010 3881 05455 006363 OCT 6363 SS1 3882 05456 010021 OCT 10021 GEN 3883 05457 101020 OCT 101020 3884 05460 006363 OCT 6363 SSS 3885 05461 010063 OCT 10063 GEN 3886 05462 101036 OCT 101036 3887 05463 006363 OCT 6363 SSP 3888 05464 010060 OCT 10060 GEN 3889 05465 140100 OCT 140100 3890 05466 006363 OCT 6363 SSM 3891 05467 010055 OCT 10055 GEN 3892 05470 140500 OCT 140500 3893 05471 006354 OCT 6354 SLN 3894 05472 010056 OCT 10056 GEN 3895 05473 101100 OCT 101100 3896 05474 006354 OCT 6354 SLZ 3897 05475 010072 OCT 10072 GEN 3898 05476 100100 OCT 100100
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 111

3899 05477 004350 OCT 4350 CHS 3900 05500 010063 OCT 10063 GEN 3901 05501 140024 OCT 140024 3902 05502 006243 OCT 6243 RCB 3903 05503 010042 OCT 10042 GEN 3904 05504 140200 OCT 140200 3905 05505 004343 OCT 4343 CCA 3906 05506 010041 OCT 10041 GEN 3907 05507 140240 OCT 140240 3908 05510 004363 OCT 4363 CSA 3909 05511 010041 OCT 10041 GEN 3910 05512 140320 OCT 140320 3911 05513 004355 OCT 4355 CMA 3912 05514 010041 OCT 10041 GEN 3913 05515 140401 OCT 140401 3914 05516 006443 OCT 6443 TCA 3915 05517 010041 OCT 10041 GEN 3916 05520 140407 OCT 140407 3917 05521 006343 OCT 6343 SCB 3918 05522 010042 OCT 10042 GEN 3919 05523 140600 OCT 140600 3920 05524 004143 OCT 4143 ACA 3921 05525 010041 OCT 10041 GEN 3922 05526 141216 OCT 141216 3923 05527 004157 OCT 4157 AOA 3924 05530 010041 OCT 10041 GEN 3925 05531 141206 OCT 141206 3926 05532 004470 OCT 4470 DXA 3927 05533 010041 OCT 10041 GEN 3928 05534 000011 OCT 11 3929 05535 004570 OCT 4570 EXA 3930 05536 010041 OCT 10041 GEN 3931 05537 000013 OCT 13 3932 05540 OPF1 BSS 0 END OF LEGAL DDP-116 OPCODES 3933 05540 066364 OCT 66364 STX/ADR/IND 3934 05541 020070 OCT 20070 MR 3935 05542 032000 OCT 032000 3936 05543 065444 OCT 65444 LDX/ADR/IND 3937 05544 020070 OCT 20070 MR 3938 05545 072000 OCT 072000 3939 05546 064454 OCT 064454 DLD/ADR/IND 3940 05547 020044 OCT 020044 MR 3941 05550 004000 OCT 004000 3942 05551 064463 OCT 064463 DST/ADR/IND 3943 05552 020064 OCT 020064 MR 3944 05553 010000 OCT 010000 3945 05554 064441 OCT 064441 DAD/ADR/IND 3946 05555 020044 OCT 020044 MR 3947 05556 014000 OCT 14000 3948 05557 064463 OCT 064463 DSB/ADR/IND
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 112

3949 05560 020042 OCT 020042 MR 3950 05561 016000 OCT 016000 3951 05562 004341 OCT 4341 CAR 3952 05563 010062 OCT 10062 GEN 3953 05564 141044 OCT 141044 3954 05565 004341 OCT 4341 CAL 3955 05566 010054 OCT 10054 GEN 3956 05567 141050 OCT 141050 3957 05570 005143 OCT 5143 ICL 3958 05571 010054 OCT 10054 GEN 3959 05572 141140 OCT 141140 3960 05573 005143 OCT 5143 ICR 3961 05574 010062 OCT 10062 GEN 3962 05575 141240 OCT 141240 3963 05576 005143 OCT 5143 ICA 3964 05577 010041 OCT 10041 GEN 3965 05600 141340 OCT 141340 3966 05601 104442 OCT 104442 DBP/POP 3967 05602 000060 OCT 60 3968 05603 0 003475 DAC DBP 3969 05604 004442 OCT 4442 DBL 3970 05605 010054 OCT 10054 GEN 3971 05606 000007 OCT 7 3972 05607 006347 OCT 6347 SGL 3973 05610 010054 OCT 10054 GEN 3974 05611 000005 OCT 5 3975 05612 005156 OCT 005156 INK 3976 05613 010053 OCT 10053 GEN 3977 05614 000043 OCT 43 3978 05615 005764 OCT 005764 OTK 3979 05616 010053 OCT 010053 GEN 3980 05617 171020 OCT 171020 3981 05620 000000 OPE BSZ 3 3982 END '400 END OF DPM2UP ABS 003250A ABSW 000406A ADRF 000424A ADV 004366A ADVD 000573A ADVP 000522A AER 000556A AERR 003736A ALFA 000460A ASMB 001152A ASTR 000721A B1 000616A B12 000622A B174 000623A B2 000617A B3 000620A B4 000621A BCE9 000604A BCER 003473A BCI 003432A BCL 003446A BCL1 003463A BEGF 004236A BES 003424A BLIN 004373A BLKS 000512A BOPS 000503A BSS 003416A BSYM 000471A BSZ 003373A BSZ1 003405A C10X 000703A C12 000626A C13 000707A C15 000627A C17 000630A C2 000624A C20 000631A C23 000632A C240 000635A C244 000636A C252 000637A C253 000640A C254 000641A C255 000642A C260 000643A C29 000633A C3 000743A C301 000644A C303 000645A C305 000646A C306 000647A C311 000650A C314 000651A C315 000652A C317 000653A C320 000654A C322 000655A C323 000656A C324 000657A
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 113

C325 000660A C326 000661A C330 000662A C332 000663A C4 000767A C520 000664A C77 000634A C7X 000625A CAL1 002626A CALL 002615A CBT1 000472A CBT2 000474A CDAT 002212A CDTA 000546A CER 000557A CERR 003741A CF1 003273A CF3 003267A CF4 003271A CF5 003267A CHR 004413A CHR2 000665A CHRC 000521A CHRD 000575A CKSG 002416A CKSM 000515A CLE 000532A CLEO 004253A CLER 001261A CLOC 000405A CM12 000666A CNTR 000412A CNV8 002023A CNV9 002022A COM 000542A COML 000502A COMM 001157A COMN 003334A COMX 000611A COMY 003732A COND 003661A COUT 003664A CPC 000545A CRP 000414A CSC1 000667A CSC2 000670A CSET 003370A CSRD 000574A CSRT 004430A CSYM 000470A CVPC 002204A D$CB 000435A D$SZ 000434A D$TP 000433A DAC 001544A DACC 002173A DACF 000432A DACX 001522A DATA 004163A DBCT 000477A DBFL 000422A DBIP 000530A DBLK 004640A DBNM 000500A DBOT 002552A DBP 003475A DBPT 000501A DBZR 002602A DCN1 000716A DCN2 000717A DCN3 000720A DCON 000715A DDD 002577A DEC 003504A DECF 000430A DELO 001363A DEND 001627A DEOT 000466A DINS 001632A DL1 002527A DL4 002547A DLC 000547A DLO9 000603A DLOC 001550A DLOP 001561A DOCT 000443A DSPT 004144A DSYM 000473A DUMP 000544A DUS 002517A DUST 000543A DWRD 001765A DXIT 001651A DXT 004245A E 000420A E1 000421A EABS 003110A ECON 003077A EDOL 003045A EDUP 003070A EER 000560A EERR 003745A EFIN 003115A EJC1 003307A EJCT 003302A ELSE 003676A EMES 000723A END 003024A ENDC 003713A ENDL 004234A ENT 002662A EQU 003314A EQU1 003315A ERCT 000413A ERD 000441A EXD 003261A EXT 002741A EXTE 002375A EXTR 002357A FAIL 003734A FDMP 003227A FER 000561A FERR 003751A FIL 004473A FILL 004242A FIN 003366A FINF 000525A FINP 000554A FINX 003175A FIRN 003204A FIRS 004221A FLDP 000704A FNDD 002604A FREE 000462A FREF 000722A FSTP 003231A GENR 001173A GO 000535A GOP 002021A HEX 003507A HEXM 001375A HLT 003127A ICON 000510A IDMS 000744A IER 000562A IERR 003755A IFM 003652A IFN 003646A IFP 003650A IFZ 003644A INDA 000425A INDF 000426A INHT 003725A INPB 004562A INPD 000714A IOOP 002044A ISCN 002505A ISCP 002512A ITST 000576A JSM 004162A JSMH 004211A KDS 000711A L1 001161A LDMP 003457A LEND 003153A LERR 003760A LET 001415A LET1 001425A LGCT 004052A LHW 000516A LIN 000553A LINE 001042A LIST 003276A LITF 000506A LITP 001427A LITS 001443A LOAD 003246A LODF 000407A LOGR 004042A LOPT 004355A LSIZ 000416A LSTD 000551A LSTW 000410A LU1 004324A LU2 004330A LUDT 004277A LXD 003264A M1 000671A M12 000676A M2 000672A M3 000673A M4 000674A M56 000710A M6 000675A M60 000712A M77 000677A MDE 001654A MDEF 003765A MDFP 000570A MERR 003767A
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 114

MESG 003156A MESL 003164A MOD 000517A MOR 003362A MR1 002112A MR5 002142A MRO 002175A MROP 002056A MRR 002171A MSK 000520A MSL1 003173A NLST 003300A NOP 004462A NUM 000445A NUM1 000446A NUM2 000447A NUM3 000450A OBT 000514A OBTD 000577A OBTX 004061A OC2P 003546A OC2W 003543A OC3W 003553A OCT 003510A OCTD 003561A OCTK 001376A OCTR 003533A OCTT 003517A OER 000563A OERR 003773A ONE 000700A OP4 005350A OPCL 004361A OPE 005620A OPF1 005540A OPS 004773A OPS1 001501A OPS2 001536A OPS3 001540A OPSR 001470A OPT 004343A OPTD 000600A OR2 003243A ORG 003240A ORG1 004247A OTBX 004676A OTPB 004544A OUTB 004675A OUTP 000713A PEND 003125A PERR 003777A PLUS 002434A PMS 000607A PMSC 002440A PNCH 004104A PND 000537A POPB 002003A POPY 002016A POUT 000523A R2 000571A R6C 003016A RBIT 000417A REG9 000602A REGL 001140A REGO 001132A REGP 001136A REL 003254A REL1 003257A RELV 000463A RERR 004006A RES 000540A RESG 001020A RESS 000550A REST 001006A ROOM 000513A RP2 003146A RRT 004135A RSG 000541A SBA 000536A SBL1 002713A SCHW 002766A SER 000564A SERR 004012A SET 003313A SETB 003342A SETC 004464A SETF 000431A SETJ 001643A SGN 000534A SGNA 002404A SGNX 002436A SHOP 002027A SIGN 000453A SIGT 000457A SKP 004164A SKPI 004202A SLST 004501A SLT1 004536A SMI 003435A SNZ 003704A SPL 003605A SSET 001003A SSYN 001752A STAR 001365A STBX 003357A STF 001445A STRT 001000A SUBC 001721A SUBF 000507A SUBP 001716A SUBR 002662A SUBX 001734A SUM 000423A SWAP 001270A SYL 000450A SYL1 000454A SYL2 000464A SYL3 000465A SYLA 001337A SYLC 000504A SYLL 001300A SYLO 001314A SYLP 000505A SYLR 000533A SYMC 000467A SYMF 000526A SYMS 004207A SZE 003632A T 000475A T136 004704A T137 004705A T236 004751A T237 004752A TAB1 004640A TAB2 004705A TAG 000427A TCMP 000476A TCND 003653A TCNT 000415A TER 000565A TERM 000444A TERR 004016A TLOC 002353A TOPS 000774A TRM1 001151A TRT 000606A TRTG 001224A TRUN 004452A TST 000461A TTLF 000411A TWOR 004227A UAC 004264A UACD 000552A UER 000610A UERR 004022A UND1 001220A UNDE 001177A UNPK 003002A UPAK 000605A VAR 002224A VARD 000612A VARF 000613A VARX 002230A VER 000566A VERR 004026A VF 000531A VFD 003565A VFD2 000477A VFD3 000500A VFD5 000701A VFD6 000702A VFD7 003623A VFD8 003573A VFD9 003625A VFDX 000501A VFDZ 003634A VFS 002244A VL1 002262A VL2 002333A VNUM 002344A VNUX 002351A VR1 002234A VSC2 001126A VSC9 000601A VSCN 001125A VVAL 002347A W2 000440A WCNT 000442A WORD 000437A WORT 000524A WSUB 001760A XAC 002642A XAC1 002652A XCHK 000555A XCK 002444A XER 000567A XERR 004032A XF1 000775A XF4 000776A XF5D 000777A
* O100-01-H101 (DPM2UP) DRAWING NO. 41286623-001-02 PAGE 115

XLV 002464A ZERR 004036A ZERX 000614A ZLOP 002477A ZP 000436A ZPT 000511A ZPTX 000527A ZSC 000572A ZSCN 002471A ZX3 000615A 0000 WARNING OR ERROR FLAGS DAP-16 MOD 2 REV. C 01-26-71
Previous File   Multiple Pages   Next File