ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:08 2020 Source File: \t3pdump.asm 1 | * JULY 6,1967 T3F00010 PDUMP 3 | *************************************************** T3F00030 4 | *STATUS-VERSION 2, MODIFICATION 0 * T3F00040 5 | * * T3F00050 6 | *FUNCTION/OPERATION * T3F00060 7 | * * DUMPS THE CONTENTS OF CORE BETWEEN SPECIFIED* T3F00070 8 | * LIMITS. DUMP MAY BE REAL, INTEGER OR * T3F00080 9 | * HEXADECIMAL. THE FORMATS OF THE DUMPS ARE * T3F00090 10 | * AS FOLLOWS- * T3F00100 11 | * * DEXIDECIMAL - SYSTEM DUMP FORMAT * T3F00110 12 | * * INTEGER - 12I/O * T3F00120 13 | * * REAL- * T3F00130 14 | * * STANDARD - 6E20.6 * T3F00140 15 | * * EXTENDED - 6E20.9 * T3F00150 16 | * * T3F00160 17 | *ENTRY POINTS- * T3F00170 18 | * * CALL PDUMP CALL TO PDUMP * T3F00180 19 | * DC ADDR1 LIMITS OF * T3F00190 20 | * DC ADDR2 *DUMP * T3F00200 21 | * DC TYPE TYPE OF DUMP REQUESTED * T3F00210 22 | * * 0 - HEXADECIMAL * T3F00220 23 | * * 4 - INTEGER * T3F00230 24 | * * 5 - REAL * T3F00240 25 | * . * T3F00250 26 | * . * T3F00260 27 | * . * T3F00270 28 | * DC ADDRM * T3F00280 29 | * DC ADDRN * T3F00290 30 | * DC TYPEN * T3F00300 31 | * DC 0 TERMINATOR * T3F00310 32 | * * T3F00320 33 | * * T3F00330 34 | * * T3F00340 35 | *EXTERNAL REFERENCES- * T3F00350 36 | * * SFIO * T3F00360 37 | * * SIOAI * T3F00370 38 | * * SIOAF * T3F00380 39 | * * SWRT * T3F00390 40 | * * SCOMP * T3F00400 41 | * * T3F00410 42 | *COMMA/DCOM- * T3F00420 43 | * * $DUMP * T3F00430 44 | * * T3F00440 45 | *EXITS- * T3F00450 46 | * NORMAL- * T3F00460 47 | * PROGRAM RETURNS CONTROL TO ZERO PARAMETER * T3F00470 48 | * PLUS 1 * T3F00480 49 | * ERROR- * T3F00490 50 | * N/A * T3F00500 51 | * * T3F00510 52 | *TABLES/WORK AREAS - N/A * T3F00520 53 | * * T3F00530 54 | *ATTRIBUTES - N/A * T3F00540 55 | * * T3F00550 56 | *NOTES- N/A * T3F00560 57 | * * T3F00570 58 | *************************************************** T3F00580 PDUMP 60 | * T3F00600 61 | ENT PDUMP T3F00610 62 | * T3F00620 63 | * T3F00630 64 | * T3F00640 0000 0000 65 | PDUMP DC *-* FIRST PARAMETER T3F00650 66 | * T3F00660 0001 694C 67 | STX 1 PD090+1 SAVE XR1 T3F00670 0002 6580 0000R 68 | LDX I1 PDUMP INITIALIZE PARAMETER PT T3F00680 69 | * T3F00690 0004 6B06 70 | PD010 STX 3 PD020+1 STORE TV POINTER T3F00700 0005 C04B 71 | LD PD901 LOAD LIBF SFIO T3F00710 0006 1008 72 | SLA 8 GET DISPLACEMENT T3F00720 0007 1888 73 | SRT 8 *IN ORDER TO GET T3F00730 0008 8002 74 | A PD020+1 *PRECISION PARAMETER T3F00740 0009 D001 75 | STO PD020+1 *WORD T3F00750 76 | * T3F00760 000A C480 0000 77 | PD020 LD I *-* LOAD PRECISION T3F00770 000C E045 78 | AND PD902 CLEAR ALL BUT PRECISION T3F00780 000D 1881 79 | SRT 1 MOVE ONE WORD INTEGER BIT T3F00790 000E D0F7 80 | STO PD903 STORE REAL PRECISION T3F00800 000F D0F7 81 | STO PD904 STORE INTEGER PRECISION T3F00810 0010 9045 82 | S PD911 IS IT EXTENDED PRECISION T3F00820 0011 4C18 0015R 83 | BSC L PD030,+- BRANCH IF YES T3F00830 0013 C043 84 | LD PD912 LOAD STANDARD PREC ADDR T3F00840 0014 7001 85 | MDX PD040 GO PUT INTO LIBF T3F00850 86 | * T3F00860 0015 C042 87 | PD030 LD PD913 LOAD EXTENDED PREC ADDR T3F00870 88 | * T3F00880 0016 D058 89 | PD040 STO PD930 PUT INTO LIBF T3F00890 0017 1010 90 | SLA 16 T3F00900 0018 1081 91 | SLT 1 GET ONE WORD INTEGER BIT T3F00910 0019 F039 92 | EOR PD905 REVERSE BIT T3F00920 001A 4820 93 | BSC Z SKIP IF NOT ONE-WD-INTEGER T3F00930 001B D0EB 94 | STO PD904 SET INTEGER PRECISION = 1 T3F00940 95 | * T3F00950 001C C037 96 | LD PD907 SET UP TO BRANCH AROUND T3F00960 001D D0E6 97 | STO PD010 *INITIALIZATION SECTION T3F00970 98 | * T3F00980 99 | * T3F00990 001E C100 100 | PD050 LD 1 0 LOAD DUMP ADDRESS T3F01000 001F 4C18 004BR 101 | BSC L PD080,+- EXIT IF ZERO T3F01010 0021 D01D 102 | STO PD808 STORE AS LOWER LIMIT T3F01020 0022 7101 103 | MDX 1 1 MOVE POINTER T3F01030 0023 C100 104 | LD 1 0 LOAD NEXT DUMP ADDRESS T3F01040 0024 4C18 004BR 105 | BSC L PD080,+- EXIT IF ZERO T3F01050 0026 D019 106 | STO PD809 STORE AS UPPER LIMIT T3F01060 0027 7101 107 | MDX 1 1 MOVE POINTER T3F01070 0028 C100 108 | LD 1 0 LOAD FORMAT ADDRESS T3F01080 0029 4C18 004BR 109 | BSC L PD080,+- EXIT IF ZERO T3F01090 002B 7101 110 | MDX 1 1 MOVE POINTER T3F01100 111 | * T3F01110 002C C013 112 | LD PD809 LOAD UPPER LIMIT T3F01120 002D 9011 113 | S PD808 IS UPPER .GT. LOWER T3F01130 002E 4C10 0034R 114 | BSC L PD070,- BRANCH IF YES T3F01140 115 | * T3F01150 116 | * EXCHANGE UPPER AND LOWER LIMITS T3F01160 117 | * T3F01170 0030 C1FD 118 | PD060 LD 1 -3 LOAD FIRST ADDRESS T3F01180 0031 D00E 119 | STO PD809 STORE AS UPPER LIMIT T3F01190 0032 C1FE 120 | LD 1 -2 LOAD SECOND ADDRESS T3F01200 0033 D00B 121 | STO PD808 STORE AS LOWER LIMIT T3F01210 122 | * T3F01220 0034 C580 FFFF 123 | PD070 LD I1 -1 LOAD FORMAT WORD T3F01230 0036 901E 124 | S PD910 IS IT AN INTEGER DUMP T3F01240 0037 4C18 0059R 125 | BSC L PD100,+- BRANCH IF YES T3F01250 126 | * T3F01260 0039 9019 127 | S PD905 IS IT A REAL DUMP T3F01270 003A 4C18 0067R 128 | BSC L PD110,+- BRANCH IF YES T3F01280 129 | * T3F01290 130 | * ASSUME HEXADECIMAL DUMP T3F01300 131 | * T3F01310 003C 4400 003F 132 | BSI L $DUMP BRANCH TO SYSTEM DUMP SUBR T3F01320 003E 0000 133 | DC 0 HEX FORMAT T3F01330 003F 0000 134 | PD808 DC *-* LOW LIMIT T3F01340 0040 0000 135 | PD809 DC *-* HIGH LIMIT T3F01350 136 | * T3F01360 0041 70DC 137 | MDX PD050 GET NEXT SET OF PARAMETERS T3F01370 138 | * T3F01380 139 | * T3F01390 140 | * FORMAT STATEMENTS T3F01400 141 | * T3F01410 142 | * INTEGER FORMAT 12I10 T3F01420 143 | * T3F01430 0042 200A 144 | PD810 DC /200A I10 T3F01440 0043 900C 145 | DC /900C 12 TIMES T3F01450 0044 B002 146 | DC /B002 RE-DO T3F01460 147 | * T3F01470 148 | * STANDARD PRECISION FORMAT 6E20.6 T3F01480 149 | * T3F01490 0045 0314 150 | PD820 DC /0314 E20.6 T3F01500 0046 9006 151 | DC /9006 6 TIMES T3F01510 0047 B002 152 | DC /B002 RE-DO T3F01520 153 | * T3F01530 154 | * EXTENDED PRECISION FORMAT 6E20.9 T3F01540 155 | * T3F01550 0048 0494 156 | PD830 DC /0494 E20.9 T3F01560 0049 9006 157 | DC /9006 6 TIMES T3F01570 004A B002 158 | DC /B002 RE-DO T3F01580 159 | * T3F01590 160 | * SUBROUTINE EXIT T3F01600 161 | * T3F01610 004B 7101 162 | PD080 MDX 1 1 MOVE PT TO RETURN ADDRESS T3F01620 004C 6903 163 | STX 1 PD090+3 STORE EXIT ADDRESS T3F01630 004D 6500 0000 164 | PD090 LDX L1 *-* RESTORE XR1 T3F01640 004F 4C00 0000 165 | BSC L *-* RETURN TO CALLING PROGRAM T3F01650 166 | * T3F01660 167 | * T3F01670 168 | * CONSTANTS T3F01680 169 | * T3F01690 0051 2218*9580 170 | PD901 LIBF SFIO DUMMY LIBF SFIO T3F01700 0052 0007 171 | PD902 DC /0007 PRECISION MASK T3F01710 0006R 172 | PD903 EQU PD010+2 REAL PRECISION T3F01720 0007R 173 | PD904 EQU PD010+3 INTEGER PRECISION T3F01730 0053 0001 174 | PD905 DC 1 CONSTANT T3F01740 0054 7019 175 | PD907 MDX *+25 INSTRUCTION TO SKIP INIT T3F01750 003FR 176 | PD908 EQU PD808 ADDR OF LOWER LIMIT T3F01760 0040R 177 | PD909 EQU PD809 ADDR OF UPPER LIMIT T3F01770 0055 0004 178 | PD910 DC 4 CONSTANT T3F01780 003F 179 | $DUMP EQU /3F SYSTEM DUMP ENTRY POINT T3F01790 0056 0003 180 | PD911 DC 3 CONSTANT T3F01800 0057 0045R 181 | PD912 DC PD820 ADDR OF STANDARD FORMAT T3F01810 0058 0048R 182 | PD913 DC PD830 ADDR OF EXTENDED FORMAT T3F01820 0008R 183 | PD914 EQU PD010+4 PRECISION WIDTH T3F01830 184 | * T3F01840 185 | * INTEGER FORMAT DUMP T3F01850 186 | * T3F01860 0059 C0AD 187 | PD100 LD PD904 LOAD INTEGER PRECISION T3F01870 005A D0AD 188 | STO PD914 STORE IN PRECISION WIDTH T3F01880 189 | * T3F01890 005B 4018 190 | BSI PD120 SPACE PRINTER, GET COUNT T3F01900 191 | * T3F01910 005C D007 192 | STO PD921 STORE COUNT INTO LIBF T3F01920 005D C0E2 193 | LD PD909 PUT ADDR OF FIRST ELEMENT T3F01930 005E D004 194 | STO PD920 *OF ARRAY INTO LIBF T3F01940 195 | * T3F01950 005F 2299*98C0 196 | LIBF SWRT INITIALIZE WRITE T3F01960 0060 0000 197 | DC 0 TRACE DEVICE T3F01970 0061 0042R 198 | DC PD810 INTEGER FORMAT T3F01980 199 | * T3F01990 0062 2225*6049 200 | LIBF SIOAI WRITE INTEGER ARRAY T3F02000 0063 0000 201 | PD920 DC *-* ARRAY ADDRESS T3F02010 0064 0000 202 | PD921 DC *-* ELEMENT COUNT T3F02020 203 | * T3F02030 0065 220D*6517 204 | PD105 LIBF SCOMP WRITE COMPLETE T3F02040 205 | * T3F02050 0066 70B7 206 | MDX PD050 GET NEXT SET OF PARAMETERS T3F02060 207 | * T3F02070 208 | * T3F02080 209 | * REAL FORMAT DUMP T3F02090 210 | * T3F02100 0067 C09E 211 | PD110 LD PD903 LOAD REAL PRECISION T3F02110 0068 D09F 212 | STO PD914 PUT INTO PRECISION WIDTH T3F02120 213 | * T3F02130 0069 400A 214 | BSI PD120 SPACE PRINTER, GET COUNT T3F02140 215 | * T3F02150 006A D007 216 | STO PD932 STORE COUNT IN LIBF T3F02160 006B C0D4 217 | LD PD909 PUT ADDR OF FIRST ELEMENT T3F02170 006C D004 218 | STO PD931 *OF ARRAY INTO LIBF T3F02180 219 | * T3F02190 006D 2299*98C0 220 | LIBF SWRT INITIALIZE WRITE T3F02200 006E 0000 221 | DC 0 TRACE DEVICE T3F02210 006F 0000 222 | PD930 DC *-* FORMAT ADDRESS T3F02220 223 | * T3F02230 0070 2225*6046 224 | LIBF SIOAF WRITE REAL ARRAY T3F02240 0071 0000 225 | PD931 DC *-* ARRAY ADDRESS T3F02250 0072 0000 226 | PD932 DC *-* ELEMENT COUNT T3F02260 227 | * T3F02270 0073 70F1 228 | MDX PD105 GO TO WRITE COMPLETE T3F02280 229 | * T3F02290 230 | * T3F02300 231 | * SPACE PRINTER AND CALCULATE ELEMENT T3F02310 232 | * COUNT. T3F02320 233 | * T3F02330 0074 0000 234 | PD120 DC *-* LINK ADDRESS T3F02340 235 | * T3F02350 0075 2299*98C0 236 | LIBF SWRT INITIALIZE WRITE T3F02360 0076 0000 237 | DC 0 TRACE DEVICE T3F02370 0077 0080R 238 | DC PD840 SPACE FORMAT T3F02380 239 | * T3F02390 0078 220D*6517 240 | LIBF SCOMP COMPLETE SPACE T3F02400 241 | * T3F02410 0079 C0C6 242 | LD PD809 GET NUMBER OF ELEMENTS T3F02420 007A 90C4 243 | S PD808 *IN ARRAY BY DIVIDING T3F02430 007B 1890 244 | SRT 16 *ARRAY SIZE BY ELEMENT T3F02440 007C A88B 245 | D PD914 *SIZE. T3F02450 007D 80D5 246 | A PD905 ADD 1 T3F02460 007E 4C80 0074R 247 | BSC I PD120 RETURN T3F02470 248 | * T3F02480 249 | * T3F02490 250 | * SPACE FORMAT T3F02500 251 | * T3F02510 0080 7000 252 | PD840 DC /7000 SLASH T3F02520 0081 B001 253 | DC /B001 RE-DO T3F02530 254 | * T3F02540 255 | * T3F02550 0082 256 | END T3F02560 There were no errors in this assembly === CROSS REFERENCES ========================================================== Name Val Defd Referenced $DUMP 003F 179 132 PD010 0004R 70 97 172 173 183 PD020 000AR 77 70 74 75 PD030 0015R 87 83 PD040 0016R 89 85 PD050 001ER 100 137 206 PD060 0030R 118 PD070 0034R 123 114 PD080 004BR 162 101 105 109 PD090 004DR 164 67 163 PD100 0059R 187 125 PD105 0065R 204 228 PD110 0067R 211 128 PD120 0074R 234 190 214 247 PD808 003FR 134 102 113 121 176 243 PD809 0040R 135 106 112 119 177 242 PD810 0042R 144 198 PD820 0045R 150 181 PD830 0048R 156 182 PD840 0080R 252 238 PD901 0051R 170 71 PD902 0052R 171 78 PD903 0006R 172 80 211 PD904 0007R 173 81 94 187 PD905 0053R 174 92 127 246 PD907 0054R 175 96 PD908 003FR 176 PD909 0040R 177 193 217 PD910 0055R 178 124 PD911 0056R 180 82 PD912 0057R 181 84 PD913 0058R 182 87 PD914 0008R 183 188 212 245 PD920 0063R 201 194 PD921 0064R 202 192 PD930 006FR 222 89 PD931 0071R 225 218 PD932 0072R 226 216 PDUMP 0000R 65 68