ASSEMBLY LISTING OF SEGMENT >spec>install>1110>cplx_dec_ops_.alm ASSEMBLED ON: 11/11/89 0946.4 mst Sat OPTIONS USED: -target l68 list symbols ASSEMBLED BY: ALM Version 8.14 March 1989 ASSEMBLER CREATED: 06/09/89 1002.3 mst Fri 1 " *********************************************************** 2 " * * 3 " * Copyright, (C) Honeywell Bull Inc., 1987 * 4 " * * 5 " * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6 " * * 7 " * Copyright (c) 1972 by Massachusetts Institute of * 8 " * Technology and Honeywell Information Systems, Inc. * 9 " * * 10 " *********************************************************** 11 12 " 13 " cplx_dec_ops_ -- a set of operators to do complex decimal multiplication and division 14 " 15 " Written 8 October 1973 by RAB 16 " 17 " These routines are called with a pointer to a work area in the ab and a pointer 18 " to a string of 2 or 3 descriptors in the bp. 19 " 20 000000 21 name cplx_dec_ops_ 22 " 000046 23 equ tbp,38 contains segment number of calling program 000000 24 equ dtemp1,0 000020 25 equ dtemp2,16 000040 26 equ dtemp3,32 27 " 28 " mpcdec -- complex decimal multiplication 29 " 30 " (a + bi) * (c + di) = (ac - bd) + (ad + bc)i 31 " 000000 32 segdef mpcdec 000000 33 mpcdec: 000000 0a 000172 7040 00 34 tsx4 cplx_setup 35 " 000001 aa 1 00320 2265 20 36 mp3d (pr,id),(pr,id),(pr),round 000002 aa 2 00001 0001 00 37 arg bp|1 000003 aa 2 00002 0001 00 38 arg bp|2 000004 aa 100000 000075 39 desc9fl ab|dtemp1,61 000005 aa 1 00333 2265 32 40 mp3d (pr,id,x2),(pr,id,x3),(pr),round 000006 aa 2 00001 0001 00 41 arg bp|1 000007 aa 2 00002 0001 00 42 arg bp|2 000010 aa 100020 000075 43 desc9fl ab|dtemp2,61 000011 0a 000032 7160 05 44 xec sb3d,al pick the instruction on the basis of target type 000012 aa 100020 000075 45 desc9fl ab|dtemp2,61 000013 aa 100000 000075 46 desc9fl ab|dtemp1,61 000014 aa 2 00000 0001 00 47 arg bp|0 48 " 000015 aa 1 00333 2265 20 49 mp3d (pr,id),(pr,id,x3),(pr),round 000016 aa 2 00001 0001 00 50 arg bp|1 000017 aa 2 00002 0001 00 51 arg bp|2 000020 aa 100000 000075 52 desc9fl ab|dtemp1,61 000021 aa 1 00320 2265 32 53 mp3d (pr,id,x2),(pr,id),(pr),round 000022 aa 2 00001 0001 00 54 arg bp|1 000023 aa 2 00002 0001 00 55 arg bp|2 000024 aa 100020 000075 56 desc9fl ab|dtemp2,61 000025 0a 000034 7160 05 57 xec ad3d,al 000026 aa 100000 000075 58 desc9fl ab|dtemp1,61 000027 aa 100020 000075 59 desc9fl ab|dtemp2,61 000030 aa 2 00000 0001 00 60 arg bp|0 000031 aa 6 00046 7101 70 61 tra sp|tbp,*0 62 " 000032 aa 1 20300 2235 00 63 sb3d: sb3d (pr),(pr),(pr,id),round 000033 aa 1 20100 2235 00 64 sb3d (pr),(pr),(pr,id) 000034 aa 1 31300 2225 00 65 ad3d: ad3d (pr),(pr),(pr,id,x1),round 000035 aa 1 31100 2225 00 66 ad3d (pr),(pr),(pr,id,x1) 67 " 68 " dvcdec -- complex decimal / complex decimal 69 " 70 " (a + bi) (ac + bd) (bc - ad)i 71 " -------- = --------- + ---------- 72 " (c + di) 2 2 2 2 73 " c + d c + d 74 " 000036 75 segdef dvcdec 000036 76 dvcdec: 000036 0a 000172 7040 00 77 tsx4 cplx_setup 78 " 000037 aa 1 00320 2265 20 79 mp3d (pr,id),(pr,id),(pr),round 000040 aa 2 00002 0001 00 80 arg bp|2 000041 aa 2 00002 0001 00 81 arg bp|2 000042 aa 100000 000075 82 desc9fl ab|dtemp1,61 000043 aa 1 00333 2265 33 83 mp3d (pr,id,x3),(pr,id,x3),(pr),round 000044 aa 2 00002 0001 00 84 arg bp|2 000045 aa 2 00002 0001 00 85 arg bp|2 000046 aa 100020 000075 86 desc9fl ab|dtemp2,61 000047 aa 0 00300 2025 00 87 ad2d (pr),(pr),round 000050 aa 100020 000075 88 desc9fl ab|dtemp2,61 000051 aa 100000 000075 89 desc9fl ab|dtemp1,61 90 " 000052 aa 1 00320 2265 20 91 mp3d (pr,id),(pr,id),(pr),round 000053 aa 2 00001 0001 00 92 arg bp|1 000054 aa 2 00002 0001 00 93 arg bp|2 000055 aa 100020 000075 94 desc9fl ab|dtemp2,61 000056 aa 1 00333 2265 32 95 mp3d (pr,id,x2),(pr,id,x3),(pr),round 000057 aa 2 00001 0001 00 96 arg bp|1 000060 aa 2 00002 0001 00 97 arg bp|2 000061 aa 100040 000075 98 desc9fl ab|dtemp3,61 000062 aa 0 00300 2025 00 99 ad2d (pr),(pr),round 000063 aa 100040 000075 100 desc9fl ab|dtemp3,61 000064 aa 100020 000075 101 desc9fl ab|dtemp2,61 000065 0a 000134 7040 05 102 tsx4 dv3d_real_vector,al divide sequence depends on target type 103 " 000066 aa 1 00320 2265 32 104 mp3d (pr,id,x2),(pr,id),(pr),round 000067 aa 2 00001 0001 00 105 arg bp|1 000070 aa 2 00002 0001 00 106 arg bp|2 000071 aa 100020 000075 107 desc9fl ab|dtemp2,61 000072 aa 1 00333 2265 20 108 mp3d (pr,id),(pr,id,x3),(pr),round 000073 aa 2 00001 0001 00 109 arg bp|1 000074 aa 2 00002 0001 00 110 arg bp|2 000075 aa 100040 000075 111 desc9fl ab|dtemp3,61 000076 aa 0 00300 2035 00 112 sb2d (pr),(pr),round 000077 aa 100040 000075 113 desc9fl ab|dtemp3,61 000100 aa 100020 000075 114 desc9fl ab|dtemp2,61 000101 0a 000136 7100 05 115 tra dv3d_imag_vector,al 116 " 117 " dvrcdec -- real decimal / complex decimal 118 " 119 " a ac (ad)i 120 " ------ = ------- - ------- 121 " c + di 2 2 2 2 122 " c + d c + d 000102 123 segdef dvrcdec 000102 124 dvrcdec: 000102 0a 000172 7040 00 125 tsx4 cplx_setup 126 " 000103 aa 1 00320 2265 20 127 mp3d (pr,id),(pr,id),(pr),round 000104 aa 2 00002 0001 00 128 arg bp|2 000105 aa 2 00002 0001 00 129 arg bp|2 000106 aa 100000 000075 130 desc9fl ab|dtemp1,61 000107 aa 1 00333 2265 33 131 mp3d (pr,id,x3),(pr,id,x3),(pr),round 000110 aa 2 00002 0001 00 132 arg bp|2 000111 aa 2 00002 0001 00 133 arg bp|2 000112 aa 100020 000075 134 desc9fl ab|dtemp2,61 000113 aa 0 00300 2025 00 135 ad2d (pr),(pr),round 000114 aa 100020 000075 136 desc9fl ab|dtemp2,61 000115 aa 100000 000075 137 desc9fl ab|dtemp1,61 138 " 000116 aa 1 00320 2265 20 139 mp3d (pr,id),(pr,id),(pr),round 000117 aa 2 00001 0001 00 140 arg bp|1 000120 aa 2 00002 0001 00 141 arg bp|2 000121 aa 100020 000075 142 desc9fl ab|dtemp2,61 000122 0a 000134 7040 05 143 tsx4 dv3d_real_vector,al 144 " 000123 aa 1 00333 2265 20 145 mp3d (pr,id),(pr,id,x3),(pr),round 000124 aa 2 00001 0001 00 146 arg bp|1 000125 aa 2 00002 0001 00 147 arg bp|2 000126 aa 100020 000075 148 desc9fl ab|dtemp2,61 000127 aa 000300 2064 00 149 mp2d (0),(pr),round 000130 0a 000133 010002 150 desc9ls minus_1,2,0 000131 aa 100020 000075 151 desc9fl ab|dtemp2,61 000132 0a 000136 7100 05 152 tra dv3d_imag_vector,al 153 " 000133 aa 055 061 000 000 154 minus_1: aci "-1" 155 " 000134 156 dv3d_real_vector: 000134 0a 000140 7100 00 157 tra dv3d_float_real 000135 0a 000150 7100 00 158 tra dv3d_fixed_real 000136 159 dv3d_imag_vector: 000136 0a 000155 7100 00 160 tra dv3d_float_imag 000137 0a 000165 7100 00 161 tra dv3d_fixed_imag 162 " 000140 163 dv3d_float_real: 000140 aa 1 00100 2275 00 164 dv3d (pr),(pr),(pr) 000141 aa 100000 000075 165 desc9fl ab|dtemp1,61 000142 aa 100020 000075 166 desc9fl ab|dtemp2,61 000143 aa 100040 000077 167 desc9fl ab|dtemp3,63 000144 aa 0 00320 3005 00 168 mvn (pr),(pr,id),round 000145 aa 100040 000077 169 desc9fl ab|dtemp3,63 000146 aa 2 00000 0001 00 170 arg bp|0 000147 aa 000000 7100 14 171 tra 0,4 172 " 000150 173 dv3d_fixed_real: 000150 aa 1 20100 2275 00 174 dv3d (pr),(pr),(pr,id) 000151 aa 100000 000075 175 desc9fl ab|dtemp1,61 000152 aa 100020 000075 176 desc9fl ab|dtemp2,61 000153 aa 2 00000 0001 00 177 arg bp|0 000154 aa 000000 7100 14 178 tra 0,4 179 " 180 " 000155 181 dv3d_float_imag: 000155 aa 1 00100 2275 00 182 dv3d (pr),(pr),(pr) 000156 aa 100000 000075 183 desc9fl ab|dtemp1,61 000157 aa 100020 000075 184 desc9fl ab|dtemp2,61 000160 aa 100040 000077 185 desc9fl ab|dtemp3,63 000161 aa 0 00331 3005 00 186 mvn (pr),(pr,id,x1),round 000162 aa 100040 000077 187 desc9fl ab|dtemp3,63 000163 aa 2 00000 0001 00 188 arg bp|0 000164 aa 6 00046 7101 70 189 tra sp|tbp,*0 190 " 000165 191 dv3d_fixed_imag: 000165 aa 1 31100 2275 00 192 dv3d (pr),(pr),(pr,id,x1) 000166 aa 100000 000075 193 desc9fl ab|dtemp1,61 000167 aa 100020 000075 194 desc9fl ab|dtemp2,61 000170 aa 2 00000 0001 00 195 arg bp|0 000171 aa 6 00046 7101 70 196 tra sp|tbp,*0 197 " 198 " 000172 199 cplx_setup: 000172 aa 2 00000 2351 00 200 lda bp|0 get first descriptor 000173 aa 000000 6210 05 201 eax1 0,al put lower half into x1 000174 aa 000077 3610 03 202 anx1 63,du mask to get the length 000175 aa 000014 7310 00 203 ars 12 shift type code into low order bit 000176 aa 000001 3750 07 204 ana 1,dl mask out rest of a 000177 aa 2 00001 7221 00 205 lxl2 bp|1 get second descriptor 000200 aa 000077 3620 03 206 anx2 63,du mask to get length 000201 aa 2 00002 7231 00 207 lxl3 bp|2 000202 aa 000077 3630 03 208 anx3 63,du 000203 aa 000000 7100 14 209 tra 0,4 return 210 " 211 " 212 " 2 2 213 " abs(a + bi) = sqrt(a + b ) 214 " 000204 215 segdef cabs 000204 216 cabs: 000204 0a 000172 7040 00 217 tsx4 cplx_setup 218 " 000205 aa 1 00320 2265 20 219 mp3d (pr,id),(pr,id),(pr),round 000206 aa 2 00001 0001 00 220 arg bp|1 000207 aa 2 00001 0001 00 221 arg bp|1 000210 aa 100000 000075 222 desc9fl ab|dtemp1,61 000211 aa 1 00332 2265 32 223 mp3d (pr,id,x2),(pr,id,x2),(pr),round 000212 aa 2 00001 0001 00 224 arg bp|1 000213 aa 2 00001 0001 00 225 arg bp|1 000214 aa 100020 000075 226 desc9fl ab|dtemp2,61 000215 aa 0 00300 2025 00 227 ad2d (pr),(pr),round 000216 aa 100020 000075 228 desc9fl ab|dtemp2,61 000217 aa 100000 000075 229 desc9fl ab|dtemp1,61 230 " 000220 0a 000222 7040 00 231 tsx4 decimal_sqrt_ 232 " 000221 aa 6 00046 7101 70 233 tra sp|tbp,*0 234 " 000020 235 equ result,dtemp2 000040 236 equ arg,dtemp3 000060 237 equ atemp,48 000100 238 equ i,64 239 " 240 " decimal_sqrt_ uses repeated subtractions to calculate its result. 241 " It expects a float dec(59) argument at ab|dtemp1 and calculates 242 " a float dec(59) result which it then assigns to the target at bp|0,*. 243 " 000222 244 decimal_sqrt_: 000222 aa 6 00010 7531 00 245 sreg sp|8 save registers 246 " 000223 aa 1 00017 2361 00 247 ldq ab|dtemp1+15 get exponent 000224 aa 000001 7360 00 248 qls 1 " 000225 aa 000034 7320 00 249 qrs 28 " 250 " 251 " This algorithm requires that we imagine the decimal point to be at 252 " the left of the string, so we add 59 to the exponent. 253 " 000226 aa 000073 0760 07 254 adq 59,dl 255 " 256 " Our intermediate calculations will use fixed dec(61) 257 " 000227 aa 000100 3004 00 258 mvn (0),(pr) 000230 0a 000336 010002 259 desc9ls zero,2,0 000231 aa 100020 010076 260 desc9ls ab|result,62,0 000232 aa 000100 3004 00 261 mvn (0),(pr) 000233 0a 000336 010002 262 desc9ls zero,2,0 000234 aa 100040 010076 263 desc9ls ab|arg,62,0 264 " 265 " Move in the argument left normalized 266 " 000235 aa 0 00000 1645 00 267 tct (pr) scan for first non-zero 000236 aa 100000 200073 268 desc9a ab|dtemp1(1),59 000237 0a 000326 0000 00 269 arg zero_table-12 000240 aa 6 00056 0001 00 270 arg sp|46 000241 0a 000323 6064 00 271 ttn ds_done 272 " 000242 aa 6 00056 2351 00 273 lda sp|46 get offset of non-zero character 000243 aa 777777 3750 07 274 ana 262143,dl mask 000244 aa 000000 6220 05 275 eax2 0,al save 000245 aa 000000 5310 00 276 neg 0 000246 aa 6 00056 7551 00 277 sta sp|46 store negated result 000247 aa 6 00056 0761 00 278 adq sp|46 adjust exponent by amount chopped off 000250 aa 000073 6230 05 279 eax3 59,al get length to move 280 " 000251 aa 0 00140 1005 52 281 mlr (pr,rl,x2),(pr,rl) 000252 aa 100000 200013 282 desc9a ab|dtemp1(1),x3 000253 aa 100040 200013 283 desc9a ab|arg(1),x3 284 " 285 " Initialize length registers 286 " 000254 aa 000076 6220 00 287 eax2 62 iprec = 61 000255 aa 000002 6230 00 288 eax3 2 rprec1 = 1 000256 aa 000003 6240 00 289 eax4 3 iprec1 = 2 290 " 291 " Initialize i to +01000...0 292 " 000257 aa 000100 3004 00 293 mvn (0),(pr) 000260 0a 000336 010002 294 desc9ls zero,2,0 000261 aa 100100 010076 295 desc9ls ab|i,62,0 000262 aa 061000 2350 07 296 lda =o061000,dl 000263 aa 1 00100 5511 10 297 stba ab|i,10 298 " 299 " If the exponent is odd, i and the exponent must be adjusted. 300 " 000264 aa 000001 3160 07 301 canq 1,dl 000265 0a 000272 6000 00 302 tze set_exp 303 " 000266 aa 000001 0760 07 304 adq 1,dl exp = exp + 1 000267 aa 000002 6240 00 305 eax4 2 iprec1 = 1 000270 0a 000346 2350 00 306 lda =o000061060000 change i to +1000...0 000271 aa 1 00100 5511 30 307 stba ab|i,30 308 " 309 " Get result exponent by dividing by 2 310 " 000272 311 set_exp: 000272 aa 000001 7320 00 312 qrs 1 313 " 314 " We repeatedly subtract until we get a negative number 315 " 000273 316 sloop: 000273 aa 1 00100 2235 40 317 sb3d (pr,rl),(pr),(pr) atemp = arg - i 000274 aa 100100 010012 318 desc9ls ab|i,x2,0 000275 aa 100040 010076 319 desc9ls ab|arg,62,0 000276 aa 100060 010076 320 desc9ls ab|atemp,62,0 000277 0a 000312 6040 00 321 tmi new_round 322 " 000300 aa 0 00100 3005 00 323 mvn (pr),(pr) arg = atemp 000301 aa 100060 010076 324 desc9ls ab|atemp,62,0 000302 aa 100040 010076 325 desc9ls ab|arg,62,0 000303 aa 000140 2024 00 326 ad2d (0),(pr,rl) i = i + 2 000304 0a 000340 010002 327 desc9ls two,2,0 000305 aa 100100 010014 328 desc9ls ab|i,x4,0 000306 aa 000140 2024 00 329 ad2d (0),(pr,rl) result = result + 1 000307 0a 000337 010002 330 desc9ls one,2,0 000310 aa 100020 010013 331 desc9ls ab|result,x3,0 000311 0a 000273 7100 00 332 tra sloop 333 " 334 " Shift precisions for next round 335 " 000312 336 new_round: 000312 aa 000001 6230 13 337 eax3 1,x3 rprec1 = rprec1 + 1 000313 aa 000074 1030 03 338 cmpx3 60,du 000314 0a 000323 6054 00 339 tpnz ds_done 340 " 000315 aa 000001 6240 14 341 eax4 1,4 iprec1 = iprec1 + 1 000316 aa 000140 2034 00 342 sb2d (0),(pr,rl) i = i - 9 000317 0a 000341 010002 343 desc9ls nine,2,0 000320 aa 100100 010014 344 desc9ls ab|i,x4,0 000321 aa 000001 1620 03 345 sbx2 1,du iprec = iprec - 1 000322 0a 000273 7100 00 346 tra sloop 347 " 348 " Return sequence 349 " 350 " First move decimal pt back to right end of string 351 " 000323 352 ds_done: 000323 aa 000073 1760 07 353 sbq 59,dl 354 " 355 " Convert result to floating point 356 " 000324 aa 000377 3760 07 357 anq 255,dl form a fixed bin(7) and convert to string 000325 aa 000033 7360 00 358 qls 27 shift into position 000326 aa 1 00037 5521 40 359 stbq ab|result+15,40 store exponent 000327 aa 6 00010 0731 00 360 lreg sp|8 restore registers 000330 0a 000334 7160 05 361 xec dsmove,al 000331 aa 100020 000075 362 desc9fl ab|result,61 000332 aa 2 00000 0001 00 363 arg bp|0 000333 aa 000000 7100 14 364 tra 0,4 return 365 " 000334 aa 0 00320 3005 00 366 dsmove: mvn (pr),(pr,id),round 000335 aa 0 00120 3005 00 367 mvn (pr),(pr,id) 368 " 000336 aa 053 060 000 000 369 zero: aci "+0" 000337 aa 053 061 000 000 370 one: aci "+1" 000340 aa 053 062 000 000 371 two: aci "+2" 000341 aa 053 071 000 000 372 nine: aci "+9" 373 " 000342 374 zero_table: 000342 aa 000001 002003 375 oct 000001002003,004005006007,010011000000 000343 aa 004005 006007 000344 aa 010011 000000 376 end LITERALS 000346 aa 000061 060000 NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 000347 5a 000003 000000 000350 5a 000045 600000 000351 aa 000000 000000 000352 55 000012 000002 000353 5a 000002 400003 000354 55 000006 000012 000355 aa 015 143 160 154 000356 aa 170 137 144 145 000357 aa 143 137 157 160 000360 aa 163 137 000 000 000361 55 000017 000003 000362 0a 000204 400000 000363 55 000015 000003 000364 aa 004 143 141 142 cabs 000365 aa 163 000 000 000 000366 55 000024 000012 000367 0a 000102 400000 000370 55 000022 000003 000371 aa 007 144 166 162 dvrcdec 000372 aa 143 144 145 143 000373 55 000031 000017 000374 0a 000036 400000 000375 55 000027 000003 000376 aa 006 144 166 143 dvcdec 000377 aa 144 145 143 000 000400 55 000036 000024 000401 0a 000000 400000 000402 55 000034 000003 000403 aa 006 155 160 143 mpcdec 000404 aa 144 145 143 000 000405 55 000002 000031 000406 6a 000000 400002 000407 55 000041 000003 000410 aa 014 163 171 155 symbol_table 000411 aa 142 157 154 137 000412 aa 164 141 142 154 000413 aa 145 000 000 000 DEFINITIONS HASH TABLE 000414 aa 000000 000015 000415 5a 000024 000000 000416 5a 000031 000000 000417 aa 000000 000000 000420 aa 000000 000000 000421 aa 000000 000000 000422 aa 000000 000000 000423 5a 000036 000000 000424 aa 000000 000000 000425 aa 000000 000000 000426 5a 000012 000000 000427 5a 000017 000000 000430 aa 000000 000000 000431 aa 000000 000000 NO EXTERNAL NAMES NO TRAP POINTER WORDS TYPE PAIR BLOCKS 000432 aa 000001 000000 000433 aa 000000 000000 INTERNAL EXPRESSION WORDS LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 000347 000000 000002 aa 000000 000000 000003 aa 000000 000000 000004 aa 000000 000000 000005 aa 000000 000000 000006 22 000010 000010 000007 a2 000000 000000 SYMBOL INFORMATION SYMBOL TABLE HEADER 000000 aa 000000 000001 000001 aa 163171 155142 000002 aa 164162 145145 000003 aa 000000 000010 000004 aa 000000 117244 000005 aa 361023 525721 000006 aa 000000 117547 000007 aa 254064 173520 000010 aa 141154 155040 000011 aa 040040 040040 000012 aa 000024 000040 000013 aa 000034 000040 000014 aa 000044 000100 000015 aa 000002 000002 000016 aa 000064 000000 000017 aa 000000 000151 000020 aa 000000 000103 000021 aa 000131 000126 000022 aa 000143 000103 000023 aa 000064 000000 000024 aa 101114 115040 000025 aa 126145 162163 000026 aa 151157 156040 000027 aa 070056 061064 000030 aa 040115 141162 000031 aa 143150 040061 000032 aa 071070 071040 000033 aa 040040 040040 000034 aa 110151 162156 000035 aa 145151 163145 000036 aa 156056 123171 000037 aa 163115 141151 000040 aa 156164 056141 000041 aa 040040 040040 000042 aa 040040 040040 000043 aa 040040 040040 000044 aa 055164 141162 000045 aa 147145 164040 000046 aa 154066 070040 000047 aa 040040 040040 000050 aa 040040 040040 000051 aa 040040 040040 000052 aa 040040 040040 000053 aa 040040 040040 000054 aa 040040 040040 000055 aa 040040 040040 000056 aa 040154 151163 000057 aa 164040 163171 000060 aa 155142 157154 000061 aa 163040 040040 000062 aa 040040 040040 000063 aa 040040 040040 000064 aa 000000 000001 000065 aa 000000 000001 000066 aa 000072 000044 000067 aa 175453 020006 000070 aa 000000 117547 000071 aa 176664 600000 000072 aa 076163 160145 >spec>install>1110>cplx_dec_ops_.alm 000073 aa 143076 151156 000074 aa 163164 141154 000075 aa 154076 061061 000076 aa 061060 076143 000077 aa 160154 170137 000100 aa 144145 143137 000101 aa 157160 163137 000102 aa 056141 154155 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number 34 ad3d cplx_dec_ops_: 57, 65. 40 arg cplx_dec_ops_: 236, 263, 283, 319, 325. 60 atemp cplx_dec_ops_: 237, 320, 324. 204 cabs cplx_dec_ops_: 215, 216. 172 cplx_setup cplx_dec_ops_: 34, 77, 125, 199, 217. 222 decimal_sqrt_ cplx_dec_ops_: 231, 244. 334 dsmove cplx_dec_ops_: 361, 366. 323 ds_done cplx_dec_ops_: 271, 339, 352. 0 dtemp1 cplx_dec_ops_: 24, 39, 46, 52, 58, 82, 89, 130, 137, 165, 175, 183, 193, 222, 229, 247, 268, 282. 20 dtemp2 cplx_dec_ops_: 25, 43, 45, 56, 59, 86, 88, 94, 101, 107, 114, 134, 136, 142, 148, 151, 166, 176, 184, 194, 226, 228, 235. 40 dtemp3 cplx_dec_ops_: 26, 98, 100, 111, 113, 167, 169, 185, 187, 236. 165 dv3d_fixed_imag cplx_dec_ops_: 161, 191. 150 dv3d_fixed_real cplx_dec_ops_: 158, 173. 155 dv3d_float_imag cplx_dec_ops_: 160, 181. 140 dv3d_float_real cplx_dec_ops_: 157, 163. 136 dv3d_imag_vector cplx_dec_ops_: 115, 152, 159. 134 dv3d_real_vector cplx_dec_ops_: 102, 143, 156. 36 dvcdec cplx_dec_ops_: 75, 76. 102 dvrcdec cplx_dec_ops_: 123, 124. 100 i cplx_dec_ops_: 238, 295, 297, 307, 318, 328, 344. 133 minus_1 cplx_dec_ops_: 150, 154. 0 mpcdec cplx_dec_ops_: 32, 33. 312 new_round cplx_dec_ops_: 321, 336. 341 nine cplx_dec_ops_: 343, 372. 337 one cplx_dec_ops_: 330, 370. 20 result cplx_dec_ops_: 235, 260, 331, 359, 362. 32 sb3d cplx_dec_ops_: 44, 63. 272 set_exp cplx_dec_ops_: 302, 311. 273 sloop cplx_dec_ops_: 316, 332, 346. 46 tbp cplx_dec_ops_: 23, 61, 189, 196, 233. 340 two cplx_dec_ops_: 327, 371. 336 zero cplx_dec_ops_: 259, 262, 294, 369. 342 zero_table cplx_dec_ops_: 269, 374. NO FATAL ERRORS ----------------------------------------------------------- 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