Previous File   Multiple Pages   Next File

* 0170-001-6801 (IOS-O16X) CCD NO. 70181495000 REV. A PAGE 1

0001 * 0170-001-6801 (IOS-O16X) CCD NO. 70181495000 REV. A 0002 * 0003 * 0004 * 0005 * COMPUTER: H316, DDP-516 0006 * 0007 * 0008 * CATEGORY: ASSEMBLY 0009 * 0010 * 0011 * PROGRAM TITLE: IOS-O16X 0012 * DAP-16M2 I/O SUPERVISOR WITH DEVICE SELECTION 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, INC., COMPUTER CONTROL DIVISION 0043 * 0044 * 0045 * PURPOSE 0046 * 0047 * TO CONTROL THE I/O REQUIREMENTS OF DAP-16M2 0048 * 0049 * 0050 * STORAGE
* 0170-001-6801 (IOS-O16X) CCD NO. 70181495000 REV. A PAGE 2

0051 * 0052 * 0570 (OCTAL) 0053 * 0376 (DECIMAL) 0054 * 0055 * 0056 * USE 0057 * 0058 * THIS PROGRAM IS UTILIZED BY DAP-16M2 TO PERFORM 0059 * THE NECESSARY I/O OPERATIONS FOR AN ASSEMBLY. SOURCE, OBJECT, 0060 * AND LISTING DEVICES ARE SELECTED BY PRE-SETTING THE A-REGISTER 0061 * AS FOLLOWS: 0062 * 0063 * ***************************************************************** 0064 * : : : : : : : : : : : : : : : : : 0065 * : : : : : : : : S : S : S : O : O : O : L : L : L : 0066 * ***************************************************************** 0067 * 0068 * 0069 * WHERE 0070 * 0071 * S - SOURCE DEVICE SELECTION 0072 * 0073 * 1 = ASR INPUT 0074 * 2 = PTR INPUT 0075 * 3 = CARD INPUT 0076 * 4 = MAG TAPE INPUT 0077 * 0078 * O - OBJECT DEVICE SELECTION 0079 * 0080 * 0 = INHIBIT OBJECT OUTPUT 0081 * 1 = ASR OUTPUT 0082 * 2 = PTP OUTPUT 0083 * 3 = CARD OUTPUT 0084 * 4 = MAG TAPE OUTPUT 0085 * 0086 * L - LISTING DEVICE SELECTION 0087 * 0088 * 0 = INHIBIT LISTING OUTPUT 0089 * 1 = ASR LISTING 0090 * 2 = PTP LISTING 0091 * 3 = LP LISTING 0092 * 4 = MAG TAPE LISTING 0093 * 0094 * 0095 * MAG TAPE 0096 * 0097 * IF ANY MAG TAPES ARE BEING USED. FURTHER INFORMATION 0098 * CAN BE SUPPLIED IN THE B-REGISTER AS FOLLOWS: 0099 * 0100 *
* 0170-001-6801 (IOS-O16X) CCD NO. 70181495000 REV. A PAGE 3

0101 * ***************************************************************** 0102 * : : : : : : : : : : : : : : : : : 0103 * : A : A : B : B : C : C : C : D : E : E : E : E : E : E : E : E : 0104 * ***************************************************************** 0105 * 0106 * WHERE 0107 * 0108 * A (BITS 1+2) THESE BITS ARE USED TO INDICATE WHICH MTU NUMBER 0109 * THE INPUT SOURCE IS ON (IF THE A-REGISTER INDICATES 0110 * MAG TAPE AS THE SOURCE INPUT FILE). 0111 * DEFAULT: MTU1 IS SELECTED AS THE DEFAULT OPTION. 0112 * 0113 * B (BITS 3+4) THESE BITS ARE USED IO INDICATE WHICH MTU NUMBER 0114 * THE OBJECT OUTPUT IS ON (IF THE A-REGISTER INDICATES 0115 * MAG TAPE AS THE OBJECT OUTPUT FILE). 0116 * DEFAULT: MTU2 IS SELECTED AS THE DEFAULT OPTION. 0117 * 0118 * C (BITS 5+6) THESE BITS ARE USED TO INDICATE WHICH MTU NUMBER 0119 * THE LISTING OUTPUT IS ON (IF THE A-REGISTER INDICATES 0120 * MAG TAPE AS THE LISTING OUTPUT FILE). 0121 * DEFAULT: MTU3 IS SELECTED AS THE DEFAULT OPTION. 0122 * 0123 * D (BIT 7) THIS BIT IS USED TO INDICATE WHAT MODE 0124 * (CONTINUOUS IF SET) THE MAG TAPE INPUT IS IN. 0125 * DEFAULT: NON CONTINUOUS MODE 0126 * 0127 * IF BIT 7 IS SET. THE COMPUTER WILL HALT IMMEDIATELY 0128 * AFTER START IN ORDER TO GET A SECOND B-REGISTER 0129 * SETTING. AT THIS TIME THE NUMBER OF FILES TO BE 0130 * ASSEMBLED CONTINUOUSLY WILL BE SET IN THE 0131 * B-REGISTER (IN OCTAL). IF THE B-REGISTER IS LEFT 0132 * ZERO. ALL THE FILES WILL BE ASSEMBLED UNTIL A DOUBLE 0133 * EOF IS SENSED. AT THE COMPLETION OF A JOB. THE INPUT 0134 * MAG TAPE WILL BE REWOUND. 0135 * 0136 * NOTE: AT THE COMPLETION OF ALL JOBS. THE ORGINAL A 0137 * AND B REGISTERS ARE SAVED. IF YOU WISH TO CHANGE THE 0138 * REGISTER SETTINGS. DO SO NOW. AND THEN PUSH START. 0139 * (REMEMBER IF BIT 7 IS SET IN THE B-REGISTER AT THIS 0140 * POINT. THE COMPUTER WILL COME TO A SECOND HALT FOR 0141 * REASONS MENTIONED IN THE PREVIOUS PARAGRAPH.) 0142 * 0143 * E (BITS 9-16) THESE BITS ARE USED IO INDICATE WHICH FILE OF THE 0144 * MAG TAPE IS TO BE ASSEMBLED. 0145 * DEFAULT: START ASSEMBLING WHERE THE MAG TAPE IS 0146 * CURRENTLY POSITIONED. 0147 * 0148 * IF ANY OF THE GROUPS EQUALS ZERO. THE DEFAULT OPTIONS FOR THOSE 0149 * PARTICULAR GROUPS WILL BE SELECTED. 0150 *
* 0170-001-6801 (IOS-O16X) CCD NO. 70181495000 REV. A PAGE 4

