COMPILATION LISTING OF SEGMENT display_tsoapl_ws Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 09/24/84 1337.0 mst Mon Options: optimize map 1 /* ****************************************************** 2* * * 3* * * 4* * Copyright (c) 1972 by Massachusetts Institute of * 5* * Technology and Honeywell Information Systems, Inc. * 6* * * 7* * * 8* ****************************************************** */ 9 10 display_tsoapl_ws: dtw: 11 procedure; 12 13 /* Started by Paul Green */ 14 /* Brought to fruition by Bernard Greenberg, 10/77, features galore. */ 15 /* Modified 771208 by PG to display library_number and man_number */ 16 /* Modified 781005 by PG to fix bug 347 in declaration of function line offsets */ 17 /* Modified 840907 by C Spitzer. correct length of format string passed to dump_segment_ */ 18 19 /* automatic */ 20 21 dcl arg_len fixed bin (21), 22 aoutsw ptr, 23 arg_ptr ptr, 24 bitcount fixed bin (24), 25 code fixed bin (35), 26 dname char (168), 27 ename char (32), 28 idx fixed bin, 29 long_option bit (1) aligned, 30 rhorho fixed bin, 31 this_rho fixed bin, 32 qr13stk fixed bin, 33 qsymbot fixed bin, 34 symtab_len fixed bin, 35 dtype fixed bin, 36 sx fixed bin, 37 temp_time fixed bin (71), 38 temp_timec char (24); 39 40 /* based */ 41 42 dcl arg_string char (arg_len) based (arg_ptr); 43 44 /* builtins */ 45 46 dcl (addr, addrel, bin, binary, copy, divide, fixed, maxlength, mod, null, size, substr, translate, unspec) builtin; 47 48 /* entries */ 49 50 dcl com_err_ entry options (variable), 51 convert_date_to_binary_ entry (char (*), fixed bin (71), fixed bin (35)), 52 date_time_ entry (fixed bin (71), char (*)), 53 apl_zcode_to_ascii_ entry (char (*), char (*)), 54 dump_segment_ entry (ptr, ptr, fixed bin, fixed bin, fixed bin, bit (*)), 55 cu_$arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)), 56 expand_pathname_$add_suffix entry (char (*), char (*), char (*), char (*), fixed bin (35)), 57 hcs_$initiate_count entry (char (*), char (*), char (*), fixed bin (24), fixed bin (2), ptr, 58 fixed bin (35)), 59 hcs_$terminate_noname entry (ptr, fixed bin (35)), 60 ioa_ entry options (variable), 61 ioa_$ioa_switch entry options (variable), 62 ioa_$ioa_switch_nnl entry options (variable), 63 ioa_$nnl entry options (variable), 64 ioa_$rsnnl entry options (variable), 65 iox_$look_iocb entry (char (*), ptr, fixed bin (35)); 66 67 /* external static */ 68 69 dcl iox_$user_output ptr ext; 70 dcl error_table_$badopt fixed bin (35) ext; 71 72 /* internal static */ 73 74 dcl my_name char (17) internal static initial ("display_tsoapl_ws"); 75 76 /* include files */ 77 1 1 /* ====== BEGIN INCLUDE SEGMENT apl_characters.incl.pl1 =================================== */ 1 2 1 3 /* 1 4* * This include file contains all the characters in the APL character set, 1 5* * declared char(1) [Instead of fixed bin as in the apl_character_codes.incl.pl1 file] 1 6* * 1 7* Modified 780913 by PG to add CentSign 1 8* Modified 790319 by PG to add CommaHyphen 1 9* */ 1 10 1 11 declare ( 1 12 QBell init(""), 1 13 QBackSpace init(""), 1 14 QTab init(" "), 1 15 QNewLine init(" 1 16 "), 1 17 QSpace init(" "), 1 18 QExclamation init("!"), 1 19 QDollar init("$"), 1 20 QApostrophe init("'"), 1 21 QLeftParen init("("), 1 22 QRightParen init(")"), 1 23 QStar init("*"), 1 24 QPlus init("+"), 1 25 QComma init(","), 1 26 QMinus init("-"), 1 27 QPeriod init("."), 1 28 QSlash init("/"), 1 29 QZero init("0"), 1 30 QOne init("1"), 1 31 QTwo init("2"), 1 32 QThree init("3"), 1 33 QFour init("4"), 1 34 QFive init("5"), 1 35 QSix init("6"), 1 36 QSeven init("7"), 1 37 QEight init("8"), 1 38 QNine init("9"), 1 39 QColon init(":"), 1 40 QSemiColon init(";"), 1 41 QLessThan init("<"), 1 42 QEqual init("="), 1 43 QGreaterThan init(">"), 1 44 QQuestion init("?"), 1 45 QLetterA_ init("A"), 1 46 QLetterB_ init("B"), 1 47 QLetterC_ init("C"), 1 48 QLetterD_ init("D"), 1 49 QLetterE_ init("E"), 1 50 QLetterF_ init("F"), 1 51 QLetterG_ init("G"), 1 52 QLetterH_ init("H"), 1 53 QLetterI_ init("I"), 1 54 QLetterJ_ init("J"), 1 55 QLetterK_ init("K"), 1 56 QLetterL_ init("L"), 1 57 QLetterM_ init("M"), 1 58 QLetterN_ init("N"), 1 59 QLetterO_ init("O"), 1 60 QLetterP_ init("P"), 1 61 QLetterQ_ init("Q"), 1 62 QLetterR_ init("R"), 1 63 QLetterS_ init("S"), 1 64 QLetterT_ init("T"), 1 65 QLetterU_ init("U"), 1 66 QLetterV_ init("V"), 1 67 QLetterW_ init("W"), 1 68 QLetterX_ init("X"), 1 69 QLetterY_ init("Y"), 1 70 QLetterZ_ init("Z"), 1 71 QLeftBracket init("["), 1 72 QBackSlash init("\"), 1 73 QRightBracket init("]"), 1 74 QUnderLine init("_"), 1 75 QLetterA init("a"), 1 76 QLetterB init("b"), 1 77 QLetterC init("c"), 1 78 QLetterD init("d"), 1 79 QLetterE init("e"), 1 80 QLetterF init("f"), 1 81 QLetterG init("g"), 1 82 QLetterH init("h"), 1 83 QLetterI init("i"), 1 84 QLetterJ init("j"), 1 85 QLetterK init("k"), 1 86 QLetterL init("l"), 1 87 QLetterM init("m"), 1 88 QLetterN init("n"), 1 89 QLetterO init("o"), 1 90 QLetterP init("p"), 1 91 QLetterQ init("q"), 1 92 QLetterR init("r"), 1 93 QLetterS init("s"), 1 94 QLetterT init("t"), 1 95 QLetterU init("u"), 1 96 QLetterV init("v"), 1 97 QLetterW init("w"), 1 98 QLetterX init("x"), 1 99 QLetterY init("y"), 1 100 QLetterZ init("z"), 1 101 QLeftBrace init("{"), 1 102 QVerticalBar init("|"), 1 103 QRightBrace init("}"), 1 104 QTilde init("~"), 1 105 QLessOrEqual init(""), 1 106 QGreaterOrEqual init(""), 1 107 QNotEqual init(""), 1 108 QOrSign init(""), 1 109 QAndSign init(""), 1 110 QDivision init(""), 1 111 QEpsilon init(""), 1 112 QUpArrow init(""), 1 113 QDownArrow init(""), 1 114 QCircle init(""), 1 115 QCeiling init(""), 1 116 QFloor init(""), 1 117 QDelta init(""), 1 118 QSmallCircle init(""), 1 119 QQuad init(""), 1 120 QCap init(""), 1 121 QDeCode init(""), 1 122 QEnCode init(""), 1 123 QLeftLump init(""), 1 124 QRightLump init(""), 1 125 QCup init(""), 1 126 QNorSign init(""), 1 127 QNandSign init(""), 1 128 QCircleHyphen init(""), 1 129 QSlashHyphen init(""), 1 130 QDelTilde init(""), 1 131 QCircleStar init(""), 1 132 QCircleBar init(""), 1 133 QCircleBackSlash init(""), 1 134 QCircleSlash init(""), 1 135 QGradeDown init(""), 1 136 QGradeUp init(""), 1 137 QLamp init(""), 1 138 QQuadQuote init(""), 1 139 QIBeam init(""), 1 140 QBackSlashHyphen init(""), 1 141 QDomino init(""), 1 142 QDiaresis init(""), 1 143 QOmega init(""), 1 144 QIota init(""), 1 145 QRho init(""), 1 146 QTimes init(""), 1 147 QAlpha init(""), 1 148 QUpperMinus init(""), 1 149 QDel init(""), 1 150 QLeftArrow init(""), 1 151 QRightArrow init(""), 1 152 QDiamond init(""), 1 153 QZero_ init(""), 1 154 QOne_ init(""), 1 155 QTwo_ init(""), 1 156 QThree_ init(""), 1 157 QFour_ init(""), 1 158 QFive_ init(""), 1 159 QSix_ init(""), 1 160 QSeven_ init(""), 1 161 QEight_ init(""), 1 162 QNine_ init(""), 1 163 QDelta_ init(""), 1 164 QMarkError init(""), 1 165 QExecuteSign init(""), 1 166 QFormatSign init(""), 1 167 QLeftTack init(""), 1 168 QRightTack init(""), 1 169 QLineFeed init(""), 1 170 QConditionalNewLine init(""), 1 171 QCentSign init(""), 1 172 QCommaHyphen init("") 1 173 ) char(1) internal static options (constant); 1 174 1 175 /* ------ END INCLUDE SEGMENT apl_characters.incl.pl1 ----------------------------------- */ 78 2 1 /* ====== BEGIN INCLUDE SEGMENT apl_number_data.incl.pl1 ================================== */ 2 2 2 3 /* 2 4* This include file contains information about the machine representation of numbers. 2 5* In all programs numbers should simply be declared 'float'. 2 6* All default statements should be in this include file. 2 7* 2 8* This is the binary version. The manifest constant Binary should be used by programs 2 9* that need to know whether we are using binary or decimal. 2 10* */ 2 11 2 12 /* format: style3,initlm0,idind30 */ 2 13 2 14 default (float & ^decimal & ^binary & ^precision & ^constant) float binary (63); 2 15 2 16 declare ( 2 17 TheBiggestNumberWeveGot float initial (0.1701411834604692317e+39), 2 18 TheSmallestNumberWeveGot float initial (.1469367938527859385e-38), 2 19 Binary bit (1) aligned initial ("1"b) 2 20 ) internal static options (constant); 2 21 2 22 /* Number of characters in a number datum entry; used for copying float number arrays as strings. 2 23* (Obsolete! use array copies!) */ 2 24 2 25 declare NumberSize fixed binary precision (4) internal static initial (8); 2 26 2 27 /* ------ END INCLUDE SEGMENT apl_number_data.incl.pl1 ---------------------------------- */ 79 3 1 /* BEGIN INCLUDE FILE ... tsoapl_dcls.incl.pl1 ... Written by PG and BSG 10/77 */ 3 2 3 3 /* automatic */ 3 4 3 5 dcl (aplsv_ws_ptr, aplsv_symtab_ptr, symptr, aplsv_function_ptr, aplsv_value_ptr, code_ptr) ptr; 3 6 dcl (aplsv_group_ptr) ptr; 3 7 dcl symlen fixed bin (21); 3 8 dcl symtbep ptr; 3 9 dcl array_ptr ptr, 3 10 data_elements fixed bin, 3 11 code_len fixed bin; 3 12 3 13 /* based */ 3 14 3 15 dcl 1 aplsv_ws based (aplsv_ws_ptr) aligned, 3 16 2 pad1 (32) bit (36), 3 17 2 qr13stk bit (36), 3 18 2 qsymbot bit (36), 3 19 2 mx bit (36), 3 20 2 svi bit (36), 3 21 2 pad2 (21) bit (36), 3 22 2 library_number bit (36), 3 23 2 wsname aligned, 3 24 3 len fixed bin (8) unal, 3 25 3 chars char (11) unal, 3 26 2 man_number bit (36), 3 27 2 password char (8) unal, /* encoded */ 3 28 2 date_saved char (8) unal, 3 29 2 time_saved bit (36), /* in 1/300 secs since date */ 3 30 2 pad4 (8) bit (36), 3 31 2 fuzz bit (36), 3 32 2 pad5 (2) bit (36), 3 33 2 index_origin bit (36), 3 34 2 seed bit (36), 3 35 2 pad6 (5) bit (36), 3 36 2 digits bit (36), 3 37 2 pad7 (126) bit (36), 3 38 2 printing_width bit (18) unal; 3 39 3 40 dcl 1 aplsv_symtab (1:1024) aligned based (aplsv_symtab_ptr), 3 41 2 type bit (9) unal, 3 42 2 value_offset bit (27) unal, 3 43 2 size fixed bin (8) unal, 3 44 2 name_or_offset bit (27) unal; 3 45 3 46 dcl 1 symbol_struc aligned based (symptr), 3 47 2 pad bit (36) unal, 3 48 2 size fixed bin (8) unal, 3 49 2 name char (1 refer (symbol_struc.size)) unal; 3 50 3 51 dcl 1 symtbe aligned based (symtbep) like aplsv_symtab; 3 52 3 53 dcl 1 aplsv_function aligned based (aplsv_function_ptr), 3 54 2 pad1 (2) bit (36), 3 55 2 pad2 bit (18) unal, 3 56 2 nlines fixed bin (17) unal, 3 57 2 nlocalvars fixed bin (17) unal, 3 58 2 nlabels_w_nargs fixed bin (17) unal, /* 14 bits of nlabels, 4 bits of nargs */ 3 59 2 pad3 bit (9) unal, 3 60 2 header_offset bit (27) unal, 3 61 2 line (1024) aligned, 3 62 3 flags bit (9) unal, 3 63 3 offset bit (27) unal; 3 64 3 65 dcl 1 aplsv_value aligned based (aplsv_value_ptr), 3 66 2 pad1 (2) bit (36) unal, 3 67 2 type bit (9) unal, 3 68 2 pad2 bit (9) unal, 3 69 2 rhorho_x4 fixed bin (17) unal, 3 70 2 rho (1:32) bit (36); 3 71 3 72 dcl 1 aplsv_group aligned based (aplsv_group_ptr), 3 73 2 pad1 (2) bit (36) aligned, 3 74 2 pad2 (2) bit (9) unaligned, 3 75 2 count fixed bin (17) unal, 3 76 2 symbp (0 refer (aplsv_group.count)) bit (36) aligned; 3 77 3 78 dcl 1 fun_code aligned based (code_ptr), 3 79 2 pad (2) bit (36) aligned, 3 80 2 size fixed bin (17) unal, 3 81 2 code (code_len refer (fun_code.size)) bit (9) unal; 3 82 3 83 dcl 1 bit_array based (array_ptr) aligned, 3 84 2 integral_elements dimension (data_elements/8) unaligned, 3 85 3 eight_nine_loss bit (1) unaligned, 3 86 3 data bit (8) unaligned, 3 87 2 tail bit (mod (data_elements, 8)) unal, 3 88 fixed_array bit (36) dim (data_elements) based (array_ptr) aligned, 3 89 float_array bit (72) dim (data_elements) based (array_ptr) aligned, 3 90 char_array char (data_elements) based (array_ptr); 3 91 3 92 /* internal static */ 3 93 3 94 dcl (CECONST init ("023"b3), /* fltg pt extended */ 3 95 CBCONST init ("025"b3), /* Boolean bits */ 3 96 CICONST init ("027"b3), /* Integers */ 3 97 CFCONST init ("031"b3), /* Float single */ 3 98 CCCONST init ("033"b3), /* Chars */ 3 99 CCEOT init ("0"b)) bit (9) static options (constant); 3 100 3 101 dcl (VARIABLE_TYPE init ("005"b3), 3 102 FUNCTION_TYPE init ("022"b3), 3 103 GROUP_TYPE init ("025"b3), 3 104 SYSTEM_VAR_TYPE init ("027"b3), 3 105 SYSTEM_FCN_TYPE init ("220"b3), 3 106 SUSP_TEMPVAR_TYPE init ("004"b3), 3 107 FUNCTIONZ_TYPE init ("023"b3), 3 108 UNUSED_TYPE init ("000"b3), 3 109 UNKNOWN1_TYPE init ("032"b3), /* hex 1A */ 3 110 UNKNOWN2_TYPE init ("231"b3), /* hex 99 */ 3 111 UNKNOWN3_TYPE init ("026"b3) /* hex 16 */ 3 112 ) bit (9) aligned internal static options (constant); 3 113 3 114 dcl type_names (0:4) char (7) varying aligned internal static options (constant) initial ( 3 115 "unknown", "bit", "fixed", "float", "char"); 3 116 3 117 dcl (BIT_TYPE init ("001"b3), 3 118 FIXED_TYPE init ("002"b3), 3 119 FLOAT_TYPE init ("003"b3), 3 120 CHAR_TYPE init ("004"b3) 3 121 ) bit (9) aligned internal static options (constant); 3 122 3 123 /* Internal procedures to convert from APLSV formats to Multics formats */ 3 124 3 125 cv_fb17: 3 126 procedure (aplsv_fb17) returns (fixed bin (17)); 3 127 3 128 /* parameters */ 3 129 3 130 dcl aplsv_fb17 fixed bin (17) unaligned; 3 131 3 132 /* automatic */ 3 133 3 134 dcl fb17 fixed bin (17); 3 135 dcl word bit (36) aligned; 3 136 3 137 /* builtins */ 3 138 3 139 declare (binary, bit, substr, unspec) builtin; 3 140 3 141 /* program */ 3 142 3 143 unspec (word) = bit (binary (aplsv_fb17, 36), 36); 3 144 word = pack (word); 3 145 3 146 if substr (word, 5, 1) = "1"b /* number is negative */ 3 147 then substr (word, 1, 4) = "1111"b; 3 148 3 149 unspec (fb17) = word; 3 150 return (fb17); 3 151 3 152 end cv_fb17; 3 153 3 154 cv_b18: 3 155 procedure (aplsv_b18) returns (bit (18)); 3 156 3 157 /* parameters */ 3 158 3 159 dcl aplsv_b18 bit (18) unal; 3 160 3 161 /* automatic */ 3 162 3 163 dcl b18 bit (18) aligned; 3 164 3 165 /* program */ 3 166 3 167 b18 = "00"b || substr (aplsv_b18, 2, 8) || substr (aplsv_b18, 11, 8); 3 168 return (b18); 3 169 3 170 end cv_b18; 3 171 3 172 pack: 3 173 procedure (aplsv_word) returns (bit (36) aligned); 3 174 3 175 /* parameters */ 3 176 3 177 dcl aplsv_word bit (36) aligned; 3 178 3 179 /* automatic */ 3 180 3 181 dcl word bit (36) aligned; 3 182 3 183 /* program */ 3 184 3 185 word = ""b; 3 186 substr (word, 5, 8) = substr (aplsv_word, 2, 8); 3 187 substr (word, 13, 8) = substr (aplsv_word, 11, 8); 3 188 substr (word, 21, 8) = substr (aplsv_word, 20, 8); 3 189 substr (word, 29, 8) = substr (aplsv_word, 29, 8); 3 190 return (word); 3 191 3 192 end pack; 3 193 3 194 cv_ascii: 3 195 procedure (zcode_chars) returns (char(*)); 3 196 3 197 /* parameters */ 3 198 3 199 dcl zcode_chars char (*) unaligned; 3 200 3 201 /* automatic */ 3 202 3 203 dcl ascii_chars char (length (zcode_chars)); 3 204 3 205 /* builtins */ 3 206 3 207 declare length builtin; 3 208 3 209 /* entries */ 3 210 3 211 dcl ioa_ entry options (variable), 3 212 apl_zcode_to_ascii_ entry (char (*), char (*)); 3 213 3 214 /* program */ 3 215 3 216 if length (zcode_chars) > length (ascii_chars) 3 217 then do; 3 218 call ioa_ ("max zcode-to-ascii length of ^d exceeded.", length (ascii_chars)); 3 219 end; 3 220 3 221 call apl_zcode_to_ascii_ (zcode_chars, ascii_chars); 3 222 return (ascii_chars); 3 223 3 224 end cv_ascii; 3 225 3 226 byteptr: 3 227 procedure (P_aplsv_byte_address) returns (ptr); 3 228 3 229 /* parameters */ 3 230 3 231 dcl P_aplsv_byte_address bit (36) aligned; 3 232 3 233 /* automatic */ 3 234 3 235 dcl aplsv_byte_address bit (36) aligned, 3 236 virtual_address ptr; 3 237 3 238 /* based */ 3 239 3 240 dcl bytearray char (1) dim (0:1044479) based unaligned; 3 241 3 242 3 243 /* program */ 3 244 3 245 /* Just like the 360, we must ignore the top byte. */ 3 246 3 247 aplsv_byte_address = P_aplsv_byte_address & "000777777777"b3; 3 248 virtual_address = addr (aplsv_ws_ptr -> bytearray (binary (pack (aplsv_byte_address)))); 3 249 return (virtual_address); 3 250 3 251 end byteptr; 3 252 3 253 cv_float: 3 254 procedure (aplsv_float) returns (float bin (63)); 3 255 3 256 go to xx; 3 257 3 258 cv_floatx: entry (aplsv_float) returns (float bin (63)); 3 259 3 260 word1 = "0000"b || substr (aplsv_float, 1, 32); 3 261 word2 = "0000"b || substr (aplsv_float, 33, 32); 3 262 go to yyy; 3 263 3 264 /* parameters */ 3 265 3 266 dcl aplsv_float bit (72) aligned; 3 267 3 268 /* auto */ 3 269 3 270 dcl float_result float bin (63); 3 271 dcl exponent fixed bin; 3 272 dcl 1 mfloat aligned auto, 3 273 2 exp fixed bin (7) unal, 3 274 2 mantissa bit (64) unal; 3 275 3 276 dcl s360mant bit (56), s360exp bit (7); 3 277 dcl s360mantf fixed bin (56), s360expf fixed bin (7); 3 278 3 279 dcl (word1, word2) bit (36) aligned; 3 280 3 281 /* builtins */ 3 282 3 283 declare float builtin; 3 284 3 285 /* program */ 3 286 3 287 xx: 3 288 word1 = pack (substr (aplsv_float, 1, 36)); 3 289 word2 = pack (substr (aplsv_float, 37, 36)); 3 290 3 291 yyy: 3 292 s360mant =substr (word1, 5 + 8) || substr (word2, 5); 3 293 s360mantf = fixed (s360mant, 56); 3 294 float_result = float (s360mantf); 3 295 if float_result = 0e0 then return (0e0); /* For any rep of zero, give 0 before barfs out */ 3 296 if substr (word1, 5, 1) then float_result = - float_result; 3 297 s360exp = substr (word1, 6, 7); 3 298 s360expf = fixed (s360exp, 7); 3 299 exponent = (s360expf -64) * 4 - 56; 3 300 unspec (mfloat) = unspec (float_result); 3 301 if mfloat.exp + exponent > 127 then do; 3 302 call ioa_ ("Number too large. ^f supplied.", TheBiggestNumberWeveGot); 3 303 call print_losing_flonum; 3 304 float_result = TheBiggestNumberWeveGot; 3 305 end; 3 306 else if mfloat.exp +exponent < -128 then do; 3 307 call ioa_ ("Number too small. ^f supplied.", TheSmallestNumberWeveGot); 3 308 call print_losing_flonum; 3 309 float_result = TheSmallestNumberWeveGot; 3 310 end; 3 311 else do; 3 312 mfloat.exp = mfloat.exp + exponent; 3 313 unspec (float_result) = unspec (mfloat); 3 314 end; 3 315 return (float_result); 3 316 3 317 print_losing_flonum: proc; 3 318 3 319 dcl flt_exponent float bin (63), 3 320 int_exponent fixed bin; 3 321 dcl (float, floor, log10) builtin; 3 322 3 323 flt_exponent = (s360expf - 64) * log10 (16e0); 3 324 int_exponent = floor (flt_exponent); 3 325 flt_exponent = flt_exponent - float (int_exponent); 3 326 3 327 call ioa_ ("Losing number = .^3.4b*16**^d = ^.5fe^d", 3 328 substr (s360mant, 1, 12), s360expf - 64, 3 329 float_result * (2e0 ** -56) * 10 ** flt_exponent, 3 330 int_exponent); 3 331 return; 3 332 3 333 end print_losing_flonum; 3 334 end cv_float; 3 335 3 336 cvf32: proc (bits32) returns (fixed bin (35)); 3 337 3 338 dcl bits32 bit (32); 3 339 dcl f35 fixed bin (35) aligned; 3 340 if substr (bits32, 1, 1) then unspec (f35) = "1111"b || bits32; 3 341 else unspec (f35) = "0000"b || bits32; 3 342 return (f35); 3 343 3 344 end cvf32; 3 345 3 346 cvb36f32: proc (bits36) returns (fixed bin (35)); 3 347 3 348 dcl bits36 bit (36) aligned; 3 349 3 350 return (fixed (pack (bits36), 35)); 3 351 3 352 end cvb36f32; 3 353 3 354 /* END INCLUDE FILE ... tsoapl_dcls.incl.pl1 */ 80 81 82 /* program */ 83 84 call iox_$look_iocb ("aplout", aoutsw, code); 85 if code ^= 0 then aoutsw = iox_$user_output; 86 87 call cu_$arg_ptr (1, arg_ptr, arg_len, code); 88 if code ^= 0 89 then do; 90 call com_err_ (code, my_name, "Usage: display_tsoapl_ws path"); 91 return; 92 end; 93 94 call expand_pathname_$add_suffix (arg_string, "sv.tsoapl", dname, ename, code); 95 if code ^= 0 96 then do; 97 call com_err_ (code, my_name, "^a", arg_string); 98 return; 99 end; 100 101 call hcs_$initiate_count (dname, ename, "", bitcount, 0, aplsv_ws_ptr, code); 102 if aplsv_ws_ptr = null 103 then do; 104 call com_err_ (code, my_name, "^a>^a", dname, ename); 105 return; 106 end; 107 108 qr13stk = cvb36f32 (aplsv_ws.qr13stk)/4; 109 qsymbot = divide (binary (pack (aplsv_ws.qsymbot)), 4, 20, 0); 110 111 call cu_$arg_ptr (2, arg_ptr, arg_len, code); 112 if code = 0 113 then if arg_string = "-lg" | arg_string = "-long" 114 then long_option = "1"b; 115 else do; 116 call com_err_ (error_table_$badopt, my_name, arg_string); 117 go to finale; 118 end; 119 else long_option = "0"b; 120 121 if long_option 122 then do; 123 call ioa_ ("name:^-^d ^a", cvb36f32 (aplsv_ws.library_number), 124 cv_ascii (substr (aplsv_ws.wsname.chars, 1, aplsv_ws.wsname.len))); 125 call convert_date_to_binary_ (cv_ascii (aplsv_ws.date_saved) || " 00:00", temp_time, code); 126 temp_time = temp_time + fixed (1e6 * cvb36f32 (aplsv_ws.time_saved)/3e2, 71); 127 call date_time_ (temp_time, temp_timec); 128 call ioa_ ("saved:^-^a", temp_timec); 129 call ioa_ ("saved by:^-^d", cvb36f32 (aplsv_ws.man_number)); 130 call ioa_ ("fuzz:^-^w", aplsv_ws.fuzz); 131 call ioa_ ("index origin:^-^d", cvb36f32 (aplsv_ws.index_origin)); 132 call ioa_ ("seed:^-^d", cvb36f32 (aplsv_ws.seed)); 133 call ioa_ ("digits:^-^d", cvb36f32 (aplsv_ws.digits)); 134 call ioa_ ("width:^-^d", bin (cv_b18 (aplsv_ws.printing_width), 16)); 135 call ioa_ (""); 136 call ioa_ ("qsymbot:^-^w", qsymbot); 137 call ioa_ ("qr13stk:^-^w", qr13stk); 138 call ioa_ ("mx:^-^w", divide (cvb36f32 (aplsv_ws.mx), 4, 20, 0)); 139 call ioa_ ("svi:^-^w", divide (cvb36f32 (aplsv_ws.svi), 4, 20, 0)); 140 call ioa_ (""); 141 end; 142 143 aplsv_symtab_ptr = byteptr (aplsv_ws.qsymbot); 144 symtab_len = (qr13stk - qsymbot)/size (symtbe); 145 146 do sx = 1 to symtab_len; 147 if aplsv_symtab (sx).type ^= UNUSED_TYPE 148 then call process_symbol (sx); 149 end; 150 finale: 151 call hcs_$terminate_noname (aplsv_ws_ptr, code); 152 return; 153 154 process_symbol: 155 procedure (bv_symdex); 156 157 /* parameters */ 158 159 dcl bv_symdex fixed bin; 160 161 /* automatic */ 162 163 dcl nlabels_w_nargs fixed bin; 164 dcl nlines fixed bin; 165 dcl sx fixed bin; 166 dcl code bit (9); 167 dcl cx fixed bin; 168 dcl space_state bit (1); 169 dcl f17un fixed bin (17) unaligned; 170 dcl bit72 bit (72) aligned; 171 dcl elmtct fixed bin; 172 dcl (i, j, k) fixed bin; 173 dcl fx35 fixed bin (35); 174 dcl varsymptr ptr; 175 dcl funexp char (5000) varying; 176 dcl vtemp char (100) varying; 177 178 /* based */ 179 180 dcl based_elmtct_charcons char (elmtct) based (addr (fun_code.code (cx))); 181 dcl cxa (0:99999) bit (36) aligned based (aplsv_ws_ptr); 182 183 /* program */ 184 185 sx = bv_symdex; 186 symtbep = addr (aplsv_symtab (sx)); 187 188 if symtbe.value_offset = ""b /* ignore names with no value */ 189 then return; 190 191 aplsv_value_ptr = byteptr ("000"b3 || symtbe.value_offset); 192 193 if symtbe.type = VARIABLE_TYPE 194 then do; 195 rhorho = divide (cv_fb17 (aplsv_value.rhorho_x4), 4, 21, 0); 196 array_ptr = addr (aplsv_value.rho (rhorho + 1)); 197 data_elements = 1; 198 do idx = 1 to rhorho; 199 this_rho = cvb36f32 (aplsv_value.rho (idx)); 200 data_elements = data_elements * this_rho; 201 end; 202 funexp = get_symname (symtbep) || cv_asciich ("15"b4); /* <- */ 203 do idx = 1 to rhorho; 204 if idx ^= 1 then funexp = funexp || " "; 205 call ioa_$rsnnl ("^d", vtemp, 0, cvb36f32 (aplsv_value.rho (idx))); 206 funexp = funexp || vtemp; 207 end; 208 call ioa_$ioa_switch_nnl 209 (aoutsw, "^a ^[^a ^;^s^]", funexp, rhorho ^= 0, cv_asciich ("2D"b4)); 210 /* rho */ 211 dtype = binary (aplsv_value.type, 9); 212 if dtype < 1 | dtype > 4 then do; 213 call ioa_$nnl ("Bad data type: ^d: ", dtype); 214 call dumphex (aplsv_value_ptr, 16); 215 go to badsym; 216 end; 217 go to data_type (dtype); 218 219 data_type (1): 220 do j = 1 to data_elements/8; 221 do k = 1 to 8; 222 call ioa_$ioa_switch_nnl (aoutsw, "^[ ^]^b", ^(j = 1 & k = 1), 223 substr (bit_array.data (j), k, 1)); 224 end; 225 end; 226 do k = 1 to mod (data_elements, 8); 227 call ioa_$ioa_switch_nnl (aoutsw, "^[ ^]^b", ^(k = 1 & data_elements < 8), 228 substr (bit_array.tail, k, 1)); 229 end; 230 go to end_data_type; 231 232 data_type (2): 233 do idx = 1 to data_elements; 234 call ioa_$ioa_switch_nnl (aoutsw, "^[ ^]^d", idx ^= 1, binary (pack (fixed_array (idx)))); 235 end; 236 go to end_data_type; 237 238 data_type (3): 239 do idx = 1 to data_elements; 240 call ioa_$ioa_switch_nnl (aoutsw, "^[ ^]^e", idx ^= 1, cv_float (float_array (idx))); 241 end; 242 go to end_data_type; 243 244 data_type (4): 245 call ioa_$ioa_switch_nnl (aoutsw, "^a^/", requote (cv_ascii (char_array))); 246 247 end_data_type: call ioa_$ioa_switch_nnl (aoutsw, "^/"); 248 end; 249 else 250 251 if symtbe.type = FUNCTION_TYPE 252 | symtbe.type = FUNCTIONZ_TYPE 253 then do; 254 aplsv_function_ptr = aplsv_value_ptr; 255 256 nlines = cv_fb17 (aplsv_function.nlines); 257 nlabels_w_nargs = cv_fb17 (aplsv_function.nlabels_w_nargs); 258 259 do idx = 0 to nlines - 1; 260 funexp = ""; /* Init varying output */ 261 if idx = 0 then code_ptr = byteptr ("000"b3 || aplsv_function.header_offset); 262 else code_ptr = byteptr ("000"b3 || aplsv_function.line (idx).offset); 263 code_len = cv_fb17 (fun_code.size); 264 if idx = 0 then call ioa_$ioa_switch_nnl (aoutsw, "^p^-", addr (fun_code.size)); 265 else call ioa_$ioa_switch_nnl (aoutsw, "^p^-[^2d] ", addr (fun_code.size), idx); 266 267 space_state = "0"b; /* Assume operator */ 268 do cx = code_len to 1 by -1; 269 code = fun_code.code (cx); 270 271 if substr (code, 9, 1) = "1"b /* short syllable */ 272 then do; 273 274 if code = "003"b3 then; /* unl sta */ 275 else if code = "005"b3 then; /* labeled sta */ 276 else if code = CECONST | code = CBCONST | code = CICONST | code = CFCONST | code = CCCONST 277 then do; 278 if code = CCCONST then space_state = "0"b; 279 else do; 280 if space_state then call vput (" "); 281 space_state = "1"b; 282 end; 283 elmtct = fixed (get_packs (2), 18); 284 if code = CCCONST then do; /* chars */ 285 cx = cx - elmtct; 286 if fun_code.code (cx - 1) = "46"b4 || "1"b /* lamp/comment */ 287 then call vput (cv_ascii (based_elmtct_charcons)); 288 else call vput (requote (cv_ascii (based_elmtct_charcons))); 289 end; 290 else if code = CICONST then do; /* integer, fullword */ 291 do j = 1 to elmtct; 292 fx35 = cvf32 (get_packs (4)); 293 call ioa_$rsnnl ("^d^[ ^]", vtemp, 0, fx35, j ^= 1); 294 vtemp = translate (vtemp, QUpperMinus, "-"); 295 call vput ((vtemp)); 296 end; 297 end; 298 else if code = CBCONST then do; /* BOOLEAN */ 299 j = cx - divide (elmtct+ 7, 8, 17, 0); 300 vtemp = ""; 301 do k = 1 to elmtct; 302 if mod (k, 8) = 1 then do; 303 code = fun_code.code (j); 304 j = j + 1; 305 end; 306 307 if k ^= 1 308 then vtemp = vtemp || " "; 309 310 if substr (code, 2, 1) = "0"b 311 then vtemp = vtemp || "0"; 312 else vtemp = vtemp || "1"; 313 code = substr (copy (code, 1), 2); 314 end; 315 call vput ((vtemp)); 316 cx = cx - divide (elmtct + 7, 8, 17, 0); 317 end; 318 else if code = CFCONST | code = CECONST then do; 319 do j = 1 to elmtct; 320 bit72 = get_packs (8); 321 call ioa_$rsnnl ("^[^e^;^f^]^[ ^]", vtemp, 0, 322 code = CECONST, cv_floatx (bit72), j ^= 1); 323 vtemp = translate (vtemp, QUpperMinus, "-"); 324 call vput ((vtemp)); 325 end; 326 end; 327 end; 328 else if code = "007"b3 then; /* dummy */ 329 else do; /* zcode operator */ 330 call vput (cv_asciich (substr (code, 1, 8))); 331 space_state = "0"b; 332 end; 333 end; 334 else if code = "000"b3 & fun_code.code (cx - 1) = "000"b3 then cx = cx - 1; 335 else do; /* long syllable */ 336 if space_state = "1"b then call vput (" "); 337 unspec (f17un) = "11"b || substr (fun_code.code (cx - 1), 2) || substr (code, 2); 338 cx = cx - 1; 339 call vput (get_symname (addr (cxa (qr13stk + f17un)))); 340 space_state = "1"b; /* name/num */ 341 end; 342 end; 343 if idx = 0 then do; 344 call vput (cv_asciich ("9B"b4) || " "); /* del */ 345 end; 346 if length (funexp) = maxlength (funexp) 347 then call ioa_$ioa_switch (aoutsw, "Function too big to convert. Max is ^d chars", 348 maxlength (funexp)); 349 call ioa_$ioa_switch_nnl (aoutsw, "^a^/", funexp); 350 end; 351 call ioa_$ioa_switch_nnl (aoutsw, "^-^a^/", cv_asciich ("9B"b4)); 352 end; 353 else if symtbe.type = GROUP_TYPE 354 then do; 355 call ioa_$ioa_switch_nnl (aoutsw, "^5x)group ^a", get_symname (symtbep)); 356 aplsv_group_ptr = aplsv_value_ptr; 357 do i = 1 to cv_fb17 (aplsv_group.count); 358 varsymptr = byteptr (aplsv_group.symbp (i)); 359 call ioa_$ioa_switch_nnl (aoutsw, " ^a", get_symname (varsymptr)); 360 end; 361 call ioa_$ioa_switch_nnl (aoutsw, "^/"); 362 end; 363 else if symtbe.type = SYSTEM_VAR_TYPE 364 then; 365 else if symtbe.type = SYSTEM_FCN_TYPE 366 then; 367 else do; 368 call ioa_$nnl ("Unknown symbol type: ^2.4b. ", substr (symtbe.type, 2)); 369 badsym: call ioa_ ("Losing symbol is ""^a""", get_symname (symtbep)); 370 call dumphex (addr (symtbe), size (symtbe)); 371 end; 372 return; 373 374 vput: proc (cs); 375 376 dcl cs char (*); 377 378 funexp = cs || copy (funexp, 1); 379 380 end vput; 381 382 get_packs: proc (n) returns (bit (*)); 383 384 dcl n fixed bin; 385 386 dcl btemp bit (100) varying; 387 dcl j fixed bin; 388 389 btemp = ""b; 390 do j = cx - n to cx - 1 by 1; 391 btemp = btemp || substr (fun_code.code (j), 2, 8); 392 end; 393 cx = cx - n; 394 return (btemp); 395 396 end get_packs; 397 398 end process_symbol; 399 400 get_symname: proc (a_pt) returns (char (*)); 401 402 dcl (pt, a_pt) ptr; 403 404 pt = a_pt; 405 if pt -> symtbe.size >= 4 406 then pt = addrel (byteptr ("000"b3 || pt -> symtbe.name_or_offset), 1); 407 return (cv_ascii (pt -> symbol_struc.name)); 408 409 end; 410 411 requote: proc (instring) returns (char (*)); 412 413 /* How difficult is PL/I for character string manipulation */ 414 /* B. Greenberg 5/31/77 */ 415 416 417 dcl instring char (*); 418 dcl outstringl fixed bin (21); 419 dcl QUOTE char (1) static init ("'") options (constant); 420 dcl QUOTEQUOTE char (2) static init ("''") options (constant); 421 dcl outstring char (2 * length (instring) + 2); 422 dcl (i, j) fixed bin (21); 423 424 dcl (index, length, substr) builtin; 425 426 outstringl = 1; 427 substr (outstring, 1, 1) = QUOTE; 428 i = 1; 429 nextj: j = index (substr (instring, i), QUOTE); 430 if j = 0 then do; 431 substr (outstring, outstringl + 1, length (instring) - i + 1) 432 = substr (instring, i); 433 outstringl = outstringl + length (instring) - i + 2; 434 substr (outstring, outstringl, 1) = QUOTE; 435 return (substr (outstring, 1, outstringl)); 436 end; 437 substr (outstring, outstringl + 1, j - 1) = substr (instring, i, j - 1); 438 outstringl = outstringl + j; 439 substr (outstring, outstringl, 2) = QUOTEQUOTE; 440 outstringl = outstringl + 1; 441 i = i + j; 442 go to nextj; 443 end; 444 445 cv_asciich: proc (zc) returns (char (1)); 446 447 dcl zc bit (8); 448 dcl asc char (1); 449 450 unspec (asc) = "0"b || zc; 451 call apl_zcode_to_ascii_ ((asc), asc); 452 return (asc); 453 454 end; 455 456 dumphex: proc (p, n); 457 dcl p ptr, n fixed bin; 458 459 call ioa_$nnl ("^p:", p); 460 call dump_segment_ (iox_$user_output, p, 0, 0, n, "000001000010"b /* "0102"b3 */); 461 462 end; 463 464 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 09/24/84 1247.6 display_tsoapl_ws.pl1 >spec>online>09/24/84>display_tsoapl_ws.pl1 78 1 03/27/82 0438.6 apl_characters.incl.pl1 >ldd>include>apl_characters.incl.pl1 79 2 03/27/82 0429.8 apl_number_data.incl.pl1 >ldd>include>apl_number_data.incl.pl1 80 3 03/27/82 0429.8 tsoapl_dcls.incl.pl1 >ldd>include>tsoapl_dcls.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. CBCONST constant bit(9) initial unaligned dcl 3-94 ref 276 298 CCCONST constant bit(9) initial unaligned dcl 3-94 ref 276 278 284 CECONST constant bit(9) initial unaligned dcl 3-94 ref 276 318 321 CFCONST constant bit(9) initial unaligned dcl 3-94 ref 276 318 CICONST constant bit(9) initial unaligned dcl 3-94 ref 276 290 FUNCTIONZ_TYPE constant bit(9) initial dcl 3-101 ref 249 FUNCTION_TYPE constant bit(9) initial dcl 3-101 ref 249 GROUP_TYPE constant bit(9) initial dcl 3-101 ref 353 P_aplsv_byte_address parameter bit(36) dcl 3-231 ref 3-226 3-247 QUOTE constant char(1) initial unaligned dcl 419 ref 427 429 434 QUOTEQUOTE constant char(2) initial unaligned dcl 420 ref 439 QUpperMinus constant char(1) initial unaligned dcl 1-11 ref 294 323 SYSTEM_FCN_TYPE constant bit(9) initial dcl 3-101 ref 365 SYSTEM_VAR_TYPE constant bit(9) initial dcl 3-101 ref 363 TheBiggestNumberWeveGot 000006 constant float bin(63) initial dcl 2-16 set ref 3-302* 3-304 TheSmallestNumberWeveGot 000004 constant float bin(63) initial dcl 2-16 set ref 3-307* 3-309 UNUSED_TYPE constant bit(9) initial dcl 3-101 ref 147 VARIABLE_TYPE constant bit(9) initial dcl 3-101 ref 193 a_pt parameter pointer dcl 402 ref 400 404 addr builtin function dcl 46 ref 3-248 186 196 264 264 265 265 286 288 339 339 370 370 addrel builtin function dcl 46 ref 405 aoutsw 000102 automatic pointer dcl 21 set ref 84* 85* 208* 222* 227* 234* 240* 244* 247* 264* 265* 346* 349* 351* 355* 359* 361* apl_zcode_to_ascii_ 000024 constant entry external dcl 50 in procedure "dtw" ref 451 apl_zcode_to_ascii_ 000062 constant entry external dcl 3-211 in procedure "cv_ascii" ref 3-221 aplsv_b18 parameter bit(18) unaligned dcl 3-159 ref 3-154 3-167 3-167 aplsv_byte_address 000100 automatic bit(36) dcl 3-235 set ref 3-247* 3-248* aplsv_fb17 parameter fixed bin(17,0) unaligned dcl 3-130 ref 3-125 3-143 aplsv_float parameter bit(72) dcl 3-266 ref 3-253 3-258 3-260 3-261 3-287 3-287 3-289 3-289 aplsv_function based structure level 1 dcl 3-53 aplsv_function_ptr 000220 automatic pointer dcl 3-5 set ref 254* 256 257 261 262 aplsv_group based structure level 1 dcl 3-72 aplsv_group_ptr 000226 automatic pointer dcl 3-6 set ref 356* 357 358 aplsv_symtab based structure array level 1 dcl 3-40 set ref 186 aplsv_symtab_ptr 000216 automatic pointer dcl 3-5 set ref 143* 147 186 aplsv_value based structure level 1 dcl 3-65 aplsv_value_ptr 000222 automatic pointer dcl 3-5 set ref 191* 195 196 199 205 205 211 214* 254 356 aplsv_word parameter bit(36) dcl 3-177 ref 3-172 3-186 3-187 3-188 3-189 aplsv_ws based structure level 1 dcl 3-15 aplsv_ws_ptr 000214 automatic pointer dcl 3-5 set ref 101* 102 108 109 123 123 123 123 123 123 125 126 129 129 130 131 131 132 132 133 133 134 134 138 138 139 139 143 150* 3-248 339 339 arg_len 000100 automatic fixed bin(21,0) dcl 21 set ref 87* 94 94 97 97 111* 112 112 116 116 arg_ptr 000104 automatic pointer dcl 21 set ref 87* 94 97 111* 112 112 116 arg_string based char unaligned dcl 42 set ref 94* 97* 112 112 116* array_ptr 000232 automatic pointer dcl 3-9 set ref 196* 222 222 227 227 234 234 240 240 244 asc 000100 automatic char(1) unaligned dcl 448 set ref 450* 451 451* 452 ascii_chars 000100 automatic char unaligned dcl 3-203 set ref 3-216 3-218 3-218 3-221* 3-222 b18 000256 automatic bit(18) dcl 3-163 set ref 3-167* 3-168 based_elmtct_charcons based char unaligned dcl 180 set ref 286* 288* bin builtin function dcl 46 ref 134 134 binary builtin function dcl 3-139 in procedure "cv_fb17" ref 3-143 binary builtin function dcl 46 in procedure "dtw" ref 109 3-248 211 234 234 bit builtin function dcl 3-139 ref 3-143 bit72 000354 automatic bit(72) dcl 170 set ref 320* 321* 321* bit_array based structure level 1 dcl 3-83 bitcount 000106 automatic fixed bin(24,0) dcl 21 set ref 101* bits32 parameter bit(32) unaligned dcl 3-338 ref 3-336 3-340 3-340 3-341 bits36 parameter bit(36) dcl 3-348 set ref 3-346 3-350* btemp 000100 automatic varying bit(100) dcl 386 set ref 389* 391* 391 394 bv_symdex parameter fixed bin(17,0) dcl 159 ref 154 185 bytearray based char(1) array unaligned dcl 3-240 set ref 3-248 char_array based char unaligned dcl 3-83 set ref 244* chars 72(09) based char(11) level 3 packed unaligned dcl 3-15 ref 123 123 code 000347 automatic bit(9) unaligned dcl 166 in procedure "process_symbol" set ref 269* 271 274 275 276 276 276 276 276 278 284 290 298 303* 310 313* 313 318 318 321 328 330 330 330 330 334 337 code 2(18) based bit(9) array level 2 in structure "fun_code" packed unaligned dcl 3-78 in procedure "dtw" set ref 269 286 286 288 303 334 337 391 code 000107 automatic fixed bin(35,0) dcl 21 in procedure "dtw" set ref 84* 85 87* 88 90* 94* 95 97* 101* 104* 111* 112 125* 150* code_len 000235 automatic fixed bin(17,0) dcl 3-9 set ref 263* 268 code_ptr 000224 automatic pointer dcl 3-5 set ref 261* 262* 263 264 264 265 265 269 286 286 288 303 334 337 391 com_err_ 000016 constant entry external dcl 50 ref 90 97 104 116 convert_date_to_binary_ 000020 constant entry external dcl 50 ref 125 copy builtin function dcl 46 ref 313 378 count 2(18) based fixed bin(17,0) level 2 packed unaligned dcl 3-72 set ref 357* cs parameter char unaligned dcl 376 ref 374 378 cu_$arg_ptr 000030 constant entry external dcl 50 ref 87 111 cx 000350 automatic fixed bin(17,0) dcl 167 set ref 268* 269 285* 285 286 286 288 299 316* 316 334 334* 334 337 338* 338* 390 390 393* 393 cxa based bit(36) array dcl 181 set ref 339 339 data 0(01) based bit(8) array level 3 packed unaligned dcl 3-83 ref 222 222 data_elements 000234 automatic fixed bin(17,0) dcl 3-9 set ref 197* 200* 200 219 226 227 227 227 227 227 232 238 244 244 date_saved 100 based char(8) level 2 packed unaligned dcl 3-15 set ref 125* date_time_ 000022 constant entry external dcl 50 ref 127 digits 125 based bit(36) level 2 dcl 3-15 set ref 133* 133* divide builtin function dcl 46 ref 109 138 138 139 139 195 299 316 dname 000110 automatic char(168) unaligned dcl 21 set ref 94* 101* 104* dtype 000201 automatic fixed bin(17,0) dcl 21 set ref 211* 212 212 213* 217 dump_segment_ 000026 constant entry external dcl 50 ref 460 elmtct 000356 automatic fixed bin(17,0) dcl 171 set ref 283* 285 286 286 288 288 291 299 301 316 319 ename 000162 automatic char(32) unaligned dcl 21 set ref 94* 101* 104* error_table_$badopt 000056 external static fixed bin(35,0) dcl 70 set ref 116* exp 000272 automatic fixed bin(7,0) level 2 packed unaligned dcl 3-272 set ref 3-301 3-306 3-312* 3-312 expand_pathname_$add_suffix 000032 constant entry external dcl 50 ref 94 exponent 000270 automatic fixed bin(17,0) dcl 3-271 set ref 3-299* 3-301 3-306 3-312 f17un 000352 automatic fixed bin(17,0) unaligned dcl 169 set ref 337* 339 339 f35 000326 automatic fixed bin(35,0) dcl 3-339 set ref 3-340* 3-341* 3-342 fb17 000246 automatic fixed bin(17,0) dcl 3-134 set ref 3-149* 3-150 fixed builtin function dcl 46 ref 126 3-293 3-298 3-350 283 fixed_array based bit(36) array dcl 3-83 set ref 234* 234* float builtin function dcl 3-321 in procedure "print_losing_flonum" ref 3-325 float builtin function dcl 3-283 in procedure "cv_float" ref 3-294 float_array based bit(72) array dcl 3-83 set ref 240* 240* float_result 000266 automatic float bin(63) dcl 3-270 set ref 3-294* 3-295 3-296* 3-296 3-300 3-304* 3-309* 3-313* 3-315 3-327 floor builtin function dcl 3-321 ref 3-324 flt_exponent 000314 automatic float bin(63) dcl 3-319 set ref 3-323* 3-324 3-325* 3-325 3-327 fun_code based structure level 1 dcl 3-78 funexp 000366 automatic varying char(5000) dcl 175 set ref 202* 204* 204 206* 206 208* 260* 346 346 346 346 349* 378* 378 fuzz 113 based bit(36) level 2 dcl 3-15 set ref 130* fx35 000362 automatic fixed bin(35,0) dcl 173 set ref 292* 293* hcs_$initiate_count 000034 constant entry external dcl 50 ref 101 hcs_$terminate_noname 000036 constant entry external dcl 50 ref 150 header_offset 4(09) based bit(27) level 2 packed unaligned dcl 3-53 ref 261 i 000101 automatic fixed bin(21,0) dcl 422 in procedure "requote" set ref 428* 429 431 431 433 437 441* 441 i 000357 automatic fixed bin(17,0) dcl 172 in procedure "process_symbol" set ref 357* 358* idx 000172 automatic fixed bin(17,0) dcl 21 set ref 198* 199* 203* 204 205 205* 232* 234 234 234* 238* 240 240 240* 259* 261 262 264 265* 343* index builtin function dcl 424 ref 429 index_origin 116 based bit(36) level 2 dcl 3-15 set ref 131* 131* instring parameter char unaligned dcl 417 ref 411 421 429 431 431 433 437 int_exponent 000316 automatic fixed bin(17,0) dcl 3-319 set ref 3-324* 3-325 3-327* integral_elements based structure array level 2 packed unaligned dcl 3-83 ioa_ 000040 constant entry external dcl 50 in procedure "dtw" ref 123 128 129 130 131 132 133 134 135 136 137 138 139 140 3-302 3-307 3-327 369 ioa_ 000060 constant entry external dcl 3-211 in procedure "cv_ascii" ref 3-218 ioa_$ioa_switch 000042 constant entry external dcl 50 ref 346 ioa_$ioa_switch_nnl 000044 constant entry external dcl 50 ref 208 222 227 234 240 244 247 264 265 349 351 355 359 361 ioa_$nnl 000046 constant entry external dcl 50 ref 213 368 459 ioa_$rsnnl 000050 constant entry external dcl 50 ref 205 293 321 iox_$look_iocb 000052 constant entry external dcl 50 ref 84 iox_$user_output 000054 external static pointer dcl 69 set ref 85 460* j 000360 automatic fixed bin(17,0) dcl 172 in procedure "process_symbol" set ref 219* 222 222 222* 291* 293* 299* 303 304* 304 319* 321* j 000104 automatic fixed bin(17,0) dcl 387 in procedure "get_packs" set ref 390* 391* j 000102 automatic fixed bin(21,0) dcl 422 in procedure "requote" set ref 429* 430 437 437 438 441 k 000361 automatic fixed bin(17,0) dcl 172 set ref 221* 222 222 222* 226* 227 227 227* 301* 302 307* len 72 based fixed bin(8,0) level 3 packed unaligned dcl 3-15 ref 123 123 length builtin function dcl 3-207 in procedure "cv_ascii" ref 3-203 3-216 3-216 3-218 3-218 length builtin function dcl 424 in procedure "requote" ref 421 431 433 library_number 71 based bit(36) level 2 dcl 3-15 set ref 123* 123* line 5 based structure array level 2 dcl 3-53 log10 builtin function dcl 3-321 ref 3-323 long_option 000173 automatic bit(1) dcl 21 set ref 112* 119* 121 man_number 75 based bit(36) level 2 dcl 3-15 set ref 129* 129* maxlength builtin function dcl 46 ref 346 346 346 mfloat 000272 automatic structure level 1 dcl 3-272 set ref 3-300* 3-313 mod builtin function dcl 46 ref 226 227 227 302 mx 42 based bit(36) level 2 dcl 3-15 set ref 138* 138* my_name 000010 internal static char(17) initial unaligned dcl 74 set ref 90* 97* 104* 116* n parameter fixed bin(17,0) dcl 384 in procedure "get_packs" ref 382 390 393 n parameter fixed bin(17,0) dcl 457 in procedure "dumphex" set ref 456 460* name 1(09) based char level 2 packed unaligned dcl 3-46 set ref 407* name_or_offset 1(09) based bit(27) level 2 packed unaligned dcl 3-51 set ref 405 nlabels_w_nargs 000344 automatic fixed bin(17,0) dcl 163 in procedure "process_symbol" set ref 257* nlabels_w_nargs 3(18) based fixed bin(17,0) level 2 in structure "aplsv_function" packed unaligned dcl 3-53 in procedure "dtw" set ref 257* nlines 000345 automatic fixed bin(17,0) dcl 164 in procedure "process_symbol" set ref 256* 259 nlines 2(18) based fixed bin(17,0) level 2 in structure "aplsv_function" packed unaligned dcl 3-53 in procedure "dtw" set ref 256* null builtin function dcl 46 ref 102 offset 5(09) based bit(27) array level 3 packed unaligned dcl 3-53 ref 262 outstring 000101 automatic char unaligned dcl 421 set ref 427* 431* 434* 435 437* 439* outstringl 000100 automatic fixed bin(21,0) dcl 418 set ref 426* 431 433* 433 434 435 437 438* 438 439 440* 440 p parameter pointer dcl 457 set ref 456 459* 460* printing_width 324 based bit(18) level 2 packed unaligned dcl 3-15 set ref 134* 134* pt 000100 automatic pointer dcl 402 set ref 404* 405 405* 405 407 qr13stk 000176 automatic fixed bin(17,0) dcl 21 in procedure "dtw" set ref 108* 137* 144 339 339 qr13stk 40 based bit(36) level 2 in structure "aplsv_ws" dcl 3-15 in procedure "dtw" set ref 108* qsymbot 41 based bit(36) level 2 in structure "aplsv_ws" dcl 3-15 in procedure "dtw" set ref 109* 143* qsymbot 000177 automatic fixed bin(17,0) dcl 21 in procedure "dtw" set ref 109* 136* 144 rho 3 based bit(36) array level 2 dcl 3-65 set ref 196 199* 205* 205* rhorho 000174 automatic fixed bin(17,0) dcl 21 set ref 195* 196 198 203 208 rhorho_x4 2(18) based fixed bin(17,0) level 2 packed unaligned dcl 3-65 set ref 195* s360exp 000276 automatic bit(7) unaligned dcl 3-276 set ref 3-297* 3-298 s360expf 000302 automatic fixed bin(7,0) dcl 3-277 set ref 3-298* 3-299 3-323 3-327 s360mant 000274 automatic bit(56) unaligned dcl 3-276 set ref 3-291* 3-293 3-327 3-327 s360mantf 000300 automatic fixed bin(56,0) dcl 3-277 set ref 3-293* 3-294 seed 117 based bit(36) level 2 dcl 3-15 set ref 132* 132* size 2 based fixed bin(17,0) level 2 in structure "fun_code" packed unaligned dcl 3-78 in procedure "dtw" set ref 263* 264 264 265 265 size 1 based fixed bin(8,0) level 2 in structure "symbol_struc" packed unaligned dcl 3-46 in procedure "dtw" ref 407 407 size 1 based fixed bin(8,0) level 2 in structure "symtbe" packed unaligned dcl 3-51 in procedure "dtw" set ref 405 size builtin function dcl 46 in procedure "dtw" ref 144 370 370 space_state 000351 automatic bit(1) unaligned dcl 168 set ref 267* 278* 280 281* 331* 336 340* substr builtin function dcl 424 in procedure "requote" set ref 427* 429 431* 431 434* 435 437* 437 439* substr builtin function dcl 46 in procedure "dtw" set ref 123 123 3-167 3-167 3-186* 3-186 3-187* 3-187 3-188* 3-188 3-189* 3-189 3-260 3-261 3-287 3-287 3-289 3-289 3-291 3-291 3-296 3-297 3-327 3-327 3-340 222 222 227 227 271 310 313 330 330 330 330 337 337 368 368 391 substr builtin function dcl 3-139 in procedure "cv_fb17" set ref 3-146 3-146* svi 43 based bit(36) level 2 dcl 3-15 set ref 139* 139* sx 000202 automatic fixed bin(17,0) dcl 21 in procedure "dtw" set ref 146* 147 147* sx 000346 automatic fixed bin(17,0) dcl 165 in procedure "process_symbol" set ref 185* 186 symbol_struc based structure level 1 dcl 3-46 symbp 3 based bit(36) array level 2 dcl 3-72 set ref 358* symtab_len 000200 automatic fixed bin(17,0) dcl 21 set ref 144* 146 symtbe based structure level 1 dcl 3-51 set ref 144 370 370 370 370 symtbep 000230 automatic pointer dcl 3-8 set ref 144 186* 188 191 193 202* 249 249 353 355* 363 365 368 368 369* 370 370 370 370 tail based bit level 2 packed unaligned dcl 3-83 ref 227 227 temp_time 000204 automatic fixed bin(71,0) dcl 21 set ref 125* 126* 126 127* temp_timec 000206 automatic char(24) unaligned dcl 21 set ref 127* 128* this_rho 000175 automatic fixed bin(17,0) dcl 21 set ref 199* 200 time_saved 102 based bit(36) level 2 dcl 3-15 set ref 126* translate builtin function dcl 46 ref 294 323 type based bit(9) level 2 in structure "symtbe" packed unaligned dcl 3-51 in procedure "dtw" set ref 193 249 249 353 363 365 368 368 type based bit(9) array level 2 in structure "aplsv_symtab" packed unaligned dcl 3-40 in procedure "dtw" set ref 147 type 2 based bit(9) level 2 in structure "aplsv_value" packed unaligned dcl 3-65 in procedure "dtw" ref 211 unspec builtin function dcl 3-139 in procedure "cv_fb17" set ref 3-143* 3-149* unspec builtin function dcl 46 in procedure "dtw" set ref 3-300* 3-300 3-313* 3-313 3-340* 3-341* 337* 450* value_offset 0(09) based bit(27) level 2 packed unaligned dcl 3-51 set ref 188 191 varsymptr 000364 automatic pointer dcl 174 set ref 358* 359* virtual_address 000102 automatic pointer dcl 3-235 set ref 3-248* 3-249 vtemp 002731 automatic varying char(100) dcl 176 set ref 205* 206 293* 294* 294 295 300* 307* 307 310* 310 312* 312 315 321* 323* 323 324 word 000247 automatic bit(36) dcl 3-135 in procedure "cv_fb17" set ref 3-143* 3-144* 3-144* 3-146 3-146* 3-149 word 000100 automatic bit(36) dcl 3-181 in procedure "pack" set ref 3-185* 3-186* 3-187* 3-188* 3-189* 3-190 word1 000303 automatic bit(36) dcl 3-279 set ref 3-260* 3-287* 3-291 3-296 3-297 word2 000304 automatic bit(36) dcl 3-279 set ref 3-261* 3-289* 3-291 wsname 72 based structure level 2 dcl 3-15 zc parameter bit(8) unaligned dcl 447 ref 445 450 zcode_chars parameter char unaligned dcl 3-199 set ref 3-194 3-203 3-216 3-221* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. BIT_TYPE internal static bit(9) initial dcl 3-117 Binary internal static bit(1) initial dcl 2-16 CCEOT internal static bit(9) initial unaligned dcl 3-94 CHAR_TYPE internal static bit(9) initial dcl 3-117 FIXED_TYPE internal static bit(9) initial dcl 3-117 FLOAT_TYPE internal static bit(9) initial dcl 3-117 NumberSize internal static fixed bin(4,0) initial dcl 2-25 QAlpha internal static char(1) initial unaligned dcl 1-11 QAndSign internal static char(1) initial unaligned dcl 1-11 QApostrophe internal static char(1) initial unaligned dcl 1-11 QBackSlash internal static char(1) initial unaligned dcl 1-11 QBackSlashHyphen internal static char(1) initial unaligned dcl 1-11 QBackSpace internal static char(1) initial unaligned dcl 1-11 QBell internal static char(1) initial unaligned dcl 1-11 QCap internal static char(1) initial unaligned dcl 1-11 QCeiling internal static char(1) initial unaligned dcl 1-11 QCentSign internal static char(1) initial unaligned dcl 1-11 QCircle internal static char(1) initial unaligned dcl 1-11 QCircleBackSlash internal static char(1) initial unaligned dcl 1-11 QCircleBar internal static char(1) initial unaligned dcl 1-11 QCircleHyphen internal static char(1) initial unaligned dcl 1-11 QCircleSlash internal static char(1) initial unaligned dcl 1-11 QCircleStar internal static char(1) initial unaligned dcl 1-11 QColon internal static char(1) initial unaligned dcl 1-11 QComma internal static char(1) initial unaligned dcl 1-11 QCommaHyphen internal static char(1) initial unaligned dcl 1-11 QConditionalNewLine internal static char(1) initial unaligned dcl 1-11 QCup internal static char(1) initial unaligned dcl 1-11 QDeCode internal static char(1) initial unaligned dcl 1-11 QDel internal static char(1) initial unaligned dcl 1-11 QDelTilde internal static char(1) initial unaligned dcl 1-11 QDelta internal static char(1) initial unaligned dcl 1-11 QDelta_ internal static char(1) initial unaligned dcl 1-11 QDiamond internal static char(1) initial unaligned dcl 1-11 QDiaresis internal static char(1) initial unaligned dcl 1-11 QDivision internal static char(1) initial unaligned dcl 1-11 QDollar internal static char(1) initial unaligned dcl 1-11 QDomino internal static char(1) initial unaligned dcl 1-11 QDownArrow internal static char(1) initial unaligned dcl 1-11 QEight internal static char(1) initial unaligned dcl 1-11 QEight_ internal static char(1) initial unaligned dcl 1-11 QEnCode internal static char(1) initial unaligned dcl 1-11 QEpsilon internal static char(1) initial unaligned dcl 1-11 QEqual internal static char(1) initial unaligned dcl 1-11 QExclamation internal static char(1) initial unaligned dcl 1-11 QExecuteSign internal static char(1) initial unaligned dcl 1-11 QFive internal static char(1) initial unaligned dcl 1-11 QFive_ internal static char(1) initial unaligned dcl 1-11 QFloor internal static char(1) initial unaligned dcl 1-11 QFormatSign internal static char(1) initial unaligned dcl 1-11 QFour internal static char(1) initial unaligned dcl 1-11 QFour_ internal static char(1) initial unaligned dcl 1-11 QGradeDown internal static char(1) initial unaligned dcl 1-11 QGradeUp internal static char(1) initial unaligned dcl 1-11 QGreaterOrEqual internal static char(1) initial unaligned dcl 1-11 QGreaterThan internal static char(1) initial unaligned dcl 1-11 QIBeam internal static char(1) initial unaligned dcl 1-11 QIota internal static char(1) initial unaligned dcl 1-11 QLamp internal static char(1) initial unaligned dcl 1-11 QLeftArrow internal static char(1) initial unaligned dcl 1-11 QLeftBrace internal static char(1) initial unaligned dcl 1-11 QLeftBracket internal static char(1) initial unaligned dcl 1-11 QLeftLump internal static char(1) initial unaligned dcl 1-11 QLeftParen internal static char(1) initial unaligned dcl 1-11 QLeftTack internal static char(1) initial unaligned dcl 1-11 QLessOrEqual internal static char(1) initial unaligned dcl 1-11 QLessThan internal static char(1) initial unaligned dcl 1-11 QLetterA internal static char(1) initial unaligned dcl 1-11 QLetterA_ internal static char(1) initial unaligned dcl 1-11 QLetterB internal static char(1) initial unaligned dcl 1-11 QLetterB_ internal static char(1) initial unaligned dcl 1-11 QLetterC internal static char(1) initial unaligned dcl 1-11 QLetterC_ internal static char(1) initial unaligned dcl 1-11 QLetterD internal static char(1) initial unaligned dcl 1-11 QLetterD_ internal static char(1) initial unaligned dcl 1-11 QLetterE internal static char(1) initial unaligned dcl 1-11 QLetterE_ internal static char(1) initial unaligned dcl 1-11 QLetterF internal static char(1) initial unaligned dcl 1-11 QLetterF_ internal static char(1) initial unaligned dcl 1-11 QLetterG internal static char(1) initial unaligned dcl 1-11 QLetterG_ internal static char(1) initial unaligned dcl 1-11 QLetterH internal static char(1) initial unaligned dcl 1-11 QLetterH_ internal static char(1) initial unaligned dcl 1-11 QLetterI internal static char(1) initial unaligned dcl 1-11 QLetterI_ internal static char(1) initial unaligned dcl 1-11 QLetterJ internal static char(1) initial unaligned dcl 1-11 QLetterJ_ internal static char(1) initial unaligned dcl 1-11 QLetterK internal static char(1) initial unaligned dcl 1-11 QLetterK_ internal static char(1) initial unaligned dcl 1-11 QLetterL internal static char(1) initial unaligned dcl 1-11 QLetterL_ internal static char(1) initial unaligned dcl 1-11 QLetterM internal static char(1) initial unaligned dcl 1-11 QLetterM_ internal static char(1) initial unaligned dcl 1-11 QLetterN internal static char(1) initial unaligned dcl 1-11 QLetterN_ internal static char(1) initial unaligned dcl 1-11 QLetterO internal static char(1) initial unaligned dcl 1-11 QLetterO_ internal static char(1) initial unaligned dcl 1-11 QLetterP internal static char(1) initial unaligned dcl 1-11 QLetterP_ internal static char(1) initial unaligned dcl 1-11 QLetterQ internal static char(1) initial unaligned dcl 1-11 QLetterQ_ internal static char(1) initial unaligned dcl 1-11 QLetterR internal static char(1) initial unaligned dcl 1-11 QLetterR_ internal static char(1) initial unaligned dcl 1-11 QLetterS internal static char(1) initial unaligned dcl 1-11 QLetterS_ internal static char(1) initial unaligned dcl 1-11 QLetterT internal static char(1) initial unaligned dcl 1-11 QLetterT_ internal static char(1) initial unaligned dcl 1-11 QLetterU internal static char(1) initial unaligned dcl 1-11 QLetterU_ internal static char(1) initial unaligned dcl 1-11 QLetterV internal static char(1) initial unaligned dcl 1-11 QLetterV_ internal static char(1) initial unaligned dcl 1-11 QLetterW internal static char(1) initial unaligned dcl 1-11 QLetterW_ internal static char(1) initial unaligned dcl 1-11 QLetterX internal static char(1) initial unaligned dcl 1-11 QLetterX_ internal static char(1) initial unaligned dcl 1-11 QLetterY internal static char(1) initial unaligned dcl 1-11 QLetterY_ internal static char(1) initial unaligned dcl 1-11 QLetterZ internal static char(1) initial unaligned dcl 1-11 QLetterZ_ internal static char(1) initial unaligned dcl 1-11 QLineFeed internal static char(1) initial unaligned dcl 1-11 QMarkError internal static char(1) initial unaligned dcl 1-11 QMinus internal static char(1) initial unaligned dcl 1-11 QNandSign internal static char(1) initial unaligned dcl 1-11 QNewLine internal static char(1) initial unaligned dcl 1-11 QNine internal static char(1) initial unaligned dcl 1-11 QNine_ internal static char(1) initial unaligned dcl 1-11 QNorSign internal static char(1) initial unaligned dcl 1-11 QNotEqual internal static char(1) initial unaligned dcl 1-11 QOmega internal static char(1) initial unaligned dcl 1-11 QOne internal static char(1) initial unaligned dcl 1-11 QOne_ internal static char(1) initial unaligned dcl 1-11 QOrSign internal static char(1) initial unaligned dcl 1-11 QPeriod internal static char(1) initial unaligned dcl 1-11 QPlus internal static char(1) initial unaligned dcl 1-11 QQuad internal static char(1) initial unaligned dcl 1-11 QQuadQuote internal static char(1) initial unaligned dcl 1-11 QQuestion internal static char(1) initial unaligned dcl 1-11 QRho internal static char(1) initial unaligned dcl 1-11 QRightArrow internal static char(1) initial unaligned dcl 1-11 QRightBrace internal static char(1) initial unaligned dcl 1-11 QRightBracket internal static char(1) initial unaligned dcl 1-11 QRightLump internal static char(1) initial unaligned dcl 1-11 QRightParen internal static char(1) initial unaligned dcl 1-11 QRightTack internal static char(1) initial unaligned dcl 1-11 QSemiColon internal static char(1) initial unaligned dcl 1-11 QSeven internal static char(1) initial unaligned dcl 1-11 QSeven_ internal static char(1) initial unaligned dcl 1-11 QSix internal static char(1) initial unaligned dcl 1-11 QSix_ internal static char(1) initial unaligned dcl 1-11 QSlash internal static char(1) initial unaligned dcl 1-11 QSlashHyphen internal static char(1) initial unaligned dcl 1-11 QSmallCircle internal static char(1) initial unaligned dcl 1-11 QSpace internal static char(1) initial unaligned dcl 1-11 QStar internal static char(1) initial unaligned dcl 1-11 QTab internal static char(1) initial unaligned dcl 1-11 QThree internal static char(1) initial unaligned dcl 1-11 QThree_ internal static char(1) initial unaligned dcl 1-11 QTilde internal static char(1) initial unaligned dcl 1-11 QTimes internal static char(1) initial unaligned dcl 1-11 QTwo internal static char(1) initial unaligned dcl 1-11 QTwo_ internal static char(1) initial unaligned dcl 1-11 QUnderLine internal static char(1) initial unaligned dcl 1-11 QUpArrow internal static char(1) initial unaligned dcl 1-11 QVerticalBar internal static char(1) initial unaligned dcl 1-11 QZero internal static char(1) initial unaligned dcl 1-11 QZero_ internal static char(1) initial unaligned dcl 1-11 SUSP_TEMPVAR_TYPE internal static bit(9) initial dcl 3-101 UNKNOWN1_TYPE internal static bit(9) initial dcl 3-101 UNKNOWN2_TYPE internal static bit(9) initial dcl 3-101 UNKNOWN3_TYPE internal static bit(9) initial dcl 3-101 symlen automatic fixed bin(21,0) dcl 3-7 symptr automatic pointer dcl 3-5 type_names internal static varying char(7) initial array dcl 3-114 NAMES DECLARED BY EXPLICIT CONTEXT. badsym 005532 constant label dcl 369 ref 215 byteptr 002152 constant entry internal dcl 3-226 ref 143 191 261 262 358 405 cv_ascii 002046 constant entry internal dcl 3-194 ref 123 125 244 286 288 407 cv_asciich 006171 constant entry internal dcl 445 ref 202 208 208 330 330 344 351 351 cv_b18 001762 constant entry internal dcl 3-154 ref 134 134 cv_fb17 001720 constant entry internal dcl 3-125 ref 195 256 257 263 357 cv_float 002205 constant entry internal dcl 3-253 ref 240 240 cv_floatx 002210 constant entry internal dcl 3-258 ref 321 321 cvb36f32 002621 constant entry internal dcl 3-346 ref 108 123 123 126 129 129 131 131 132 132 133 133 138 138 139 139 199 205 205 cvf32 002571 constant entry internal dcl 3-336 ref 292 data_type 000000 constant label array(4) dcl 219 ref 217 display_tsoapl_ws 000352 constant entry external dcl 10 dtw 000343 constant entry external dcl 10 dumphex 006233 constant entry internal dcl 456 ref 214 370 end_data_type 003651 constant label dcl 247 ref 230 236 242 finale 001706 constant label dcl 150 ref 117 get_packs 005653 constant entry internal dcl 382 ref 283 292 320 get_symname 005733 constant entry internal dcl 400 ref 202 339 355 359 369 nextj 006060 constant label dcl 429 ref 442 pack 002010 constant entry internal dcl 3-172 ref 109 3-144 3-248 3-287 3-289 3-350 234 234 print_losing_flonum 002417 constant entry internal dcl 3-317 ref 3-303 3-308 process_symbol 002640 constant entry internal dcl 154 ref 147 requote 006030 constant entry internal dcl 411 ref 244 288 vput 005577 constant entry internal dcl 374 ref 280 286 288 295 315 324 330 336 339 344 xx 002227 constant label dcl 3-287 ref 3-256 yyy 002255 constant label dcl 3-291 ref 3-262 NAME DECLARED BY CONTEXT OR IMPLICATION. length builtin function ref 346 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 7066 7152 6561 7076 Length 7470 6561 64 301 304 6 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dtw 1878 external procedure is an external procedure. cv_fb17 internal procedure shares stack frame of external procedure dtw. cv_b18 internal procedure shares stack frame of external procedure dtw. pack 65 internal procedure is called by several nonquick procedures. cv_ascii 92 internal procedure uses auto adjustable storage, uses returns(char(*)) or returns(bit(*)), and is called during a stack extension. byteptr 80 internal procedure is called by several nonquick procedures. cv_float internal procedure shares stack frame of external procedure dtw. print_losing_flonum internal procedure shares stack frame of external procedure dtw. cvf32 internal procedure shares stack frame of external procedure dtw. cvb36f32 internal procedure shares stack frame of external procedure dtw. process_symbol internal procedure shares stack frame of external procedure dtw. vput 69 internal procedure is called during a stack extension. get_packs 71 internal procedure uses returns(char(*)) or returns(bit(*)). get_symname 91 internal procedure uses returns(char(*)) or returns(bit(*)). requote 75 internal procedure uses auto adjustable storage, uses returns(char(*)) or returns(bit(*)), and is called during a stack extension. cv_asciich 76 internal procedure is called during a stack extension. dumphex internal procedure shares stack frame of external procedure dtw. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 my_name dtw STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME byteptr 000100 aplsv_byte_address byteptr 000102 virtual_address byteptr cv_ascii 000100 ascii_chars cv_ascii cv_asciich 000100 asc cv_asciich dtw 000100 arg_len dtw 000102 aoutsw dtw 000104 arg_ptr dtw 000106 bitcount dtw 000107 code dtw 000110 dname dtw 000162 ename dtw 000172 idx dtw 000173 long_option dtw 000174 rhorho dtw 000175 this_rho dtw 000176 qr13stk dtw 000177 qsymbot dtw 000200 symtab_len dtw 000201 dtype dtw 000202 sx dtw 000204 temp_time dtw 000206 temp_timec dtw 000214 aplsv_ws_ptr dtw 000216 aplsv_symtab_ptr dtw 000220 aplsv_function_ptr dtw 000222 aplsv_value_ptr dtw 000224 code_ptr dtw 000226 aplsv_group_ptr dtw 000230 symtbep dtw 000232 array_ptr dtw 000234 data_elements dtw 000235 code_len dtw 000246 fb17 cv_fb17 000247 word cv_fb17 000256 b18 cv_b18 000266 float_result cv_float 000270 exponent cv_float 000272 mfloat cv_float 000274 s360mant cv_float 000276 s360exp cv_float 000300 s360mantf cv_float 000302 s360expf cv_float 000303 word1 cv_float 000304 word2 cv_float 000314 flt_exponent print_losing_flonum 000316 int_exponent print_losing_flonum 000326 f35 cvf32 000344 nlabels_w_nargs process_symbol 000345 nlines process_symbol 000346 sx process_symbol 000347 code process_symbol 000350 cx process_symbol 000351 space_state process_symbol 000352 f17un process_symbol 000354 bit72 process_symbol 000356 elmtct process_symbol 000357 i process_symbol 000360 j process_symbol 000361 k process_symbol 000362 fx35 process_symbol 000364 varsymptr process_symbol 000366 funexp process_symbol 002731 vtemp process_symbol get_packs 000100 btemp get_packs 000104 j get_packs get_symname 000100 pt get_symname pack 000100 word pack requote 000100 outstringl requote 000101 i requote 000101 outstring requote 000102 j requote THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. fx1_to_fl2 r_l_a r_e_as r_ne_as alloc_cs call_ext_out_desc call_ext_out call_int_this_desc call_int_this call_int_other_desc call_int_other return fl2_to_fx1 fl2_to_fx2 bs_to_fx2 alloc_auto_adj mpfx2 mod_fx1 shorten_stack ext_entry int_entry int_entry_desc fetch_bits trunc_fx2 floor_fl repeat set_cs_eis set_bs_eis return_chars_eis return_bits_eis real_to_real_rd divide_fx1 divide_fx3 log10 dbl_p_dbl real_p_real THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. apl_zcode_to_ascii_ apl_zcode_to_ascii_ com_err_ convert_date_to_binary_ cu_$arg_ptr date_time_ dump_segment_ expand_pathname_$add_suffix hcs_$initiate_count hcs_$terminate_noname ioa_ ioa_ ioa_$ioa_switch ioa_$ioa_switch_nnl ioa_$nnl ioa_$rsnnl iox_$look_iocb THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt iox_$user_output LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 10 000342 84 000357 85 000401 87 000407 88 000426 90 000430 91 000454 94 000455 95 000515 97 000517 98 000551 101 000552 102 000614 104 000620 105 000653 108 000654 109 000674 111 000713 112 000732 116 000751 117 000775 118 000776 119 000777 121 001000 123 001002 125 001067 126 001150 127 001173 128 001210 129 001231 130 001265 131 001310 132 001344 133 001376 134 001431 135 001466 136 001477 137 001521 138 001542 139 001575 140 001630 143 001641 144 001652 146 001662 147 001671 149 001704 150 001706 152 001717 3 125 001720 3 143 001722 3 144 001736 3 146 001745 3 149 001754 3 150 001756 3 154 001762 3 167 001764 3 168 002002 3 172 002007 3 185 002015 3 186 002016 3 187 002024 3 188 002031 3 189 002036 3 190 002042 3 194 002045 3 203 002061 3 221 002073 3 216 002076 3 218 002101 3 221 002122 3 222 002141 3 226 002151 3 247 002157 3 248 002163 3 249 002202 3 253 002205 3 256 002207 3 258 002210 3 260 002212 3 261 002217 3 262 002226 3 287 002227 3 289 002241 3 291 002255 3 293 002266 3 294 002270 3 295 002273 3 296 002300 3 297 002306 3 298 002312 3 299 002314 3 300 002320 3 301 002322 3 302 002331 3 303 002351 3 304 002352 3 305 002354 3 306 002355 3 307 002357 3 308 002377 3 309 002400 3 310 002402 3 312 002403 3 313 002411 3 315 002413 3 317 002417 3 323 002420 3 324 002451 3 325 002454 3 327 002460 3 331 002570 3 336 002571 3 340 002573 3 341 002610 3 342 002616 3 346 002621 3 350 002623 154 002640 185 002642 186 002644 188 002650 191 002655 193 002667 195 002674 196 002712 197 002715 198 002717 199 002727 200 002742 201 002744 202 002746 203 003022 204 003033 205 003044 206 003106 207 003120 208 003122 211 003176 212 003202 213 003206 214 003226 215 003232 217 003233 219 003234 221 003250 222 003255 224 003330 225 003332 226 003334 227 003345 229 003427 230 003431 232 003432 234 003441 235 003510 236 003512 238 003513 240 003523 241 003570 242 003572 244 003573 247 003651 248 003671 249 003672 254 003676 256 003700 257 003713 259 003726 260 003735 261 003736 262 003755 263 003771 264 004002 265 004032 267 004066 268 004067 269 004075 271 004103 274 004110 275 004114 276 004117 278 004131 280 004135 281 004151 283 004153 284 004201 285 004205 286 004207 288 004251 289 004320 290 004322 291 004324 292 004333 293 004364 294 004425 295 004443 296 004464 297 004467 298 004470 299 004472 300 004500 301 004501 302 004511 303 004515 304 004524 307 004525 310 004537 312 004552 313 004561 314 004573 315 004576 316 004616 317 004625 318 004626 319 004632 320 004641 321 004667 323 004745 324 004763 325 005004 327 005007 328 005010 330 005013 331 005036 333 005037 334 005040 336 005053 337 005070 338 005110 339 005112 340 005143 342 005146 343 005151 344 005153 346 005203 349 005234 350 005257 351 005261 352 005316 353 005317 355 005321 356 005362 357 005365 358 005405 359 005416 360 005455 361 005460 362 005477 363 005500 365 005503 368 005506 369 005532 370 005566 372 005575 374 005576 378 005612 380 005650 382 005652 389 005660 390 005661 391 005675 392 005714 393 005716 394 005722 400 005732 404 005740 405 005744 407 005767 411 006027 421 006043 426 006053 427 006055 428 006057 429 006060 430 006102 431 006103 433 006124 434 006131 435 006135 437 006144 438 006157 439 006161 440 006165 441 006166 442 006167 445 006170 450 006176 451 006206 452 006225 456 006233 459 006235 460 006255 462 006314 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved