ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:10 2020 Source File: \u5dmtd0.asm CALL DMTD0 2 | *************************************************** U5B00020 3 | * * U5B00030 4 | * SUBROUTINE NAME- * U5B00040 5 | * FULL NAME- SELECTIVE DUMP ON TYPEWRITER * U5B00050 6 | * CODE NAME- DMTD0 * U5B00060 7 | * - DMTX0 * U5B00070 8 | * PURPOSE- * U5B00080 9 | * THIS 1130 SUBROUTINE DUMPS SELECTED AREAS * U5B00090 10 | * OF MEMORY IN HEXIDECIMAL OR DECIMAL ALONG * U5B00100 11 | * WITH STATUS IN FORMATION CONCERNING THE * U5B00110 12 | * ACCUM.,EXTENSION,INDEX REGISTERS AND * U5B00120 13 | * OVERFLOW AND CARRY INDICATORS.THE TYPE OF * U5B00130 14 | * DUMP,HEX OR DECIMAL IS SPECIFIED BY THE * U5B00140 15 | * CALL, DMTX0 FOR HEX AND DMTD0 DECIMAL. * U5B00150 16 | * THE LINKAGE TO THE SUBROUTINE IS- * U5B00160 17 | * CALL DMTX0(DMTD0) * U5B00170 18 | * DC START * U5B00180 19 | * DC END * U5B00190 20 | * WHERE .START. AND .END. ARE THE STARTING * U5B00200 21 | * AND ENDING PARAMETERS OF THE DUMP. * U5B00210 22 | * METHOD- N/A * U5B00220 23 | * CAPABILITIES AND LIMITATIONS- N/A * U5B00230 24 | * * U5B00240 25 | *************************************************** U5B00250 26 | ENT DMTD0 U5B00260 27 | ENT DMTX0 U5B00270 28 | * SELECTIVE DUMP 1053 TYPEWRITER U5B00280 29 | * U5B00290 30 | * U5B00300 31 | * U5B00310 32 | * SELECTIVE DUMP ROUTINE FOR 1053 TYPEWRITER U5B00320 33 | * THIS IS A LIBRARY SUBROUTINE DESIGNED TO DUMP U5B00330 34 | * SELECTED AREAS OF MEMORY WHILE EXECUTING AN U5B00340 35 | * OBJECT PROGRAM WITH A RETURN TO THE MAINLINE U5B00350 36 | * PROGRAM. U5B00360 37 | * DMTX0 IS THE HEXADECIMAL ENTRY TO THIS SUBROUTINE U5B00370 38 | * DMTD0 IS THE DECIMAL ENTRY U5B00380 39 | * LINKAGES TO THE SUBROUTINE ARE U5B00390 40 | * CALL DMTX0 (DMTD0) U5B00400 41 | * DC A (STARTING ADDRESS) U5B00410 42 | * DC B (ENDING ADDRESS) U5B00420 43 | * A AND B ARE SYMBOLIC OR ACTUAL OPERANDS U5B00430 44 | * REPRESENTING THE STARTING AND ENDING ADDRESSES U5B00440 45 | * OF THE DUMP U5B00450 46 | * U5B00460 47 | * U5B00470 48 | * U5B00480 49 | * U5B00490 0000 1000 50 | DMTD0 NOP U5B00500 0001 D806 51 | STD AREG SAVE ACC AND EXT U5B00510 0002 C0FD 52 | LD DMTYD LOAD LINK U5B00520 0003 D06D 53 | STO DMTYX STORE U5B00530 0004 C017 54 | LD DCIND DECIMAL INDICATOR U5B00540 0005 D015 55 | STO MODE STORE IN MODE U5B00550 0006 706E 56 | MDX STORE GO SAVE CONDITIONS U5B00560 57 | * U5B00570 58 | * U5B00580 59 | * THE FOLLOWING REGISTERS ARE STORED SO THAT U5B00590 60 | * THEIR STATUS UPON ENTRY INTO THIS ROUTINE U5B00600 61 | * WILL NOT BE DISTROYED BUT WILL BE LISTED AS U5B00610 62 | * THE FIRST LINE OF THE DUMP. UPON THE U5B00620 63 | * COMPLETION OF THE DUMP, THE REGISTERS WILL U5B00630 64 | * BE RESET UPON EXIT FROM THE DUMP ROUTINE. U5B00640 65 | * U5B00650 66 | * U5B00660 0008 67 | BSS E 0 SET NEXT ADDRESS EVEN U5B00670 0008 0000 68 | AREG DC 0 ACCUMULATOR U5B00680 0009 0000 69 | QREG DC 0 Q REGISTER U5B00690 000A 0000 70 | IRONE DC 0 INDEX REGISTER ONE U5B00700 000B 0000 71 | IRTWO DC 0 INDEX REGISTER TWO U5B00710 000C 0000 72 | IRTHR DC 0 INDEX REGISTER THREE U5B00720 73 | * U5B00730 74 | * U5B00740 75 | * CONSTANTS FOR ADDRESSING ERROR BY USER U5B00750 76 | * U5B00760 77 | * U5B00770 000D 0009 78 | ERROR DC 9 NUMBER OF WORDS TO BE PRNT U5B00780 000E 8121 79 | DC /8121 CARRIER RETURN AND SPACE U5B00790 000F 3662 80 | DC /3662 LETTERS .E. AND .R. U5B00800 0010 6252 81 | DC /6252 LETTERS .R. AND .O. U5B00810 0011 6221 82 | DC /6221 LETTERS .R. AND SPACE U5B00820 0012 2276 83 | DC /2276 LETTERS .I. AND .N. U5B00830 0013 213E 84 | DC /213E LETTERS SPACE AND .A. U5B00840 0014 3232 85 | DC /3232 LETTERS .D. AND .D. U5B00850 0015 6236 86 | DC /6236 LETTERS .R. AND .E. U5B00860 0016 9A9A 87 | DC /9A9A LETTERS .S. AND .S. U5B00870 0017 002CR 88 | D21 DC DECBU DECIMAL BFR FOR 1ST LINE U5B00880 0018 0032R 89 | D22 DC DEBUF DECIMAL BFR FOR 2ND LINE U5B00890 0019 0027R 90 | D23 DC HEXBU HEX BUFFER FOR 2ND LINE U5B00900 001A 0037R 91 | D24 DC HEBUF HEX BUFFER FOR 1ST LINE U5B00910 001B 0000 92 | MODE DC 0 TYPE OF DUMP U5B00920 001C 0001 93 | DCIND DC 1 DECIMAL DUMP INDICATOR U5B00930 001D 0000 94 | HXIND DC 0 HEXADECIMAL DUMP INDICATOR U5B00940 001E 0002 95 | OFCON DC 2 WORD-COUNT OF MESSAGE U5B00950 001F 5212 96 | DC /5212 LETTERS .OF. U5B00960 0020 1221 97 | DC /1221 LETTERS .F SPACE. U5B00970 0021 0002 98 | ONCON DC 2 WORD-COUNT OF MESSAGE U5B00980 0022 5276 99 | DC /5276 LETTERS .ON. U5B00990 0023 2121 100 | DC /2121 TWO SPACES U5B01000 0024 001ER 101 | OFF DC OFCON STATUS U5B01010 0025 0021R 102 | ON DC ONCON STATUS U5B01020 0026 0003 103 | TYPE0 DC 3 TYPE HEXADECIMALLY U5B01030 0027 0000 104 | HEXBU DC 0 OUTPUT BUFFER FOR U5B01040 0028 0000 105 | DC 0 *HEX.WORDS(2ND LINE) U5B01050 0029 2121 106 | DC /2121 DOUBLE SPACE U5B01060 002A 0006 107 | TYPE1 DC 6 TYPE DECIMALLY U5B01070 002B 21FE 108 | DC /21FE SPACE AND START. PARENT. ( U5B01080 002C 0000 109 | DECBU DC 0 OUTPUT BUFFER U5B01090 002D 0000 110 | DC 0 *FOR U5B01100 002E 0000 111 | DC 0 *DECIMAL WORDS(1ST LINE) U5B01110 002F F621 112 | DC /F621 END PARENT. AND SPACE U5B01120 0030 2121 113 | DC /2121 DOUBLE SPACE U5B01130 0031 0004 114 | TYPE2 DC 4 U5B01140 0032 0000 115 | DEBUF DC 0 OUTPUT BUFFER U5B01150 0033 0000 116 | DC 0 *FOR U5B01160 0034 0000 117 | DC 0 *DECIMAL WORDS(2ND LINE) U5B01170 0035 2121 118 | DC /2121 DOUBLE SPACE U5B01180 0036 0002 119 | TYPE3 DC 2 U5B01190 0037 0000 120 | HEBUF DC 0 OUTPUT BUFFER FOR U5B01200 0038 0000 121 | DC 0 *HEX.WORDS(1ST LINE) U5B01210 0039 0026R 122 | TY0 DC TYPE0 HEXADECIMAL U5B01220 003A 002AR 123 | TY1 DC TYPE1 DECIMAL U5B01230 003B 0031R 124 | TY2 DC TYPE2 U5B01240 003C 0036R 125 | TY3 DC TYPE3 U5B01250 003D 0008R 126 | ACCUM DC AREG U5B01260 003E 0008R 127 | SEREG DC AREG RESETS ACCUM CONSTANT U5B01270 003F 0041R 128 | DW DC DECWD U5B01280 0040 0042R 129 | HW DC HEXWD U5B01290 0041 0000 130 | DECWD DC 0 U5B01300 0042 0000 131 | HEXWD DC 0 U5B01310 0043 0060R 132 | DAD DC DECAD U5B01320 0044 004FR 133 | HAD DC HEXAD U5B01330 0045 0000 134 | ENDAD DC 0 ENDING ADDRESS U5B01340 0046 0000 135 | BEGAD DC 0 BEGINNING ADDRESS U5B01350 136 | * U5B01360 137 | * U5B01370 138 | * CARRIER RETURN ROUTINE AND PARAMETERS U5B01380 139 | * U5B01390 140 | * U5B01400 0047 1000 141 | CRRET NOP U5B01410 0048 2666*3A30 142 | LIBF WRTY0 CALL TYPEWRITER SUBROUTINE U5B01420 0049 2001 143 | DC /2001 CARRIER RETURN U5B01430 004A 004DR 144 | DC CARET U5B01440 004B 4C80 0047R 145 | BSC I CRRET EXIT U5B01450 004D 0001 146 | CARET DC 1 WORD COUNT U5B01460 004E 8121 147 | DC /8121 CARRIER RETURN AND SPACE U5B01470 148 | * U5B01480 149 | * U5B01490 150 | * THIS ROUTINE WILL CONVERT THE ADDRESS AND THE U5B01500 151 | * CONTENTS OF THE ADDRESS TO HEXADECIMAL U5B01510 152 | * U5B01520 153 | * U5B01530 004F 1000 154 | HEXAD NOP U5B01540 0050 C0F1 155 | LD HEXWD WORD TO BE CONVERTED U5B01550 0051 6600 0000 156 | LDX L2 0 STORAGE LOCATIONS U5B01560 0053 4400 012BR 157 | BSI L BINHX CONVERSION ROUTINE U5B01570 0055 4004 158 | BSI BUSY TEST 1053 TYPWTR. FOR BUSY U5B01580 0056 4014 159 | BSI PRIND TYPE HEXADECIMALLY U5B01590 0057 4002 160 | BSI BUSY TEST 1053 BUSY U5B01600 0058 4C80 004FR 161 | BSC I HEXAD EXIT U5B01610 162 | * U5B01620 163 | * U5B01630 005A 1000 164 | BUSY NOP U5B01640 005B 2666*3A30 165 | LIBF WRTY0 TEST TYPEWRITER U5B01650 005C 0000 166 | DC 0 BUSY U5B01660 005D 70FD 167 | MDX BUSY+1 LOOP IF BUSY U5B01670 005E 4C80 005AR 168 | BSC I BUSY EXIT IF NOT BUSY U5B01680 169 | * U5B01690 170 | * U5B01700 171 | * THIS ROUTINE WILL CONVERT THE ADDRESS TO U5B01710 172 | * DECIMAL ONLY U5B01720 173 | * U5B01730 174 | * U5B01740 0060 1000 175 | DECAD NOP U5B01750 0061 C0DF 176 | LD DECWD WORD TO BE CONVERTED U5B01760 0062 6600 0000 177 | LDX L2 0 STORAGE LOCATIONS U5B01770 0064 4400 0163R 178 | BSI L BINDC CONVERSION ROUTINE U5B01780 0066 40F3 179 | BSI BUSY TEST 1053 TYPWTR. FOR BUSY U5B01790 0067 4003 180 | BSI PRIND PRINT DECIMALLY U5B01800 0068 40F1 181 | BSI BUSY TEST 1053 BUSY U5B01810 0069 4C80 0060R 182 | BSC I DECAD EXIT U5B01820 183 | * U5B01830 184 | * U5B01840 185 | * PRINT STATUS OF INDICATORS U5B01850 186 | * U5B01860 187 | * U5B01870 006B 1000 188 | PRIND NOP U5B01880 006C 2666*3A30 189 | LIBF WRTY0 CALL TYPEWRITER SUBROUTINE U5B01890 006D 2001 190 | DC /2001 U5B01900 006E 0000 191 | DC *-* TYPE STATUS U5B01910 006F 4C80 006BR 192 | BSC I PRIND U5B01920 193 | * U5B01930 194 | * HEXADECIMAL ENTRY TO DUMP SUBROUTINE U5B01940 195 | * U5B01950 196 | * U5B01960 0071 1000 197 | DMTX0 NOP U5B01970 0072 D895 198 | STD AREG SAVE ACC AND EXT U5B01980 0073 C0A9 199 | LD HXIND HEXADECIMAL INDICATOR U5B01990 0074 D0A6 200 | STO MODE STORE IN MODE U5B02000 0075 6994 201 | STORE STX 1 IRONE SAVE XR1 U5B02010 0076 6A94 202 | STX 2 IRTWO SAVE XR2 U5B02020 0077 6B94 203 | STX 3 IRTHR SAVE XR3 U5B02030 0078 2C00 010BR 204 | STS L STOC OVERFLOW AND CARRY STORED U5B02040 205 | * U5B02050 206 | * U5B02060 207 | * SETUP START, END AND RETURN ADDRESSES U5B02070 208 | * U5B02080 209 | * U5B02090 007A C480 0071R 210 | LD I DMTYX U5B02100 007C D0C9 211 | STO BEGAD STARTING ADDRESS U5B02110 007D 7401 0071R 212 | MDX L DMTYX,1 INCREMENT BY 1 U5B02120 007F C480 0071R 213 | LD I DMTYX U5B02130 0081 D0C3 214 | STO ENDAD ENDING ADDRESS U5B02140 0082 7401 0071R 215 | MDX L DMTYX,1 INCREMENT BY 1 (RET. ADDR) U5B02150 0084 40D5 216 | BSI BUSY TEST 1053 BUSY U5B02160 0085 40C1 217 | BSI CRRET CARRIER RETURN U5B02170 218 | * U5B02180 219 | * INVALID ADDRESS TEST. U5B02190 220 | * U5B02200 221 | * U5B02210 0086 C0BE 222 | LD ENDAD U5B02220 0087 90BE 223 | S BEGAD U5B02230 0088 4C10 008FR 224 | BSC L TSOFL,- BR IF ADDRESSES OK U5B02240 008A 2666*3A30 225 | LIBF WRTY0 CALL TYPEWRITER U5B02250 008B 2001 226 | DC /2001 TYPE ERROR MESSAGE U5B02260 008C 000DR 227 | DC ERROR U5B02270 008D 4C00 0105R 228 | BSC L FINSH GO EXIT U5B02280 229 | * U5B02290 230 | * U5B02300 231 | * TEST OVERFLOW AND CARRY INDICATORS U5B02310 232 | * U5B02320 233 | * U5B02330 008F C400 010BR 234 | TSOFL LD L STOC LOAD INDICATOR (OVERFLOW) U5B02340 0091 100F 235 | SLA 15 2-6 U5B02350 0092 4C28 00A4R 236 | BSC L OVON,+Z BRANCH IF ON U5B02360 0094 40C5 237 | BSI BUSY TEST FOR BUSY U5B02370 0095 C08E 238 | LD OFF STATUS OF OVERFLOW U5B02380 0096 D0D7 239 | STO PRIND+3 U5B02390 0097 40D3 240 | BSI PRIND PRINT STATUS U5B02400 0098 40C1 241 | TSCAR BSI BUSY TEST 1053 BUSY U5B02410 0099 C400 010BR 242 | LD L STOC LOAD CARRY INDICATOR U5B02420 009B 100E 243 | SLA 14 2-6 U5B02430 009C 4C28 00AAR 244 | BSC L CAON,+Z BRANCH IF ON U5B02440 009E 40BB 245 | BSI BUSY TEST BUSY U5B02450 009F C084 246 | LD OFF SET TO PRINT U5B02460 00A0 D0CD 247 | STO PRIND+3 LETTER .OFF. U5B02470 00A1 40B8 248 | BSI BUSY TEST BUSY U5B02480 00A2 40C8 249 | BSI PRIND GO PRINT A WORD U5B02490 00A3 700C 250 | MDX REGTR GO DO REGISTERS U5B02500 00A4 40B5 251 | OVON BSI BUSY TEST BUSY U5B02510 00A5 C400 0025R 252 | LD L ON SET UP TO U5B02520 00A7 D0C6 253 | STO PRIND+3 *PRINT LETTER .ON. U5B02530 00A8 40C2 254 | BSI PRIND GO TO PRINT SUBR U5B02540 00A9 70EE 255 | MDX TSCAR GO TEST CARRY INDICATOR U5B02550 00AA 40AF 256 | CAON BSI BUSY CHECK TYPEWRITER BUSY U5B02560 00AB C400 0025R 257 | LD L ON SET UP TO U5B02570 00AD D0C0 258 | STO PRIND+3 *PRINT .ON. U5B02580 00AE 40BC 259 | BSI PRIND GO PRINT U5B02590 00AF 40AA 260 | BSI BUSY TEST TYPEWRITER BUSY U5B02600 261 | * U5B02610 262 | * U5B02620 263 | * CONVERT ACC,EXT,XR1,XR2,XR3, TO U5B02630 264 | * HEXADECIMAL AND DECIMAL FORM FOR FIRST LINE. U5B02640 265 | * U5B02650 00B0 4400 005AR 266 | REGTR BSI L BUSY TEST 1053 BUSY U5B02660 00B2 6105 267 | LDX 1 5 5 REGISTERS TO PRINT U5B02670 00B3 4400 005AR 268 | REGIS BSI L BUSY TEST 1053 BUSY U5B02680 00B5 C480 003DR 269 | LD I ACCUM 1ST WORD OF ADDRESS U5B02690 00B7 D08A 270 | STO HEXWD AREG TO HEXADECIMAL U5B02700 00B8 D088 271 | STO DECWD AREG TO DECIMAL U5B02710 00B9 C400 003CR 272 | LD L TY3 U5B02720 00BB D0B2 273 | STO PRIND+3 U5B02730 00BC C400 001AR 274 | LD L D24 U5B02740 00BE D400 0052R 275 | STO L HEXAD+3 U5B02750 00C0 408E 276 | BSI HEXAD CONVERT TO HEX U5B02760 00C1 4098 277 | BSI BUSY TEST 1053 BUSY U5B02770 00C2 C400 003AR 278 | LD L TY1 U5B02780 00C4 D0A9 279 | STO PRIND+3 SET UP PRINT BUFFER U5B02790 00C5 C400 0017R 280 | LD L D21 U5B02800 00C7 D400 0063R 281 | STO L DECAD+3 U5B02810 00C9 4096 282 | BSI DECAD CONVERT TO DECIMAL U5B02820 00CA 7401 003DR 283 | MDX L ACCUM,1 NEXT REGISTER U5B02830 00CC 71FF 284 | MDX 1 -1 ARE WE FINISHED, YES SKIP U5B02840 00CD 70E5 285 | MDX REGIS NO,DO NEXT U5B02850 00CE 4400 0047R 286 | BSI L CRRET CARRIER RETURN U5B02860 00D0 4400 0047R 287 | BSI L CRRET CARRIER RETURN U5B02870 00D2 C400 003ER 288 | LD L SEREG RESET ACCUM CONSTANT U5B02880 00D4 D400 003DR 289 | STO L ACCUM STORAGE U5B02890 290 | * U5B02900 291 | * U5B02910 292 | * LINE ADDRESS ALWAYS HEXADECIMAL. U5B02920 293 | * U5B02930 294 | * U5B02940 00D6 4083 295 | BSI BUSY CHECK BUSY U5B02950 00D7 C400 0046R 296 | ADCON LD L BEGAD ADDRESS OF WORD U5B02960 00D9 D400 0042R 297 | STO L HEXWD U5B02970 00DB 4400 005AR 298 | BSI L BUSY TEST 1053 BUSY U5B02980 00DD C400 0039R 299 | LD L TY0 SET UP TO U5B02990 00DF D08E 300 | STO PRIND+3 *PRINT U5B03000 00E0 C400 0019R 301 | LD L D23 *HEXADECIMAL U5B03010 00E2 D400 0052R 302 | STO L HEXAD+3 ADDRESS OF LINE U5B03020 00E4 4400 004FR 303 | BSI L HEXAD GO CONVERT AND PRINT U5B03030 304 | * U5B03040 305 | * U5B03050 306 | * TEST FOR THE TYPE OF DUMP THAT HAS BEEN U5B03060 307 | * REQUESTED BY THE USER FROM MAINLINE PROGRAM. U5B03070 308 | * U5B03080 309 | * U5B03090 00E6 C400 001BR 310 | LD L MODE TYPE OF DUMP U5B03100 00E8 4C20 0115R 311 | BSC L DESML,Z DECIMAL IF NOT ZERO U5B03110 00EA 6108 312 | NEWLN LDX 1 8 8 WORDS PER LINE U5B03120 00EB C480 0046R 313 | NEXT LD I BEGAD GET CONTENTS OF ADDRESS U5B03130 00ED D400 0042R 314 | STO L HEXWD U5B03140 00EF 4400 005AR 315 | BSI L BUSY TEST 1053 BUSY U5B03150 00F1 C400 0039R 316 | LD L TY0 SET UP U5B03160 00F3 D400 006ER 317 | STO L PRIND+3 *HEX BUFFER U5B03170 00F5 C400 0019R 318 | LD L D23 *TO PRINT U5B03180 00F7 D400 0052R 319 | STO L HEXAD+3 ONE HEX WORD U5B03190 00F9 4400 004FR 320 | BSI L HEXAD GO CONVERT AND PRINT U5B03200 00FB 7401 0046R 321 | MDX L BEGAD,1 NEXT WORD U5B03210 00FD 71FF 322 | MDX 1 -1 DECREMENT LINE COUNT U5B03220 00FE 70EC 323 | MDX NEXT NEXT WORD IF NOT DONE U5B03230 324 | * U5B03240 325 | * U5B03250 326 | * TEST FOR END OF DUMP U5B03260 327 | * U5B03270 328 | * U5B03280 00FF C400 0045R 329 | ADTES LD L ENDAD U5B03290 0101 9400 0046R 330 | S L BEGAD U5B03300 0103 4C10 0112R 331 | BSC L INCPL,- BR IF NOT DONE U5B03310 0105 CC00 0008R 332 | FINSH LDD L AREG RESTORE ACC AND EXT U5B03320 0107 6580 000AR 333 | LDX I1 IRONE RESTORE XR1 U5B03330 0109 6680 000BR 334 | LDX I2 IRTWO RESTORE XR2 U5B03340 010B 2000 335 | STOC LDS 0 RESTORE STATUS U5B03350 010C 4400 0047R 336 | BSI L CRRET CARRIER RETURN U5B03360 010E 4400 005AR 337 | BSI L BUSY TEST 1053 BUSY U5B03370 0110 4C80 0071R 338 | BSC I DMTYX EXIT TO MAINLINE U5B03380 0112 4400 0047R 339 | INCPL BSI L CRRET CARRIER RETURN U5B03390 0114 70C2 340 | MDX ADCON NEXT LINE U5B03400 0115 6108 341 | DESML LDX 1 8 8 WORDS PER LINE U5B03410 0116 C480 0046R 342 | MORI LD I BEGAD GET WORD TO BE DUMPED U5B03420 0118 D400 0041R 343 | STO L DECWD STORE IN DECIMAL BUFFER U5B03430 011A 4400 005AR 344 | BSI L BUSY BUSY TEST U5B03440 011C C400 003BR 345 | LD L TY2 SET UP TO U5B03450 011E D400 006ER 346 | STO L PRIND+3 *PRINT U5B03460 0120 C400 0018R 347 | LD L D22 *DECIMAL U5B03470 0122 D400 0063R 348 | STO L DECAD+3 *WORD U5B03480 0124 4400 0060R 349 | BSI L DECAD GO CONVERT AND PRINT U5B03490 0126 7401 0046R 350 | MDX L BEGAD,1 NEXT WORD TO DUMP U5B03500 0128 71FF 351 | MDX 1 -1 SKIP IF 8 WORDS DONE U5B03510 0129 70EC 352 | MDX MORI DO NEXT WORD U5B03520 012A 70D4 353 | MDX ADTES GO DO NEXT LINE U5B03530 354 | * U5B03540 355 | * BINARY TO HEXIDECIMAL CONVERSION SUBR U5B03550 356 | * U5B03560 012B 357 | BINHX BSS 1 RESERVE ONE WORD U5B03570 012C 18D0 358 | RTE 16 ROTATE A+Q, A STORED IN Q U5B03580 012D C020 359 | LD D192 NO. FOR HEX CHAR. COUNT U5B03590 012E D021 360 | STO COUNT COUNT = 192 U5B03600 012F C01D 361 | LD D9 FOR EVEN OR ODD TEST U5B03610 0130 D01E 362 | STO PART PART = 9 U5B03620 0131 C01A 363 | LD ZERO U5B03630 0132 D200 364 | STO 2 0 CLEAR HEX BUF. 1 U5B03640 0133 D201 365 | STO 2 1 CLEAR HEX BUF. 2 U5B03650 0134 C017 366 | A LD ZERO U5B03660 0135 1084 367 | SLT 4 SHIFT 1ST 4 BITS IN ACCUM. U5B03670 0136 801B 368 | A ADDR MODIFY FOR TABLE LOOKUP U5B03680 0137 D001 369 | STO *+1 U5B03690 0138 C400 0000 370 | LD L 0 GET CHARACTER U5B03700 013A D016 371 | STO TEMP U5B03710 013B 7401 014FR 372 | MDX L PART,1 WHICH PART OF PART U5B03720 013D C011 373 | LD PART U5B03730 013E 4C04 0144R 374 | BSC L B,E BR IF RIGHT HALF U5B03740 0140 7201 375 | MDX 2 1 MOVE POINTER U5B03750 0141 C00F 376 | LD TEMP U5B03760 0142 1008 377 | SLA 8 SHIFT IN 1ST PART U5B03770 0143 7001 378 | MDX C U5B03780 0144 C00C 379 | B LD TEMP U5B03790 0145 82FF 380 | C A 2 -1 COMBINE 2 CHARACTERS U5B03800 0146 D2FF 381 | STO 2 -1 STORE IN OUTPUT BUFFER U5B03810 0147 74D0 0150R 382 | MDX L COUNT,-48 DECR CHARACTER COUNT BY 1 U5B03820 0149 70EA 383 | MDX A RETURN TO A FOR NEXT CHAR U5B03830 014A 4C80 012BR 384 | BSC I BINHX EXIT U5B03840 014C 0000 385 | ZERO DC 0 CONST ZERO U5B03850 014D 0009 386 | D9 DC 9 RIGHT-LEFT INDR INIT U5B03860 014E 00C0 387 | D192 DC 192 CHAR COUNT--4*48 U5B03870 014F 0000 388 | PART DC 0 RIGHT/LEFT INDR U5B03880 0150 0000 389 | COUNT DC 0 WORD TO STORE CHAR COUNT U5B03890 0151 0000 390 | TEMP DC 0 TEMP BUFFER FOR 2 CHARS U5B03900 0152 0153R 391 | ADDR DC TYTAB TABLES U5B03910 0153 00C4 392 | TYTAB DC 196 = 0 U5B03920 0154 00FC 393 | DC 252 = 1 U5B03930 0155 00D8 394 | DC 216 = 2 U5B03940 0156 00DC 395 | DC 220 = 3 U5B03950 0157 00F0 396 | DC 240 = 4 U5B03960 0158 00F4 397 | DC 244 = 5 U5B03970 0159 00D0 398 | DC 208 = 6 U5B03980 015A 00D4 399 | DC 212 = 7 U5B03990 015B 00E4 400 | DC 228 = 8 U5B04000 015C 00E0 401 | DC 224 = 9 U5B04010 015D 003E 402 | DC 62 =A U5B04020 015E 001A 403 | DC 26 =B U5B04030 015F 001E 404 | DC 30 =C U5B04040 0160 0032 405 | DC 50 =D U5B04050 0161 0036 406 | DC 54 =E U5B04060 0162 0012 407 | DC 18 =F U5B04070 0163 408 | BINDC BSS 1 BIN TO DECIMAL CONVERSION U5B04080 0164 D0EC 409 | STO TEMP STORE BINARY VALUE U5B04090 0165 C032 410 | LD D10 U5B04100 0166 D0E9 411 | STO COUNT COUNT = 10 U5B04110 0167 C0E5 412 | LD D9 INITIALIZE U5B04120 0168 D0E6 413 | STO PART *RIGHT-LEFT HALF INDR U5B04130 0169 1810 414 | SRA 16 U5B04140 016A D200 415 | CLEAR STO 2 0 CLEAR DECIMALS BUFFERS U5B04150 016B D201 416 | STO 2 1 U5B04160 016C D202 417 | STO 2 2 U5B04170 016D C0E3 418 | LD TEMP U5B04180 016E 4C28 0173R 419 | BSC L G,+Z BR IF NUMBER IS NEG U5B04190 0170 C028 420 | LD PLUS IS POSITIVE,STORE U5B04200 0171 D200 421 | STO 2 0 *PLUS SIGN IN BUFFER U5B04210 0172 7007 422 | MDX H GO CONVERT U5B04220 0173 C026 423 | G LD MINUS NUMBER IS NEG,STORE U5B04230 0174 D200 424 | STO 2 0 *MINUS SIGN IN BUFFER U5B04240 0175 1810 425 | SRA 16 INVERT U5B04250 0176 90DA 426 | S TEMP *NUMBER U5B04260 0177 4808 427 | BSC + OK IF POSITIVE U5B04270 0178 C01D 428 | LD H7FFF SET NUMBER TO 32767 U5B04280 0179 D0D7 429 | STO TEMP U5B04290 017A C0D6 430 | H LD TEMP SHIFT BINARY VALUE U5B04300 017B 1890 431 | SRT 16 *TO EXTENSION U5B04310 017C A81B 432 | D D10 DIVIDE BY 10 U5B04320 017D D0D3 433 | STO TEMP STORE QUOTIENT U5B04330 017E 18D0 434 | RTE 16 REMAINDER TO ACCUM U5B04340 017F 4801 435 | BSC O U5B04350 0180 8016 436 | A D1 U5B04360 0181 80D0 437 | A ADDR GET ADDR OF CHAR IN TABLE U5B04370 0182 D001 438 | STO *+1 U5B04380 0183 C400 0000 439 | LD L 0 LOAD CHARACTER U5B04390 0185 18D0 440 | RTE 16 SAVE IN EXT U5B04400 0186 C0C8 441 | LD PART RIGHT OR LEFT SIDE U5B04410 0187 4804 442 | BSC E SKIP IF LEFT U5B04420 0188 18C8 443 | RTE 8 NO SKIP IF RIGHT U5B04430 0189 18C8 444 | RTE 8 U5B04440 018A 8202 445 | A 2 2 COMBINE CHARACTER U5B04450 018B D202 446 | STO 2 2 STORE IN BUFFER U5B04460 018C 7401 014FR 447 | MDX L PART,1 STEP INDICATOR U5B04470 018E C0C0 448 | LD PART U5B04480 018F 4804 449 | BSC E U5B04490 0190 72FF 450 | MDX 2 -1 STEP BUFFER POINTER IF ODD U5B04500 0191 74FE 0150R 451 | MDX L COUNT,-2 DECR COUNT,SKIP IF 5 CHARS U5B04510 0193 70E6 452 | MDX H *DONE,IF NOT,DO NXT CHAR U5B04520 0194 4C80 0163R 453 | BSC I BINDC EXIT U5B04530 0196 7FFF 454 | H7FFF DC /7FFF CONST TO TEST -32768 U5B04540 0197 0001 455 | D1 DC 1 CONST 1 U5B04550 0198 000A 456 | D10 DC 10 CONST FOR BIN/DEC CONV U5B04560 0199 DA00 457 | PLUS DC /DA00 PLUS SIGN U5B04570 019A 8400 458 | MINUS DC /8400 MINUS SIGN U5B04580 0071R 459 | DMTYX EQU DMTX0 U5B04590 0000R 460 | DMTYD EQU DMTD0 U5B04600 019B 461 | END DMTD0 U5B04610 There were no errors in this assembly Program transfer address = 0000 === CROSS REFERENCES ========================================================== Name Val Defd Referenced A 0134R 366 383 ACCUM 003DR 126 269 283 289 ADCON 00D7R 296 340 ADDR 0152R 391 368 437 ADTES 00FFR 329 353 AREG 0008R 68 51 126 127 198 332 B 0144R 379 374 BEGAD 0046R 135 211 223 296 313 321 330 342 350 BINDC 0163R 408 178 453 BINHX 012BR 357 157 384 BUSY 005AR 164 158 160 167 168 179 181 216 237 241 245 248 251 256 260 266 268 277 295 298 315 337 344 C 0145R 380 378 CAON 00AAR 256 244 CARET 004DR 146 144 CLEAR 016AR 415 COUNT 0150R 389 360 382 411 451 CRRET 0047R 141 145 217 286 287 336 339 D1 0197R 455 436 D10 0198R 456 410 432 D192 014ER 387 359 D21 0017R 88 280 D22 0018R 89 347 D23 0019R 90 301 318 D24 001AR 91 274 D9 014DR 386 361 412 DAD 0043R 132 DCIND 001CR 93 54 DEBUF 0032R 115 89 DECAD 0060R 175 132 182 281 282 348 349 DECBU 002CR 109 88 DECWD 0041R 130 128 176 271 343 DESML 0115R 341 311 DMTD0 0000R 50 460 461 DMTX0 0071R 197 459 DMTYD 0000R 460 52 DMTYX 0071R 459 53 210 212 213 215 338 DW 003FR 128 ENDAD 0045R 134 214 222 329 ERROR 000DR 78 227 FINSH 0105R 332 228 G 0173R 423 419 H 017AR 430 422 452 H7FFF 0196R 454 428 HAD 0044R 133 HEBUF 0037R 120 91 HEXAD 004FR 154 133 161 275 276 302 303 319 320 HEXBU 0027R 104 90 HEXWD 0042R 131 129 155 270 297 314 HW 0040R 129 HXIND 001DR 94 199 INCPL 0112R 339 331 IRONE 000AR 70 201 333 IRTHR 000CR 72 203 IRTWO 000BR 71 202 334 MINUS 019AR 458 423 MODE 001BR 92 55 200 310 MORI 0116R 342 352 NEWLN 00EAR 312 NEXT 00EBR 313 323 OFCON 001ER 95 101 OFF 0024R 101 238 246 ON 0025R 102 252 257 ONCON 0021R 98 102 OVON 00A4R 251 236 PART 014FR 388 362 372 373 413 441 447 448 PLUS 0199R 457 420 PRIND 006BR 188 159 180 192 239 240 247 249 253 254 258 259 273 279 300 317 346 QREG 0009R 69 REGIS 00B3R 268 285 REGTR 00B0R 266 250 SEREG 003ER 127 288 STOC 010BR 335 204 234 242 STORE 0075R 201 56 TEMP 0151R 390 371 376 379 409 418 426 429 430 433 TSCAR 0098R 241 255 TSOFL 008FR 234 224 TY0 0039R 122 299 316 TY1 003AR 123 278 TY2 003BR 124 345 TY3 003CR 125 272 TYPE0 0026R 103 122 TYPE1 002AR 107 123 TYPE2 0031R 114 124 TYPE3 0036R 119 125 TYTAB 0153R 392 391 ZERO 014CR 385 363 366