0151 * 0152 * METHOD 0153 * 0154 * THIS PROGRAM CONSISTS OF TEN SUBROUTINES THAT 0155 * ARE UTILIZED BY DAP-16M2. THE FOLLOWING LIST GIVES 0156 * THE ROUTINE NAMES AND FUNCTIONS. 0157 * 0158 * 0159 * 1) D$IN - CALLS FOR THE INITIALIZATION OF THE 0160 * SYMBOL TABLE BY THE ROUIINE TABLESIZ. 0161 * 0162 * 2) D$OL - OUTPUTS ONE LINE OF DATA. 0163 * 0164 * 3) D$RD - READS ONE SOURCE STATEMENT 0165 * 0166 * 4) D$OB - OUPUTS ONE BLOCK OF OBJECT TEXT. 0167 * 0168 * 5) D$HD - INITIALIZES THE HEADING. 0169 * 0170 * 6) D$SOM - OUTPUTS LEADER. 0171 * 0172 * 7) D$EOM - OUTPUTS END OF MESSAGE CODE AND PUNCHS TRAILER. 0173 * 0174 * 8) D$EJ - PAGE EJECT 0175 * 0176 * 9) D$PA - HALTS WHILE ADDITIONAL SOURCE STATEMENTS 0177 * ARE LOADED...CALLED WHEN A 'MOR' PSEUDO-0P 0178 * IS ENCOUNTERED. 0179 * 0180 * 10) D$HT - END OF PASS HALT. 0181 * 0182 * 0183 * ALL ACTUAL DATA TRANSFERS ARE PERFORMED BY I/O LIBRARY 0184 * DRIVERS WHICH ARE CALLED ON BY THIS PROGRAM. 0185 * 0186 * 0187 ********************************************************************** 0188 * 0189 SUBR D$IN INITIALIZATION 0190 SUBR D$RD READ ONE SOURCE STATEMENT 0191 SUBR D$OL LIST ONE SOURCE STATEMENT 0192 SUBR D$EJ PAGE EJECT 0193 SUBR D$HD INITIALIZE HEADING 0194 SUBR D$OB OUTPUT OBJECT TEXT BLOCK 0195 SUBR D$SOM PUNCH LEADER 0196 SUBR D$EOM OUTPUT EOM CODE 0197 SUBR D$PA PAUSE 0198 SUBR D$HT END OF PASS HALT 0199 EXT ZPT 0200 EXT ZP
* 0170-001-6801 (IOS-O16X) CCD NO. 70181495000 REV. A PAGE 5

0201 REL 0202 * 0203 * LIST DEVICE CALLS 0204 * 0205 00000 100000 SKP INHIBIT 0206 00001 0 10 00000 CALL O$LL ASR 0207 00002 0 10 00000 CALL O$PL PTP 0208 00003 0 10 00000 CALL O$LA LP 0209 00004 0 01 00274 JMP MAGL MAG 0210 000005 LA EQU * 0211 * 0212 * HEADING INITIALIZATION CALLS 0213 * 0214 00005 100000 SKP INHIBIT 0215 00006 0 10 00000 CALL O$HH ASR 0216 00007 0 10 00000 CALL O$PH PTP 0217 00010 0 10 00000 CALL O$LH LP 0218 00011 100000 SKP MAG 0219 000012 LH EQU * 0220 * 0221 * PAGE EJECT CALLS 0222 * 0223 00012 101000 NOP INHIBIT 0224 00013 101000 NOP ASR 0225 00014 101000 NOP PTP 0226 00015 0 10 00000 CALL O$LE LP 0227 00016 101000 NOP MAG 0228 000017 LJ EQU * 0229 * 0230 * OBJECT OUTPUT CALLS 0231 * 0232 00017 100000 SKP INHIBIT 0233 00020 0 10 00000 CALL O$AB ASR 0234 00021 0 10 00000 CALL O$PB PTP 0235 00022 0 10 00000 CALL O$CB CARD 0236 00023 0 01 00325 JMP MAGB MAG 0237 000024 OB EQU * 0238 * 0239 * PUNCH LEADER CALLS 0240 * 0241 00024 101000 NOP INHIBIT 0242 00025 101000 NOP ASR 0243 00026 0 10 00000 CALL O$PLDR PTP 0244 00027 101000 NOP CARD 0245 00030 101000 NOP MAG 0246 000031 OF EQU * 0247 * 0248 * OUTPUT EOM CALLS 0249 * 0250 00031 101000 NOP INHIBIT
* 0170-001-6801 (IOS-O16X) CCD NO. 70181495000 REV. A PAGE 6

