ASSEMBLY LISTING OF SEGMENT >spec>on>06/27/83>lisp_flonum_conversion_.alm ASSEMBLED ON: 07/06/83 0927.2 mst Wed OPTIONS USED: list ASSEMBLED BY: ALM Version 6.4 April 1981 ASSEMBLER CREATED: 11/03/82 1423.6 mst Wed  1 " **************************************************************  2 " * *  3 " * Copyright, (C) Massachusetts Institute of Technology, 1974 *  4 " * *  5 " **************************************************************  000000 6 name lisp_flonum_conversion_  7  8 " This routine converts flonums to character string s for the benefit of lisp_print_  9 " It can probably be replaced by numeric_to_ascii_ when that routine is installed.  10 " Written 74.03.18 by DAM  11  12 " This routine is called with one argument, as follows  13 " 1 argument_structure aligned,  14 " 2 flonum float bin(27) number to be converted  15 " 2 bufp pointer unaligned -> char(76) varying string  16 " 2 temps_for_this_routine,  17 " 3 mantissa fixed bin(27) 18 " 3 exponent fixed bin(8)  19 " 3 dec_temp float decimal(10)  20 " 3 dec_exp float decimal(10)  21 " 3 dbl_temp fixed bin(71)  22  000000 23 equ flonum,0  000001 24 equ bufp,1 000002 25 equ mantissa,2 000003 26 equ exponent,3 000004 27 equ dec_temp,4 000007 28 equ dec_exp,7  000012 29 equ dbl_temp,10  30  000000 31 equ varying_string_length,0  000001 32 equ varying_string_chars,1 33  34  000000 35 zero_table: " TCT table for looking for zeroes  36  000000 aa 777777 777777 37 vfd 36/-1  000001 aa 777777 777777 38 vfd 36/-1  000002 aa 777777 777777 39 vfd 36/-1  000003 aa 777777 777777 40 vfd 36/-1  000004 aa 777777 777777 41 vfd 36/-1  000005 aa 777777 777777 42 vfd 36/-1  000006 aa 777777 777777 43 vfd 36/-1  000007 aa 777777 777777 44 vfd 36/-1  000010 aa 777777 777777 45 vfd 36/-1  000011 aa 777777 777777 46 vfd 36/-1  000012 aa 777777 777777 47 vfd 36/-1  000013 aa 777777 777777 48 vfd 36/-1  000014 aa 000777 777777 49 vfd 9/0,27/-1  000015 aa 777777 777777 50 vfd 36/-1  000016 aa 777777 777777 51 vfd 36/-1  000017 aa 777777 777777 52 vfd 36/-1  000020 aa 777777 777777 53 vfd 36/-1  000021 aa 777777 777777 54 vfd 36/-1  000022 aa 777777 777777 55 vfd 36/-1  000023 aa 777777 777777 56 vfd 36/-1  000024 aa 777777 777777 57 vfd 36/-1  000025 aa 777777 777777 58 vfd 36/-1  000026 aa 777777 777777 59 vfd 36/-1  000027 aa 777777 777777 60 vfd 36/-1  000030 aa 777777 777777 61 vfd 36/-1  000031 aa 777777 777777 62 vfd 36/-1  000032 aa 777777 777777 63 vfd 36/-1  000033 aa 777777 777777 64 vfd 36/-1  000034 aa 777777 777777 65 vfd 36/-1  000035 aa 777777 777777 66 vfd 36/-1  000036 aa 777777 777777 67 vfd 36/-1  000037 aa 777777 777777 68 vfd 36/-1  69  000040 aa 055 000 000 000 70 minus_sign: aci /-/ 71  000041 72 zero_point_zero:  000041 aa 060 056 060 000 73 aci /0.0/  74  000042 aa 060 000 000 000 75 a_zero: aci /0/ 76  000043 aa 056 000 000 000 77 a_dot: aci /./  78  000044 aa 145 053 145 055 79 e_plus_e_minus: aci /e+e-/  80  000045 81 two_to_the_64:  000045 aa 061 070 064 064 82 aci /18446744073709551616/ 20. characters  000046 aa 066 067 064 064 000047 aa 060 067 063 067 000050 aa 060 071 065 065 000051 aa 061 066 061 066 83  000052 84 segdef lisp_flonum_conversion_ 85  000052 86 lisp_flonum_conversion_:  87  000052 aa 0 00002 3501 20 88 eppap ap|2,* -> argument structure  000053 aa 0 00000 4311 00 89 fld ap|flonum pick up argument  000054 0a 000347 6000 00 90 tze special_case_zero only needed because of bug in MVN instruction  000055 aa 000010 7310 00 91 ars 8 explode the flonum  000056 aa 0 00002 7551 00 92 sta ap|mantissa  000057 aa 0 00003 4561 00 93 ste ap|exponent  000060 aa 0 00100 3015 00 94 btd (pr),(pr) convert mantissa to decimal 000061 aa 000002 000004 95 desc9a ap|mantissa,4  000062 aa 000004 010013 96 desc9ls ap|dec_temp,11 000063 aa 0 00100 3005 00 97 mvn (pr),(pr) better float it right away  000064 aa 000004 010013 98 desc9ls ap|dec_temp,11 000065 aa 000004 000014 99 desc9fl ap|dec_temp,12 000066 aa 0 00003 2351 00 100 lda ap|exponent  000067 aa 000034 7310 00 101 ars 36-8  000070 aa 000033 1750 07 102 sba 27,dl  000071 aa 0 00003 7551 00 103 sta ap|exponent save sign 000072 aa 000002 6050 04 104 tpl 2,ic  000073 aa 000000 5310 00 105 neg 0  000074 aa 000100 1150 07 106 g0001: cmpa 64,dl too big to shift?  000075 0a 000111 6040 00 107 tmi g0002 no, go ahead  000076 aa 000100 1750 07 108 sba 64,dl yes, do 64 powers sperately  000077 aa 0 00003 2341 00 109 szn ap|exponent  000100 0a 000105 6040 00 110 tmi g0003  000101 aa 000300 2064 00 111 mp2d (),(pr),round 000102 0a 000045 030024 112 desc9ns two_to_the_64,20,0 000103 aa 000004 000014 113 desc9fl ap|dec_temp,12 000104 0a 000074 7100 00 114 tra g0001  115  000105 aa 000300 2074 00 116 g0003: dv2d (),(pr),round  000106 0a 000045 030024 117 desc9ns two_to_the_64,20,0 000107 aa 000004 000014 118 desc9fl ap|dec_temp,12 000110 0a 000074 7100 00 119 tra g0001  120  000111 aa 000000 6210 05 121 g0002: eax1 0,al  000112 aa 000000 2350 07 122 lda 0,dl  000113 aa 000001 2360 07 123 ldq 1,dl  000114 aa 000000 7370 11 124 lls 0,x1  000115 aa 0 00012 7571 00 125 staq ap|dbl_temp  000116 aa 0 00100 3015 00 126 btd (pr),(pr)  000117 aa 000012 000010 127 desc9a ap|dbl_temp,8  000120 aa 000007 070050 128 desc4ns ap|dec_exp,40 clobber 5 words, 3 of which are dec_exp, 2 dbl_temp  000121 aa 0 00300 3005 00 129 mvn (pr),(pr),round  000122 aa 000007 070050 130 desc4ns ap|dec_exp,40  000123 aa 000007 000014 131 desc9fl ap|dec_exp,12  000124 aa 0 00003 2341 00 132 szn ap|exponent  000125 0a 000132 6040 00 133 tmi neg_exponent  000126 134 pos_exponent:  000126 aa 0 00300 2065 00 135 mp2d (pr),(pr),round  000127 aa 000007 000014 136 desc9fl ap|dec_exp,12  000130 aa 000004 000014 137 desc9fl ap|dec_temp,12 000131 0a 000135 7100 00 138 tra got_dec_num  139  000132 140 neg_exponent:  000132 aa 0 00300 2075 00 141 dv2d (pr),(pr),round  000133 aa 000007 000014 142 desc9fl ap|dec_exp,12  000134 aa 000004 000014 143 desc9fl ap|dec_temp,12 144  000135 145 got_dec_num:  146  147 """ Now round to 8 digits and decide whether it needs E format or will fit in F format  148  000135 aa 0 00300 3005 00 149 mvn (pr),(pr),round  000136 aa 000004 000014 150 desc9fl ap|dec_temp,12 000137 aa 000004 000012 151 desc9fl ap|dec_temp,10 152  153 " scan out leading zeroes, if any  154  000140 aa 0 00000 1645 00 155 tct (pr),()  000141 aa 000004 200010 156 desc9a ap|dec_temp(1),8  000142 0a 000000 0000 00 157 arg zero_table 000143 aa 0 00012 0001 00 158 arg ap|dbl_temp  000144 aa 0 00012 2351 00 159 lda ap|dbl_temp  000145 aa 777777 3750 07 160 ana -1,dl  000146 aa 000002 6070 04 161 ttf 2,ic  000147 aa 000007 2350 07 162 lda 7,dl if all zero, only flush first 7 zeroes  000150 aa 0 00012 7551 00 163 sta ap|dbl_temp  164  000151 aa 000010 2360 07 165 ldq 8,dl  000152 aa 0 00012 1761 00 166 sbq ap|dbl_temp  000153 aa 0 60100 1005 45 167 mlr (pr,al,rl),(pr),fill(060)  000154 aa 000004 200006 168 desc9a ap|dec_temp(1),ql  000155 aa 000004 200010 169 desc9a ap|dec_temp(1),8  170  000156 aa 0 00001 7621 00 171 lprpbp ap|bufp set up to emit stuff  000157 aa 000000 6270 00 172 eax7 0 offset in varying string of next char 173  000160 aa 0 00002 2341 00 174 szn ap|mantissa  000161 0a 000166 6050 00 175 tpl it_is_positive 000162 aa 000117 1004 00 176 mlr (),(pr,x7) put out minus sign 000163 0a 000040 000001 177 desc9a minus_sign,1  000164 aa 200001 000001 178 desc9a bp|varying_string_chars,1  000165 aa 000001 6270 17 179 eax7 1,x7  000166 180 it_is_positive: 181  000166 aa 0 00006 2351 00 182 lda ap|dec_temp+2 get decimal exponent  000167 aa 000012 7350 00 183 als 10 000170 aa 000034 7310 00 184 ars 36-8  000171 0a 000356 1150 00 185 cmpa =-8  000172 0a 000254 6040 00 186 tmi small_exponent 187  000173 aa 0 00012 1151 00 188 cmpa ap|dbl_temp exponent too large? 000174 0a 000276 6054 00 189 tpnz E_format  190  000175 aa 0 00012 0751 00 191 F_format: ada ap|dbl_temp - number of digits to right of decimal point 000176 aa 0 00003 7551 00 192 sta ap|exponent  000177 aa 000010 2350 07 193 lda 8,dl get number digits to left of point  000200 aa 0 00003 0751 00 194 ada ap|exponent  000201 0a 000211 6000 00 195 tze f3 000202 aa 0 00157 1005 40 196 mlr (pr,rl),(pr,x7,rl) 000203 aa 000004 200005 197 desc9a ap|dec_temp(1),al  000204 aa 200001 000005 198 desc9a bp|varying_string_chars,al  000205 aa 000000 6350 05 199 eaa 0,al := adx7 a  000206 aa 0 00012 7551 00 200 sta ap|dbl_temp  000207 aa 0 00012 0671 00 201 adx7 ap|dbl_temp  000210 0a 000215 7100 00 202 tra f2 203  000211 aa 000117 1004 00 204 f3: mlr (),(pr,x7) no digits to left, supply a zero  000212 0a 000042 000001 205 desc9a a_zero,1  000213 aa 200001 000001 206 desc9a bp|varying_string_chars,1  000214 aa 000001 6270 17 207 eax7 1,x7  208  000215 aa 000117 1004 00 209 f2: mlr (),(pr,x7)  000216 0a 000043 000001 210 desc9a a_dot,1 put decimal point 000217 aa 200001 000001 211 desc9a bp|varying_string_chars,1  000220 aa 000001 6270 17 212 eax7 1,x7  213  000221 aa 0 00003 3351 00 214 lca ap|exponent digits to right of point  000222 0a 000245 6000 00 215 tze f4 none, supply a zero.  000223 aa 000000 6210 05 216 eax1 0,al  000224 aa 000010 2350 07 217 lda 8,dl  000225 aa 0 00003 0751 00 218 ada ap|exponent number digits need to be skipped. 000226 aa 0 00000 1655 45 219 tctr (pr,al,rl),() truncate trailing zeroes  000227 aa 000004 200011 220 desc9a ap|dec_temp(1),x1  000230 0a 000000 0000 00 221 arg zero_table 000231 aa 0 00012 0001 00 222 arg ap|dbl_temp  000232 aa 0 00012 7221 00 223 lxl2 ap|dbl_temp  000233 aa 000002 6070 04 224 ttf 2,ic  000234 aa 777777 6220 11 225 eax2 -1,x1 leave at least one zero  000235 aa 0 00012 7421 00 226 stx2 ap|dbl_temp x2 = number tr z's to suppress  000236 aa 0 00012 1611 00 227 sbx1 ap|dbl_temp  000237 aa 0 00157 1005 45 228 mlr (pr,al,rl),(pr,x7,rl)  000240 aa 000004 200011 229 desc9a ap|dec_temp(1),x1  000241 aa 200001 000011 230 desc9a bp|varying_string_chars,x1  000242 aa 0 00012 7411 00 231 stx1 ap|dbl_temp  000243 aa 0 00012 0671 00 232 adx7 ap|dbl_temp = adx7 x1  000244 0a 000251 7100 00 233 tra f5 234  000245 aa 000117 1004 00 235 f4: mlr (),(pr,x7)  000246 0a 000042 000001 236 desc9a a_zero,1  000247 aa 200001 000001 237 desc9a bp|varying_string_chars,1  000250 aa 000001 6270 17 238 eax7 1,x7  239  000251 240 f5: 000251 241 done_update_string_length:  000251 aa 2 00000 4501 00 242 stz bp|varying_string_length  000252 aa 2 00000 4471 00 243 sxl7 bp|varying_string_length  000253 aa 7 00044 7101 20 244 short_return  245  000254 246 small_exponent: " probably has to go in E format, but could use F format if trailing zeroes 247  000254 aa 0 00000 1655 00 248 tctr (pr),()  000255 aa 000004 400007 249 desc9a ap|dec_temp(2),7  000256 0a 000000 0000 00 250 arg zero_table 000257 aa 0 00013 0001 00 251 arg ap|dbl_temp+1  000260 aa 0 00003 7551 00 252 sta ap|exponent present exponent  000261 aa 000010 0750 07 253 ada 8,dl - number of leading zroes must have 000262 aa 000000 6220 00 254 eax2 0 000263 aa 0 00013 7421 00 255 stx2 ap|dbl_temp+1 := number leading zeroes can get  000264 aa 0 00013 0551 00 256 asa ap|dbl_temp+1 set indicators from sum then throw away.  000265 0a 000275 6040 00 257 tmi E_format_after_all need more than can have  258  259 " we can use F format just by putting in some leading zeroes instead of trailing zeroes 260  000266 aa 000010 6220 05 261 eax2 8,al := number of non-lz characters 000267 aa 0 60100 1015 40 262 mrl (pr,rl),(pr),fill(060) insert leading zeroes  000270 aa 000004 200012 263 desc9a ap|dec_temp(1),x2  000271 aa 000004 200010 264 desc9a ap|dec_temp(1),8  000272 aa 000000 5310 00 265 neg 0  000273 aa 0 00003 0751 00 266 ada ap|exponent offset exponent by amount of shift  000274 0a 000175 7100 00 267 tra F_format  268  000275 269 E_format_after_all: 000275 aa 0 00003 2351 00 270 lda ap|exponent  271  000276 272 E_format:  273 " a contains decimal exponent. ap|dbl_temp contains count of leading zeroes  000276 aa 0 00012 1751 00 274 sba ap|dbl_temp correct decimal exponent from lz suppr  000277 aa 000007 0750 07 275 ada 7,dl allow for decimal point being after first digit.  276 " a now has the exponent we want to print after the number  000300 aa 0 00003 7551 00 277 sta ap|exponent  278  000301 aa 0 00000 1655 00 279 tctr (pr),()  000302 aa 000004 200010 280 desc9a ap|dec_temp(1),8  000303 0a 000000 0000 00 281 arg zero_table 000304 aa 0 00012 0001 00 282 arg ap|dbl_temp  000305 aa 0 00012 2351 00 283 lda ap|dbl_temp  000306 aa 777777 3750 07 284 ana -1,dl  000307 aa 000002 6070 04 285 ttf 2,ic  000310 aa 000007 2350 07 286 lda 7,dl if all zero, only use 7 zeroes. 287  000311 aa 0 56117 1005 00 288 mlr (pr),(pr,x7),fill(056) move first digit and decimal point out  000312 aa 000004 200001 289 desc9a ap|dec_temp(1),1  000313 aa 200001 000002 290 desc9a bp|varying_string_chars,2  000314 aa 000002 6270 17 291 eax7 2,x7  292  000315 aa 000000 5310 00 293 neg 0 put number of trailing non-zeroes in au  000316 aa 000007 6350 05 294 eaa 7,al  000317 0a 000326 6000 00 295 tze e2 000320 aa 0 00157 1005 40 296 mlr (pr,rl),(pr,x7,rl) 000321 aa 000004 400001 297 desc9a ap|dec_temp(2),au  000322 aa 200001 000001 298 desc9a bp|varying_string_chars,au  000323 aa 0 00012 7551 00 299 sta ap|dbl_temp  000324 aa 0 00012 0671 00 300 adx7 ap|dbl_temp  000325 0a 000332 7100 00 301 tra e3 302  000326 aa 000117 1004 00 303 e2: mlr (),(pr,x7)  000327 0a 000042 000001 304 desc9a a_zero,1  000330 aa 200001 000001 305 desc9a bp|varying_string_chars,1  000331 aa 000001 6270 17 306 eax7 1,x7  307  000332 308 e3: 309  310 """ Now put out the exponent.  311  000332 aa 000000 6220 00 312 eax2 0 000333 aa 0 00003 2341 00 313 szn ap|exponent  000334 aa 000002 6050 04 314 tpl 2,ic  000335 aa 000002 6220 00 315 eax2 2 000336 aa 000117 1004 12 316 mlr (x2),(pr,x7)  000337 0a 000044 000002 317 desc9a e_plus_e_minus,2  000340 aa 200001 000002 318 desc9a bp|varying_string_chars,2  000341 aa 000002 6270 17 319 eax7 2,x7  320  000342 aa 0 00117 3015 00 321 btd (pr),(pr,x7)  000343 aa 000003 000004 322 desc9a ap|exponent,4  000344 aa 200001 030002 323 desc9ns bp|varying_string_chars,2 2 digits of exponent.  000345 aa 000002 6270 17 324 eax7 2,x7  000346 0a 000251 7100 00 325 tra done_update_string_length  326  327  328  000347 329 special_case_zero:  000347 aa 0 00001 7621 00 330 lprpbp ap|bufp 000350 aa 000100 1004 00 331 mlr (),(pr)  000351 0a 000041 000003 332 desc9a zero_point_zero,3  000352 aa 200001 000003 333 desc9a bp|varying_string_chars,3  000353 aa 000003 2360 07 334 ldq 3,dl  000354 aa 2 00000 7561 00 335 stq bp|varying_string_length  000355 aa 7 00044 7101 20 336 short_return  337  338 end  LITERALS 000356 aa 777777 777770 NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 000357 5a 000003 000000 000360 5a 000034 600000 000361 aa 000000 000000 000362 55 000014 000002 000363 5a 000002 400003 000364 55 000006 000014 000365 aa 027 154 151 163 000366 aa 160 137 146 154 000367 aa 157 156 165 155 000370 aa 137 143 157 156 000371 aa 166 145 162 163 000372 aa 151 157 156 137 000373 55 000025 000003 000374 0a 000052 400000 000375 55 000017 000003 000376 aa 027 154 151 163 lisp_flonum_conversion_ 000377 aa 160 137 146 154 000400 aa 157 156 165 155 000401 aa 137 143 157 156 000402 aa 166 145 162 163 000403 aa 151 157 156 137 000404 55 000002 000014 000405 6a 000000 400002 000406 55 000030 000003 000407 aa 014 163 171 155 symbol_table  000410 aa 142 157 154 137 000411 aa 164 141 142 154 000412 aa 145 000 000 000 DEFINITIONS HASH TABLE  000413 aa 000000 000015 000414 aa 000000 000000 000415 5a 000014 000000 000416 aa 000000 000000 000417 aa 000000 000000 000420 aa 000000 000000 000421 aa 000000 000000 000422 5a 000025 000000 000423 aa 000000 000000 000424 aa 000000 000000 000425 aa 000000 000000 000426 aa 000000 000000 000427 aa 000000 000000 000430 aa 000000 000000 NO EXTERNAL NAMES  NO TRAP POINTER WORDS  TYPE PAIR BLOCKS  000431 aa 000001 000000 000432 aa 000000 000000 INTERNAL EXPRESSION WORDS 000433 aa 000000 000000 LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 000357 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 000004 000004 aa 000000 111316 000005 aa 510113 575622 000006 aa 000000 112002 000007 aa 325423 512334 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 000142 000020 aa 000000 000106 000021 aa 000000 000131 000022 aa 000134 000106 000023 aa 000064 000000 000024 aa 101114 115040 000025 aa 126145 162163 000026 aa 151157 156040 000027 aa 040066 056064 000030 aa 040040 101160 000031 aa 162151 154040 000032 aa 061071 070061 000033 aa 040040 040040 000034 aa 107112 157150 000035 aa 156163 157156 000036 aa 056123 171163 000037 aa 115141 151156 000040 aa 164056 141040 000041 aa 040040 040040 000042 aa 040040 040040 000043 aa 040040 040040 000044 aa 154151 163164 000045 aa 040040 040040 000046 aa 040040 040040 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 040040 040040 000057 aa 040040 040040 000060 aa 040040 040040 000061 aa 040040 040040 000062 aa 040040 040040 000063 aa 040040 040040 000064 aa 000000 000001 000065 aa 000000 000001 000066 aa 000072 000055 000067 aa 117710 106005 000070 aa 000000 111771 000071 aa 743235 600000 000072 aa 076163 160145 >spec>on>06/27/83>lisp_flonum_conversion_.alm  000073 aa 143076 157156 000074 aa 076060 066057 000075 aa 062067 057070 000076 aa 063076 154151 000077 aa 163160 137146 000100 aa 154157 156165 000101 aa 155137 143157 000102 aa 156166 145162 000103 aa 163151 157156 000104 aa 137056 141154 000105 aa 155040 040040 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number  43 a_dot lisp_flonum_conversion_: 77, 210.  42 a_zero lisp_flonum_conversion_: 75, 205, 236, 304.  1 bufp lisp_flonum_conversion_: 24, 171, 330. 12 dbl_temp lisp_flonum_conversion_: 29, 125, 127, 158, 159, 163, 166, 188, 191, 200,  201, 222, 223, 226, 227, 231, 232, 251, 255, 256,  274, 282, 283, 299, 300. 7 dec_exp lisp_flonum_conversion_: 28, 128, 130, 131, 136, 142.  4 dec_temp lisp_flonum_conversion_: 27, 96, 98, 99, 113, 118, 137, 143, 150, 151,  156, 168, 169, 182, 197, 220, 229, 249, 263, 264,  280, 289, 297. 251 done_update_string_length lisp_flonum_conversion_: 241, 325. 326 e2 lisp_flonum_conversion_: 295, 303.  332 e3 lisp_flonum_conversion_: 301, 308.  3 exponent lisp_flonum_conversion_: 26, 93, 100, 103, 109, 132, 192, 194, 214, 218,  252, 266, 270, 277, 313, 322.  276 E_format lisp_flonum_conversion_: 189, 272.  275 E_format_after_all lisp_flonum_conversion_: 257, 269.  44 e_plus_e_minus lisp_flonum_conversion_: 79, 317.  215 f2 lisp_flonum_conversion_: 202, 209.  211 f3 lisp_flonum_conversion_: 195, 204.  245 f4 lisp_flonum_conversion_: 215, 235.  251 f5 lisp_flonum_conversion_: 233, 240.  0 flonum lisp_flonum_conversion_: 23, 89.  175 F_format lisp_flonum_conversion_: 191, 267.  74 g0001 lisp_flonum_conversion_: 106, 114, 119. 111 g0002 lisp_flonum_conversion_: 107, 121.  105 g0003 lisp_flonum_conversion_: 110, 116.  135 got_dec_num lisp_flonum_conversion_: 138, 145.  166 it_is_positive lisp_flonum_conversion_: 175, 180.  52 lisp_flonum_conversion_ lisp_flonum_conversion_: 84, 86.  2 mantissa lisp_flonum_conversion_: 25, 92, 95, 174.  40 minus_sign lisp_flonum_conversion_: 70, 177.  132 neg_exponent lisp_flonum_conversion_: 133, 140.  126 pos_exponent lisp_flonum_conversion_: 134. 254 small_exponent lisp_flonum_conversion_: 186, 246.  347 special_case_zero lisp_flonum_conversion_: 90, 329.  45 two_to_the_64 lisp_flonum_conversion_: 81, 112, 117. 1 varying_string_chars lisp_flonum_conversion_: 32, 178, 198, 206, 211, 230, 237, 290, 298, 305,  318, 323, 333. 0 varying_string_length lisp_flonum_conversion_: 31, 242, 243, 335.  41 zero_point_zero lisp_flonum_conversion_: 72, 332.  0 zero_table lisp_flonum_conversion_: 35, 157, 221, 250, 281. 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