" BEGIN fort_equs.incl.alm " " Written: June 1976, R. A. Barnes " " Modified: " 22 June 84, MM - Install typeless functions support. " 28 Mar 84, HH - Install HFP support. " 8 November 1982, TO - pl1_operators_ special addition 'VLA_words_per_seg'. " 21 September 1982, TO - pl1_operators_ addition 'fort_storage'. " 1 September 1982, TO - pl1_operators_ additions 'fort_return_mac', " 'fort_cleanup'. " 12 May 1982, HH - Add mpy_overflow_check. " 5 May 1982, TO - Add shorten_stack. " 24 October 1980, CRD - add symbols for new operators needed by " Fortran 77 intrinsics. " 24 September 1980, CRD - change order of base registers in making pr1 " part of the register pool. " 4 March 1980, CRD - add equal_lengths (for emit_eis macro). " 23 February 1980 RAB - add almost_ones and for_divide " 14 December 1979, CRD - add ext_entry_desc operator offset. " 30 November 1979, RAB - add j_le_s, j_g_s indicator substates for " register optimizer. Also, change xq substate to ia, and " add some comments. " 9 August 1979, CRD - add new operator fort_dmod. " 23 July 1979, CRD - add if_bit for def_simple_cond, etc. macros " 9 July 1979 CRD - add new operator fortran_end. " 4 April 1976 DSL - add new bifs tan, dtan, asin, dasin, acos, dacos. " equ opf,16384 operand factor equ arg1,1*opf equ arg2,2*opf equ arg3,3*opf equ arg4,4*opf equ arg5,5*opf equ arg6,6*opf equ arg7,7*opf " equ opv,0*opf " equ op1,-1*opf equ op2,-2*opf equ op3,-3*opf equ op4,-4*opf equ op5,-5*opf equ op6,-6*opf equ op7,-7*opf " equ inhibit,128 this bit necessary for all macros " equ if_bit,256 used to differentiate if/unless " bool int,400000 bool real,200000 bool dp,100000 bool cmpx,40000 bool logical,20000 bool char,10000 bool typeless,4000 bool label,2000 " equ intn,1*256 equ realn,2*256 equ dpn,3*256 equ cmpxn,4*256 equ logicaln,5*256 equ charn,6*256 equ typelessn,7*256 equ labeln,8*256 " equ var,-1 " equ empty,0*256 equ q,1*256 equ a,2*256 equ aq,3*256 equ eaq,4*256 equ deaq,5*256 equ ieaq,6*256 equ iq,7*256 equ ia,8*256 equ tq,9*256 equ ind,10*256 equ tze,11*256 equ tnz,12*256 equ tmi,13*256 equ tpl,14*256 equ tmoz,15*256 equ tpnz,16*256 equ tnc,17*256 equ trc,18*256 equ j_le_s,19*256 equ j_g_s,20*256 " bool variable,400000 bool constant,200000 bool array_ref,100000 bool temp,40000 bool count,20000 bool rel_constant,10000 bool bif,4000 bool statement_function,2000 bool external,1000 bool entry,400 bool dummy,200 bool error,100 bool substr_ref,40 " bool x0,400000 bool x1,200000 bool x2,100000 bool x3,40000 bool x4,20000 bool x5,10000 bool x6,4000 bool x7,2000 bool pr4,1000 bool pr1,400 bool pr2,200 bool pr3,100 bool pr5,40 bool pr7,20 bool indices,x0+x1+x2+x3+x4+x5+x6+x7 bool bases,pr1+pr4+pr2+pr3+pr5+pr7 bool all,indices+bases " equ pr4n,1 equ pr1n,2 equ pr2n,3 equ pr3n,4 equ pr5n,5 equ pr7n,6 equ equal_lengths,1 equ protect_indicators,1 equ discard,2 bool inst_word,040000 " equ for_divide,256 " " builtin operands " equ zero,0 "integer constant zero equ one,1 "integer constant one equ ps,2 "symbol for Fortran I/O arglist equ auto_template,3 "init template for automatic storage equ auto_overlay,4 "overlay of automatic storage equ null_ptr,5 "constant null ITS pointer equ null,6 "null operand equ two,7 "integer constant two equ entry_info,8 "place to store quick proc info equ star_symbol,9 "<*symbol>|0 equ ps_area_ptr,10 "symbol for ps.buffer_p equ desc_overlay,11 "symbol for accessing a descriptor " equ ps_ptr,42 equ format_slot,6 equ end_label_slot,12 equ error_label_slot,10 equ margin_slot,28 equ record_number_slot,9 equ string_slot,16 equ string_length_slot,21 equ file_name_slot,30 equ file_type_slot,32 equ namelist_slot,18 equ iostat_slot,46 equ buffer_size_slot,27 equ descriptor_ptr,34 equ double_temp,46 equ temp_pt,40 equ complex,56 equ op_base,361 =o733-o162=o551 000 equ all_ones,op_base-289 072 equ blanks,op_base-73 288 equ ext_entry,op_base+188 549 equ ext_entry_desc,op_base+189 550 equ return_op,op_base+48 equ fortran_end,op_base+446 equ fort_dmod,op_base+447 equ signal_stringrange,op_base+404 equ integer_to_real,op_base-52 309 equ integer_to_double,op_base-52 309 equ real_to_integer,op_base+67 428 equ double_to_integer,op_base+67 428 equ complex_multiply,op_base+146 507 equ complex_divide,op_base+148 509 equ r_g_s,op_base-42 319 equ r_le_s,op_base-15 346 equ int_p_int,op_base+384 745 equ real_p_int,op_base+383 744 equ real_p_real,op_base+382 743 equ dbl_p_int,op_base+381 742 equ dbl_p_real,op_base+379 740 equ dbl_p_dbl,op_base+380 741 equ cmpx_p_cmpx,op_base+421 782 equ ftn_read,op_base+317 678 equ ftn_write,op_base+318 679 equ ftn_scalar_xmit,op_base+320 681 equ ftn_array_xmit,op_base+321 682 equ ftn_manip,op_base+319 680 equ ftn_terminate,op_base+322 683 equ cabs_,op_base+413 774 equ log_,op_base+353 714 equ dlog_,op_base+370 731 equ clog_,op_base+416 777 equ alog10_,op_base+354 715 equ dlog10_,op_base+371 732 equ atan_,op_base+350 711 equ datan_,op_base+367 728 equ atan2_,op_base+373 734 equ datan2_,op_base+375 736 equ cos_,op_base+342 703 equ dcos_,op_base+359 720 equ ccos_,op_base+414 775 equ exp_,op_base+355 716 equ dexp_,op_base+372 733 equ cexp_,op_base+415 776 equ fort_modfl,op_base+142 503 equ dmod_,op_base+420 781 equ sign_fx,op_base+77 438 equ sign_fl,op_base+78 439 equ sin_,op_base+340 701 equ dsin_,op_base+357 718 equ csin_,op_base+417 778 equ sqrt_,op_base+339 700 equ dsqrt_,op_base+356 717 equ csqrt_,op_base+418 780 equ tanh_,op_base+419 781 equ tan_,op_base+344 705 equ dtan_,op_base+361 722 equ asin_,op_base+346 707 equ dasin_,op_base+363 724 equ acos_,op_base+348 709 equ dacos_,op_base+365 726 equ trunc_fl,op_base+235 596 equ get_math_entry,op_base+422 783 equ fortran_pause,op_base+423 784 equ fortran_stop,op_base+424 785 equ fortran_chain,op_base+425 786 equ call_ext_out,op_base+42 equ call_ext_out_desc,op_base+41 equ call_var,op_base+38 equ call_var_desc,op_base+37 equ ftn_open_element,op_base+438 799 equ ftn_get_area_ptr,op_base+439 800 equ set_cs_eis,op_base+302 663 equ index_cs_eis,op_base+304 665 equ save_stack_quick,op_base+452 813 equ restore_stack_quick,op_base+453 814 equ shorten_stack,op_base+163 524 equ dtanh_,op_base+454 815 equ sinh_,op_base+455 816 equ dsinh_,op_base+456 817 equ cosh_,op_base+457 818 equ dcosh_,op_base+458 819 equ nearest_whole_number,op_base+459 820 equ nearest_integer,op_base+460 821 equ ftn_inquire_element,op_base+461 822 equ mpy_overflow_check,op_base+462 823 equ fort_return_mac,op_base+463 824 equ fort_cleanup,op_base+464 825 equ fort_storage,op_base+465 826 equ enter_BFP_mode,op_base+466 827 equ enter_HFP_mode,op_base+467 828 bool r_l_a,474 bool r_g_a,503 bool r_e_as,512 bool r_ne_as,515 bool r_le_a,520 bool r_ge_a,527 bool r_l_s,507 bool r_ge_s,524 equ bound_ck_signal,op_base+76 bool almost_one,242 equ VLA_words_per_seg,op_base-476 " " Symbols for upper 18 bits of some common hfp values whose lower " 18 bits are zeroes (i.e. values suitable for 'du' modification). " bool P0.5H,000400 = +0.5h,du bool P1.0H,002040 = +1.0h,du bool P2.0H,002100 = +2.0h,du " " END fort_equs.incl.alm " " " ----------------------------------------------------------- " " " " 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 " "