0251 00032 0 10 00000 CALL O$AS ASR 0252 00033 0 10 00000 CALL O$PS PTP 0253 00034 0 10 00000 CALL O$CS CARD 0254 00035 101000 NOP MAG 0255 000036 OS EQU * 0256 * 0257 * SOURCE INPUT CALLS 0258 * 0259 00036 0 10 00000 CALL I$AA ASR 0260 00037 0 10 00000 CALL I$PA PTR 0261 00040 0 10 00000 CALL I$CA CARD 0262 00041 0 01 00231 JMP MAGI MAG 0263 000042 IB EQU * 0264 * 0265 00042 0 10 00000 AJSH CALL O$AH 0266 00043 0 10 00000 AJSL CALL O$AL 0267 * 0268 EJCT . . . . . . . . . . . . . . . . . . . .
* 0170-001-6801 (IOS-O16X) CCD NO. 70181495000 REV. A PAGE 7

0269 * 0270 * D$IN: INITIALIZATION 0271 * 0272 * 0273 00044 0 000000 D$IN DAC ** 0274 00045 0 04 00536 STA T111 SAVE A REGSITER SETTING 0275 00046 0 04 00537 STA DEVD 0276 00047 0 10 00000 CALL TBLSIZ SET UP THE SYMBOL TABLE 0277 00050 0 02 00000 LDA ZPT CHECK FOR ASSEMBLY PASS 0278 00051 101400 SMI 0279 00052 0 01 00056 JMP SPEC GO FIND THE FILE 0280 00053 0 02 00000 LDA ZP CHECK FOR SPECIAL 0281 00054 101400 SMI 0282 00055 0 01 00127 JMP GOAS GO ASSEMBLE 0283 00056 000201 SPEC IAB GET THE B REGISTER SETTING 0284 00057 0 04 00540 STA TMP2 SAVE IT 0285 00060 0414 72 LGL 6 GET THE CONTINUATION BIT 0286 00061 0 04 00541 STA B7 SAVE IT 0287 00062 101400 SMI IS IT ON 0288 00063 0 01 00101 JMP EEE NO - OMIT CONTINUATION PROCESSOR 0289 00064 0 02 00542 LDA TAB IS THIS THE FIRST TIME THROUGH 0290 00065 100040 SZE SKIP IF IT IS 0291 00066 0 01 00127 JMP GOAS NO - GO ASSEMBLE 0292 00067 140040 HHH CRA YES - GET SECOND B REGISTER SETTING 0293 00070 000201 IAB 0294 00071 000000 HLT ALLOW OPERATOR TO SET FILE COUNT 0295 00072 000201 IAB PLACE IT IN A 0296 00073 0 04 00543 STA TTT SAVE IT FOR FUTURE REFERENCE 0297 00074 140407 TCA 0298 00075 0 04 00544 STA COUN SAVE IT FOR COUNTING 0299 00076 0 02 00227 LDA NOP1 0300 00077 0 04 00407 STA HL1 0301 00100 0 04 00542 STA TAB MAKE TAB NON ZERO 0302 00101 0 02 00537 EEE LDA DEVD PICK UP THE I/O OPTIONS 0303 00102 0414 71 LGL 7 A(1) WILL BE SET IF MAG INPUT WAS SELECTED 0304 00103 101400 SMI SKIP IF MAG INPUT 0305 00104 0 01 00127 JMP GOAS NO - GET OUT 0306 00105 0 02 00540 LDA TMP2 GET THE B REGISTER SETTING 0307 00106 0404 62 LGR 14 PUT MTU NUMBER IN BITS 15 AND 16 0308 00107 101040 SNZ IF ZERO, USE MTU 1 0309 00110 141206 AOA 0310 00111 0 04 00125 STA KEM5 SAVE MTU NUMBER 0311 00112 0 02 00540 LDA TMP2 GET B AGAIN 0312 00113 0 03 00573 ANA ='777 ISOLATE STARTING FILE NUMBER 0313 00114 101040 SNZ IF ZERO, WE ARE AT THE RIGHT PLACE 0314 00115 0 01 00127 JMP GOAS NO POSITIONING REQUIRED 0315 00116 0 04 00545 STA TMP3 STORE FILE NUMBER 0316 00117 140407 TCA COMPLEMENT FILE NUMBER FOR COUNTING 0317 00120 0 04 00546 STA KEM6 SET COUNTER 0318 00121 0 12 00546 TT IRS KEM6 ARE WE AT THE DESIRED FILE
* 0170-001-6801 (IOS-O16X) CCD NO. 70181495000 REV. A PAGE 8

0319 00122 100000 SKP NO - FORWARD SPACE A FILE 0320 00123 0 01 00127 JMP GOAS YES - START ASSEMBLY 0321 00124 0 10 00000 GAT CALL C$FF FORWARD FILE 0322 00125 0 00 00000 KEM5 *** ** ON SPECIFIED MTU 0323 00126 0 01 00121 JMP TT 0324 00127 0 02 00537 GOAS LDA DEVD GET THE A REGISTER SETTING 0325 00130 0 03 00557 ANA C7 MASK FOR LIST DEVICE CODE 0326 00131 0 07 00560 SUB C5 IF VALID CODE, IT NOW WILL BE NEGATIVE 0327 00132 101400 SMI SKIP IF VALID CODE 0328 00133 0 02 00561 LDA M4 INVALID CODE - FORCE ASR LISTING 0329 00134 0 04 00547 STA LDEV SAVE LIST DEVICE CODE 0330 00135 0 04 00000 STA 0 PLACE DEVICE CALL POINTER IN INDEX 0331 00136 1 02 00012 LDA LH,1 PICK UP HEADING INITIALIZATION CALL 0332 00137 0 04 00347 STA LHP PLACE THE CALL IN THE D$HD ROUTINE 0333 00140 1 02 00005 LDA LA,1 PICK UP LISTING CALL 0334 00141 0 04 00271 STA LAP PLACE THE CALL IN THE D$OL ROUTINE 0335 00142 1 02 00017 LDA LJ,1 PICK UP PAGE EJECT CALL 0336 00143 0 04 00353 STA LJP PUT THE CALL IN THE D$EJ ROUTINE 0337 00144 0 02 00537 LDA DEVD PICK UP THE DEVICE CODES 0338 00145 0404 75 LGR 3 POSITION OBJECT DEVICE SELECTION CODE 0339 00146 0 03 00557 ANA C7 ELIMINATE ANY OTHER BITS 0340 00147 0 07 00560 SUB C5 IF GOOD CODE, A IS NOW NEGATIVE 0341 00150 101400 SMI SKIP IF VALID CODE 0342 00151 0 02 00561 LDA M4 INVALID CODE - FORCE ASR OBJECT 0343 00152 0 04 00000 STA 0 INDEX MODIFIED DEVICE CALL POINTER 0344 00153 1 02 00024 LDA OB,1 PICK UP OUTPUT OBJECT BLOCK CALL 0345 00154 0 04 00320 STA OBP PUT CALL IN D$OB ROUTINE 0346 00155 1 02 00031 LDA OF,1 PICK UP OBJECT INITIALIZATION CALL 0347 00156 0 04 00356 STA BEGF PLACE IT IN D$SOM ROUTINE 0348 00157 1 02 00036 LDA OS,1 PICK UP OUTPUT EOM CALL 0349 00160 0 04 00363 STA ENDF PLACE IT IN D$EOM ROUTINE 0350 00161 0 02 00537 LDA DEVD GET DEVICE SELECTION CODES 0351 00162 0404 72 LGR 6 POSITION SOURCE SELECTION CODE 0352 00163 0 03 00557 ANA C7 CLEAR OTHER BITS 0353 00164 101040 SNZ SKIP IF A DEVICE HAS BEEN SELECTED 0354 00165 141206 AOA OTHERWISE SOURCE IS FROM ASR 0355 00166 0 07 00560 SUB C5 A SHOULD BE MINUS IF VALID CODE 0356 00167 101400 SMI SKIP IF VALID CODE 0357 00170 0 02 00561 LDA M4 OTHERWISE INPUT FROM THE ASR 0358 00171 0 04 00000 STA 0 INDEX MODIFIED DEVICE SELECTION CODE 0359 00172 1 02 00042 LDA IB,1 PICK UP INPUT SOURCE CALL 0360 00173 0 04 00225 STA IBP PLACE IT IN D$RD ROUTINE 0361 00174 0 02 00000 LDA 0 CHECK FOR SOURCE FROM ASR 0362 00175 0 06 00562 ADD C4 0363 00176 100040 SZE SKIP IF IT IS 0364 00177 0 01 00210 JMP AJGO NO - NO SPECIAL MODIFICATIONS REQUIRED 0365 00200 0 06 00547 ADD LDEV CHECK FOR LISTING ALSO ON ASR 0366 00201 0 06 00562 ADD C4 0367 00202 100040 SZE SKIP IF IT IS 0368 00203 0 01 00210 JMP AJGO LISTING IS ON SOMETHING ELSE
* 0170-001-6801 (IOS-O16X) CCD NO. 70181495000 REV. A PAGE 9

0369 00204 0 02 00042 LDA AJSH BOTH SOURCE AND LISTING USE 0370 00205 0 04 00347 STA LHP ASR - MODIFY THE LISTING 0371 00206 0 02 00043 LDA AJSL CALLS TO OBTAIN A PROPERLY 0372 00207 0 04 00271 STA LAP FORMATTED LISTING. 0373 00210 0 02 00537 AJGO LDA DEVD FETCH PARAMETER SETTINGS 0374 00211 140401 CMA COMPLEMENT ALL THE FLAGS 0375 00212 0 03 00565 ANA MASK ISOLATE HALT FLAG 0376 00213 100040 SZE SKIP IF HALTS ARE REQUESTED 0377 00214 0 02 00227 LDA NOP1 OTHERWISE THE SWITCH WILL BE A NOP 0378 00215 0 04 00503 STA STOP SET THE SWITCH TO NOP OR HLT 0379 00216 140040 CRA CLEAR THE MAG. TAPE FLAGS 0380 00217 0 04 00550 STA MTF1 0381 00220 0 04 00551 STA MTF2 0382 00221 0 04 00552 STA MWF1 0383 00222 0 04 00553 STA MWF2 0384 00223 -0 01 00044 JMP* D$IN RETURN TO THE ASSEMBLER 0385 * 0386 * D$RD: READ ONE SOURCE STATEMENT 0387 * 0388 00224 0 000000 D$RD DAC ** 0389 00225 0 00 00000 IBP *** ** CALL TO SOURCE INPUT DEVICE 0390 00226 0 000000 XAC INPB BUFFER ADDRESS 0391 00227 101000 NOP1 NOP 0392 00230 -0 01 00224 JMP* D$RD RETURN 0393 * 0394 00231 0 12 00550 MAGI IRS MTF1 SET READ FLAG 0395 00232 0 02 00125 LDA KEM5 FETCH MTU NO. 0396 00233 0 04 00243 STA MTIN PUT IN CALLING SEQUENCE 0397 00234 0 04 00415 STA DIP SAVE FOR BACKSPACING FILES 0398 00235 0 04 00437 STA DIP1 SAVE FOR BACKSPACING RECORDS 0399 00236 0 04 00442 STA DIP2 SAVE FOR FORWARD FILING 0400 00237 0 04 00500 STA REWI SAVE FOR TAPE REWIND 0401 00240 0 10 00000 CALL I$MA READ RECORD FROM MAG TAPE 0402 00241 0 000000 XAC INPB INPUT BUFFER 0403 00242 000050 DEC 40 40 WORD BUFFER 0404 00243 0 00 00000 MTIN *** ** MTU NO. 0405 00244 0 01 00530 JMP PERR UNREADABLE RECORD 0406 00245 0 01 00255 JMP EOTR END OF TAPE RETURN 0407 00246 0 01 00257 JMP MTU END OF FILE RETURN 0408 00247 140040 CRA 0409 00250 0 04 00554 STA ETAB RESET EOF FLAG 0410 00251 0 10 00000 CALL C$6TO8 CONVERT INPUT DATA TO ASCII CODE 0411 00252 0 000000 XAC INPB INPUT BUFFER ADDRESS 0412 00253 0 000050 DAC 40 0413 00254 -0 01 00224 JMP* D$RD RETURN 0414 * 0415 00255 0 10 00505 EOTR JST EOT REPORT EOI CONDITION TO OPERATOR 0416 00256 0 01 00247 JMP MTIN+4 GO FINISH PROCESSING THE RECORD 0417 * 0418 *
* 0170-001-6801 (IOS-O16X) CCD NO. 70181495000 REV. A PAGE 10

0419 * MTU : END OF FILE PROCESSOR 0420 * 0421 * 0422 00257 0 02 00554 MTU LDA ETAB CHECK FOR PRECEEDING EOF 0423 00260 100040 SZE IF ZERO. THIS IS FIRST EOF 0424 00261 0 01 00266 JMP FIX1 DOUBLE EOF - WRAP UP JOB 0425 00262 140401 CMA SET ETAB NON ZERO 0426 00263 0 04 00554 STA ETAB 0427 00264 0 12 00551 IRS MTF2 INCREMENT FILE/PROGRAM COUNTER 0428 00265 0 01 00240 JMP MTIN-3 GO READ NEXT RECORD 0429 00266 0 04 00555 FIX1 STA LOC SET DOUBLE EOF INDICATOR 0430 00267 0 01 00453 JMP E222 JOB IS DONE 0431 * 0432 * 0433 EJCT . . . . . . . . . . . . . . .
* 0170-001-6801 (IOS-O16X) CCD NO. 70181495000 REV. A PAGE 11

0434 * 0435 * D$OL: LIST ONE LINE OF DATA 0436 * 0437 00270 0 000000 D$OL DAC ** 0438 00271 0 00 00000 LAP *** ** CALL TO LISTING DEVICE DRIVER 0439 00272 0 000000 XAC OTPB LIST BUFFER ADDRESS 0440 00273 -0 01 00270 JMP* D$OL RETURN 0441 * 0442 00274 0 02 00540 MAGL LDA TMP2 FETCH INITIAL B REGISTER SETTING 0443 00275 0404 66 LGR 10 ISOLATE LIST MTU NO. 0444 00276 0 03 00572 ANA =3 0445 00277 101040 SNZ IF ZERO, USE MTU 3 0446 00300 0 02 00572 LDA =3 0447 00301 0 04 00312 STA MTLN PLACE MTU NO. IN CALLING SEQUENCE 0448 00302 0 04 00432 STA MTEL SAVE IT FOR EOF CALL 0449 00303 0 12 00553 IRS MWF2 SET BCD WHITE FLAG 0450 00304 0 10 00000 CALL C$8TO6 CONVERT TO 6 BIT CODE 0451 00305 0 000000 XAC OTPB BUFFER ADDRESS 0452 00306 000074 DEC 60 60 WORD BUFFER 0453 00307 0 10 00000 CALL O$MA WRITE BCD 0454 00310 0 000000 XAC OTPB BUFFER ADDRESS 0455 00311 000074 DEC 60 60 WORD BUFFER 0456 00312 0 00 00000 MTLN *** ** LIST MTU NO. 0457 00313 0 10 00505 JST EOT END OF TAPE RETURN 0458 00314 -0 01 00270 JMP* D$OL RETURN 0459 * 0460 * 0461 EJCT . . . . . . . . . . . .
* 0170-001-6801 (IOS-O16X) CCD NO. 70181495000 REV. A PAGE 12

0462 * 0463 * D$OB: OUTPUT OBJECT TEXT BLOCK 0464 * 0465 00315 0 000000 D$OB DAC ** 0466 00316 0 02 00563 LDA HIGH SET A(1-8) TO INDICATE PUNCH ON 0467 00317 0 10 00502 JST HALT 0468 00320 0 00 00000 OBP *** ** CALL TO OBJECT TEXT DEVICE 0469 00321 0 000000 XAC OUTB ADDRESS OF OBJECT TEXT BUFFER 0470 00322 0 02 00564 LDA LOW SET A(9-16) TO INDICATE PUNCH OFF 0471 00323 0 10 00502 JST HALT HALT IF ASR-33 IS USED 0472 00324 -0 01 00315 JMP* D$OB RETURN 0473 * 0474 00325 0 02 00540 MAGB LDA TMP2 FETCH FIRST B REGISTER SETTING 0475 00326 0404 64 LGR 12 ISOLATE OBJECT MTU NO. 0476 00327 0 03 00572 ANA =3 0477 00330 101040 SNZ IF ZERO, USE MTU NO. 2 0478 00331 0 02 00571 LDA =2 0479 00332 0 04 00342 STA MTBN PLACE IT IN CALLING SEUUENCE 0480 00333 0 04 00425 STA MTEB SAVE IT FOR EOF OUTPUT 0481 00334 0 12 00552 IRS MWF1 SET BINARY WRITE FLAG 0482 00335 -0 02 00345 LDA* MBXC FETCH WORD COUNT OF BLOCK 0483 00336 0 04 00341 STA MWB PLACE IT IN THE CALLING SEQUENCE 0484 00337 0 10 00000 CALL O$MC WRITE IN BINARY MODE 0485 00340 0 000000 XAC OTBX BUFFER ADDRESS 0486 00341 0 00 00000 MWB *** ** WORD COUNT OF BLOCK 0487 00342 0 00 00000 MTBN *** ** MTU NO. 0488 00343 0 10 00505 JST EOT END OF TAPE RETURN 0489 00344 -0 01 00315 JMP* D$OB EXIT 0490 * 0491 00345 0 000000 MBXC XAC OUTB ADDRESS OF WORD CONTAINING BLOCK COUNT 0492 * 0493 * 0494 EJCT ...................................................
* 0170-001-6801 (IOS-O16X) CCD NO. 70181495000 REV. A PAGE 13

0495 * 0496 * D$HD: INITIALIZE HEADING 0497 * 0498 00346 0 000000 D$HD DAC ** 0499 00347 0 00 00000 LHP *** ** CALL TO HEADING INITIALIZATION ROUTINE 0500 00350 0 000000 XAC OTPB BUFFER ADDRESS 0501 00351 -0 01 00346 JMP* D$HD RETURN 0502 * 0503 * 0504 * D$EJ: PAGE EJECT 0505 * 0506 * 0507 00352 0 000000 D$EJ DAC ** 0508 00353 0 00 00000 LJP *** ** CALL TO PAGE EJECT ROUTINE 0509 00354 -0 01 00352 JMP* D$EJ EXIT 0510 * 0511 * 0512 * D$SOM: OUTPUT LEADER IF PTP IS OBJECT DEVICE 0513 * 0514 00355 0 000000 D$SO DAC ** 0515 00356 0 00 00000 BEGF *** ** NOP OR CALL O$PLDR 0516 00357 -0 01 00355 JMP* D$SO EXIT 0517 * 0518 * 0519 * D$EOM: OUTPUT EOM CODE TO OBJECT DEVICE 0520 * 0521 00360 0 000000 D$EO DAC ** 0522 00361 0 02 00563 LDA HIGH TURN ON PUNCH INDICATOR 0523 00362 0 10 00502 JST HALT HALT IF ASR-33 IS OBJECT DEVICE 0524 00363 0 00 00000 ENDF *** ** OUTPUT EOM CODE GOES HERE 0525 00364 0 02 00564 LDA LOW TURN OFF PUNCH INDICATOR 0526 00365 0 10 00502 JST HALT 0527 00366 0 10 00355 JST D$SO OUTPUT TRAILER IF PTP IS OBJECT DEVICE 0528 00367 -0 01 00360 JMP* D$EO EXIT 0529 * 0530 * 0531 EJCT . . . . . . . . .
* 0170-001-6801 (IOS-O16X) CCD NO. 70181495000 REV. A PAGE 14

0532 * 0533 * D$PA: PAUSE 0534 * 0535 * 0536 00370 0 000000 D$PA DAC ** 0537 00371 0 02 00550 LDA MTF1 IF INPUT HAS BEEN COMING FROM MAG. 0538 00372 101040 SNZ THE 'MOR' CARD SHOULD BE IGNORED 0539 00373 000000 HLT HALT - NOT MAG INPUT 0540 00374 -0 01 00370 JMP* D$PA EXIT 0541 * 0542 * 0543 * D$HT: END OF PASS HALT 0544 * 0545 * 0546 00375 0 000000 D$HT DAC ** 0547 00376 0 02 00000 LDA ZP FETCH PASS INDICATOR 0548 00377 101400 SMI SKIP IF PASS ONE OF A TWO PASS ASSEMBLY 0549 00400 0 01 00421 JMP EN2 GO WRAP UP OUTPUT PASS 0550 00401 0 02 00550 LDA MTF1 CHECK FOR INPUT FROM MAG TAPE 0551 00402 100040 SZE SKIP IF NOT 0552 00403 0 01 00411 JMP BKSP GO POSITION MAG TAPE FOR NEXT PASS 0553 00404 0 02 00540 HLT1 LDA TMP2 BEFORE WE HALT, SET THE A + B REGISTERS 0554 00405 000201 IAB TO THEIR INITIAL SETTINGS 0555 00406 0 02 00536 LDA T111 0556 00407 000000 HL1 HLT END OF PASS HALT 0557 00410 -0 01 00375 JMP* D$HT RETURN FOR PASS TWO 0558 00411 0 02 00551 BKSP LDA MTF2 MTF2 CONTAINS NUMBER OF FILES PASSED 0559 00412 140401 CMA THROUGH BEFORE 'END' CARD 0560 00413 0 04 00551 STA MTF2 SAVE POSITIONING COUNTER 0561 00414 0 10 00000 CALL C$BF BACKSPACE ONE FILE 0562 00415 0 00 00000 DIP *** ** INPUT MTU NO. 0563 00416 0 12 00551 IRS MTF2 INCREMENT POSITIONING COUNTER 0564 00417 0 01 00414 JMP *-3 IF NO OVERFLOW, BACKSPACE ANOTHER FILE 0565 00420 -0 01 00375 JMP* D$HT RETURN FOR PASS TWO 0566 00421 0 02 00552 EN2 LDA MWF1 TEST FOR MAG TAPE OBJECT 0567 00422 101040 SNZ SKIP IF OBJECT HAS GONE TO MAG 0568 00423 0 01 00426 JMP P1 NO 0569 00424 0 10 00000 CALL O$ME PLACE AN EOF MARK AT END OF OBJECT 0570 00425 0 00 00000 MTEB *** ** OBJECT TEXT MTU N3. 0571 00426 0 02 00553 P1 LDA MWF2 FETCH MAG LISTING FLAG 0572 00427 101040 SNZ SKIP IF LISTING IS FROM MAG TAPE 0573 00430 0 01 00433 JMP P2 NO 0574 00431 0 10 00000 CALL O$ME YES - PLACE EOF MARK AT END OF LISTING 0575 00432 0 00 00000 MTEL *** ** LIST MTU NO. 0576 00433 0 02 00550 P2 LDA MTF1 CHECK FOR MAG INPUT 0577 00434 101040 SNZ SKIP IF INPUT HAS BEEN FROM MAG 0578 00435 0 01 00443 JMP AJT1 0579 00436 0 10 00000 FSKF CALL C$BR BACKSPACE OVER END CARD 0580 00437 0 00 00000 DIP1 *** *** INPUT MTU NO. 0581 00440 101000 NOP IGNORE EOF RETURN
* 0170-001-6801 (IOS-O16X) CCD NO. 70181495000 REV. A PAGE 15

0582 00441 0 10 00000 CALL C$FF FORWARD SPACE TO NEXT FILE 0583 00442 0 00 00000 DIP2 *** ** 0584 00443 0 02 00566 AJT1 LDA CRLF ADVANCE LINE ON ASR 0585 00444 0 10 00515 JST TYPE 0586 00445 0 02 00567 LDA AC PRINT END OF ASSEMBLY MESSAGE 0587 00446 0 10 00515 JST TYPE 0588 00447 0 02 00566 LDA CRLF ADVANCE LINE ON ASR 0589 00450 0 10 00515 JST TYPE 0590 00451 14 0102 OCP '102 ENSURE THAT THE PUNCH POWER IS OFF 0591 00452 101000 EHLT NOP 0592 00453 0 02 00541 E222 LDA B7 FETCH CONTINUOUS ASSEMBLY FLAG 0593 00454 101400 SMI SKIP IF IN CONTINUOUS MODE 0594 00455 0 01 00473 JMP MR NO - REWIND THE TAPE AND HALT 0595 00456 0 02 00543 LDA TTT FETCH FILE COUNT 0596 00457 101040 SNZ SKIP IF A FIXED LIMIT 0597 00460 0 01 00464 JMP ECHK NO GO TO DOUBLE EOF CHECK 0598 00461 0 12 00544 IRS COUN INCREMENT FILE COUNTER 0599 00462 0 01 00404 JMP HLT1 COUNT NOT ZERO - EXIT 0600 00463 0 01 00467 JMP FIX GO WRAP UP PROCESSING 0601 00464 0 02 00555 ECHK LDA LOC GET EOF FLAG 0602 00465 101040 SNZ SKIP IF DOUBLE EOF 0603 00466 0 01 00404 JMP HLT1 SINGLE EOV - CONTINUE 0604 00467 140040 FIX CRA 0605 00470 0 04 00555 STA LOC CLEAR EOF FLAG 0606 00471 0 04 00407 STA HL1 RESET HALT INSTRUCTION 0607 00472 0 04 00542 STA TAB RESET TAB 0608 00473 0 02 00536 MR LDA T111 FETCH A REGISTER SETTING 0609 00474 0414 71 LGL 7 A(1) MAG TAPE INPUT BIT 0610 00475 101400 SMI SKIP IF MAG INPUT 0611 00476 0 01 00404 JMP HLT1 NO - SKIP THE REWIND 0612 00477 0 10 00000 CALL C$MR REWIND THE INPUT TAPE 0613 00500 0 00 00000 REWI *** ** INPUT MTU NO. 0614 00501 0 01 00404 JMP HLT1 END OF ASSEMBLY 0615 * 0616 * HALT: HALT IF ASR-33 IS USED 0617 * 0618 * 0619 00502 0 000000 HALT DAC ** 0620 00503 0 00 00000 STOP *** HLT OR NOP 0621 00504 -0 01 00502 JMP* HALT RETURN 0622 * 0623 * 0624 * EOT : END OF TAPE DETECTED 0625 * 0626 00505 0 000000 EOT DAC ** 0627 00506 0 02 00514 LDA EOTM PRINT EOT MESSAGE 0628 00507 0 10 00515 JST TYPE 0629 00510 0 02 00566 LDA CRLF ADVANCE LINE 0630 00511 0 10 00515 JST TYPE 0631 00512 000000 HLT WAIT FOR OPERATOR ACTION
* 0170-001-6801 (IOS-O16X) CCD NO. 70181495000 REV. A PAGE 16

0632 00513 -0 01 00505 JMP* EOT RETURN IF RESTARTED 0633 * 0634 00514 142724 EOTM BCI 1,ET 0635 * 0636 * 0637 * 0638 * TYPE: TYPE TWO CHARACTERS ON ASR 0639 * 0640 * 0641 00515 0 000000 TYPE DAC ** 0642 00516 34 0104 SKS '104 WAIT FOR ASR TO GO NOT BUSY 0643 00517 0 01 00516 JMP *-1 0644 00520 14 0104 OCP '104 ENABLE ASR IN OUTPUT MODE 0645 00521 141340 ICA POSITION FIRST CHARACTER 0646 00522 74 0004 OTA '4 OUTPUT FIRST CHARACTER 0647 00523 0 01 00522 JMP *-1 0648 00524 141340 ICA POSITION SECOND CHARACTER 0649 00525 74 0004 OTA '4 OUTPUT SECOND CHARACTER 0650 00526 0 01 00525 JMP *-1 0651 00527 -0 01 00515 JMP* TYPE RETURN 0652 * 0653 * 0654 * 0655 * PERR: INPUT PARITY ERROR DETECTE 0656 * 0657 00530 0 02 00570 PERR LDA PAR OUTPUT PARITY ERROR MESSAGE 0658 00531 0 10 00515 JST TYPE 0659 00532 0 02 00566 LDA CRLF ADVANCE LINE 0660 00533 0 10 00515 JST TYPE 0661 00534 000000 HLT WAIT FOR OPERATOR ACTION 0662 00535 0 01 00247 JMP MTIN+4 RETURN TO PROCESS BAD RECORD 0663 * 0664 * 0665 00536 000000 T111 BSZ 1 0666 00537 000000 DEVD BSZ 1 0667 00540 000000 TMP2 BSZ 1 0668 00541 000000 B7 BSZ 1 0669 00542 000000 TAB BSZ 1 0670 00543 000000 TTT BSZ 1 0671 00544 000000 COUN BSZ 1 0672 00545 000000 TMP3 BSZ 1 0673 00546 000000 KEM6 BSZ 1 0674 00547 000000 LDEV BSZ 1 0675 00550 000000 MTF1 BSZ 1 0676 00551 000000 MTF2 BSZ 1 0677 00552 000000 MWF1 BSZ 1 0678 00553 000000 MWF2 BSZ 1 0679 00554 000000 ETAB BSZ 1 0680 00555 000000 LOC BSZ 1 0681 00556 000001 ONE OCT 1
* 0170-001-6801 (IOS-O16X) CCD NO. 70181495000 REV. A PAGE 17

0682 00557 000007 C7 OCT 7 0683 00560 000005 C5 OCT 5 0684 00561 177774 M4 OCT -4 0685 00562 000004 C4 OCT 4 0686 00563 177400 HIGH HEX FF00 0687 00564 000377 LOW HEX 00FF 0688 00565 004000 MASK HEX 800 0689 00566 106612 CRLF VFD 8,'215,8,'212 0690 00567 140703 AC BCI 1,AC 0691 00570 150305 PAR BCI 1,PE 0692 00571 000002 END END OF IOS-O16X 00572 000003 00573 000777 AC 000567 AJGO 000210 AJSH 000042 AJSL 000043 AJT1 000443 B7 000541 BEGF 000356 BKSP 000411 C4 000562 C5 000560 C7 000557 COUN 000544 CRLF 000566 D$EJ 000352 D$EO 000360 D$HD 000346 D$HT 000375 D$IN 000044 D$OB 000315 D$OL 000270 D$PA 000370 D$RD 000224 D$SO 000355 DEVD 000537 DIP 000415 DIP1 000437 DIP2 000442 E222 000453 ECHK 000464 EEE 000101 EHLT 000452 EN2 000421 ENDF 000363 EOT 000505 EOTM 000514 EOTR 000255 ETAB 000554 FIX 000467 FIX1 000266 FSKF 000436 GAT 000124 GOAS 000127 HALT 000502 HHH 000067 HIGH 000563 HL1 000407 HLT1 000404 IB 000042 IBP 000225 KEM5 000125 KEM6 000546 LA 000005 LAP 000271 LDEV 000547 LH 000012 LHP 000347 LJ 000017 LJP 000353 LOC 000555 LOW 000564 M4 000561 MAGB 000325 MAGI 000231 MAGL 000274 MASK 000565 MBXC 000345 MR 000473 MTBN 000342 MTEB 000425 MTEL 000432 MTF1 000550 MTF2 000551 MTIN 000243 MTLN 000312 MTU 000257 MWB 000341 MWF1 000552 MWF2 000553 NOP1 000227 OB 000024 OBP 000320 OF 000031 ONE 000556 OS 000036 P1 000426 P2 000433 PAR 000570 PERR 000530 REWI 000500 SPEC 000056 STOP 000503 T111 000536 TAB 000542 TMP2 000540 TMP3 000545 TT 000121 TTT 000543 TYPE 000515 ZP 000000E ZPT 000000E 0000 WARNING OR ERROR FLAGS DAP-16 MOD 2 REV. C 01-26-71
Previous File   Multiple Pages   Next File