COMPILATION LISTING OF SEGMENT bce_get_flagbox Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-06-29_1717.88_Thu_mdt Options: optimize list 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 6* * * 7* *********************************************************** */ 8 bce_get_flagbox: proc (P_ss_info_ptr); 9 10 /* Version of get_flagbox for bce. Stolen by Keith Loepere, December 1983. */ 11 12 /* format: style4,indattr,ifthenstmt,ifthen,idind33,^indcomtxt */ 13 14 dcl P_ss_info_ptr ptr parameter; 15 dcl active_fnc_err_ entry options (variable); 16 dcl active_function bit (1) aligned; /* as opposed to command usage */ 17 dcl addbitno builtin; 18 dcl addr builtin; 19 dcl af_return char (af_return_len) based (af_return_ptr) var; /* return for active function */ 20 dcl af_return_len fixed bin (21); 21 dcl af_return_ptr ptr; 22 dcl arg char (arg_len) based (arg_ptr); /* command line arg */ 23 dcl arg_count fixed bin; 24 dcl arg_len fixed bin (21); 25 dcl arg_ptr ptr; 26 dcl bit_ptr ptr; /* to bit in flagbox to examine/set */ 27 dcl code fixed bin (35); 28 dcl com_err_ entry options (variable); 29 dcl cu_$af_return_arg_rel entry (fixed bin, ptr, fixed bin (21), fixed bin (35), ptr); 30 dcl cu_$arg_ptr_rel entry (fixed bin, ptr, fixed bin (21), fixed bin (35), ptr); 31 dcl cv_dec_check_ entry (char (*), fixed bin (35)) returns (fixed bin); 32 dcl error variable entry options (variable); 33 dcl error_table_$badopt fixed bin (35) ext; 34 dcl flag_num fixed bin; /* which flag bit in flagbox */ 35 dcl flagbox_bit bit (1) based (bit_ptr); /* bit in flagbox flags */ 36 dcl ioa_ entry options (variable); 37 dcl me char (11); /* program name */ 38 dcl old_value char (256) var; /* result of command */ 39 dcl option char (12); /* value desired */ 40 dcl requote_string_ entry (char (*)) returns (char (*)); 41 dcl rtrim builtin; 42 dcl set bit (1) aligned; /* as opposed to get operation */ 43 44 set = "0"b; 45 me = "get_flagbox"; 46 go to join; 47 48 bce_set_flagbox: entry (P_ss_info_ptr); 49 50 set = "1"b; 51 me = "set_flagbox"; 52 join: 53 ss_info_ptr = P_ss_info_ptr; 54 arg_list_ptr = ss_info.arg_list_ptr; 55 call cu_$af_return_arg_rel (arg_count, af_return_ptr, af_return_len, code, arg_list_ptr); 56 active_function = (code = 0); 57 if active_function then error = active_fnc_err_; 58 else error = com_err_; 59 if set then 60 if arg_count ^= 2 then do; 61 call error (0, me, "Usage is: set_flagbox name old_value"); 62 return; 63 end; 64 else ; 65 else if arg_count ^= 1 then do; 66 call error (0, me, "Usage is: get_flagbox name"); 67 return; 68 end; 69 70 fgbxp = addr (flagbox$); 71 call cu_$arg_ptr_rel (1, arg_ptr, arg_len, code, arg_list_ptr); 72 option = arg; 73 if option = "bce_command" then old_value = rtrim (fgbx.return_to_bce_command); 74 else do; 75 flag_num = cv_dec_check_ (option, code); 76 if code ^= 0 then do; 77 do flag_num = 1 to 36 while (option ^= flagbox_flag_names (flag_num)); 78 end; 79 end; 80 81 if flag_num <= 36 then bit_ptr = addbitno (addr (fgbx.flags), flag_num - 1); 82 else if option = "ssenb" then bit_ptr = addr (fgbx.ssenb); 83 else if option = "manual_crash" then bit_ptr = addr (fgbx.manual_crash); 84 else if option = "call_bce" then bit_ptr = addr (fgbx.call_bce); 85 else if option = "shut" then bit_ptr = addr (fgbx.shut); 86 else go to fail1; 87 if flagbox_bit then old_value = "true"; 88 else old_value = "false"; 89 end; 90 91 if set then do; 92 call cu_$arg_ptr_rel (2, arg_ptr, arg_len, code, arg_list_ptr); 93 if option = "bce_command" then fgbx.return_to_bce_command = arg; 94 else do; 95 if arg = "true" then flagbox_bit = "1"b; 96 else if arg = "false" then flagbox_bit = "0"b; 97 else do; 98 code = error_table_$badopt; 99 go to fail; 100 end; 101 end; 102 end; 103 104 if active_function then af_return = requote_string_ ((old_value)); 105 else if ^set then call ioa_ (old_value); 106 return; 107 108 fail1: code = error_table_$badopt; 109 fail: call error (code, me, "^a", arg); 110 return; 111 /* Begin include file bce_subsystem_info_.incl.pl1 BIM 11/82 */ 1 2 1 3 /* format: style3 */ 1 4 1 5 /* Deleted unused items, Keith Loepere, 5/84 */ 1 6 1 7 1 8 /****^ HISTORY COMMENTS: 1 9* 1) change(86-04-22,Farley), approve(86-07-18,MCR7439), 1 10* audit(86-10-08,Fawcett), install(86-10-20,MR12.0-1189): 1 11* Added request_handling_opr_aborts flag for save/restore. 1 12* END HISTORY COMMENTS */ 1 13 1 14 declare ss_info_ptr pointer; 1 15 declare 1 ss_info aligned based (ss_info_ptr), 1 16 2 request_table_ptr 1 17 pointer, 1 18 2 abort_label label, 1 19 2 name char (32) unaligned, 1 20 2 arg_list_ptr pointer, 1 21 2 info_ptr pointer, 1 22 2 flags aligned, 1 23 3 forbid_semicolons bit (1) unaligned, 1 24 3 request_handling_opr_aborts bit (1) unaligned; 1 25 1 26 /* End include file bce_subsystem_info_ */ 111 112 /* BEGIN INCLUDE FILE ... flagbox.incl.pl1 */ 2 2 2 3 2 4 /****^ HISTORY COMMENTS: 2 5* 1) change(87-02-26,Farley), approve(87-04-15,MCR7661), 2 6* audit(87-04-21,Fawcett), install(87-04-28,MR12.1-1028): 2 7* Added io_reconfig flag to inhibit BCE from attempting an emergency 2 8* shutdown when the data in memory could be corrupted. 2 9* END HISTORY COMMENTS */ 2 10 2 11 2 12 /* last modified 5/3/77 by Noel I. Morris */ 2 13 /* Modified 8/79 by R.J.C. Kissel to add FNP blast message. */ 2 14 /* Modified 7/82 BIM for recognizable sentinel field */ 2 15 /* Modified for bootload Multics flagbox starting in 8/83 by Keith Loepere. */ 2 16 2 17 /* The contents of this segment are data shared by Multics and bce. 2 18* This entity occupies the locations within the toehold starting at 40o 2 19* (not counting the toehold_used spacer at the beginning). */ 2 20 2 21 dcl flagbox$ ext; 2 22 dcl fgbxp ptr; 2 23 2 24 dcl 1 fgbx based (fgbxp) aligned, 2 25 2 toehold_used (32) bit (36) aligned, /* flagbox seg now mapped onto all of first page of toehold - 2 26* This is what was unused before. */ 2 27 2 flags (36) bit (1) unal, /* communications switches */ 2 28 2 slt_segno bit (18), /* segment # of the SLT */ 2 29 2 pad1 fixed bin, 2 30 2 rtb, /* return to bce info */ 2 31 (3 ssenb bit (1), /* "1"b if storage system enabled */ 2 32 3 call_bce bit (1), /* "1"b if bce called by operator */ 2 33 3 shut bit (1), /* "1"b if bce called after shutdown */ 2 34 3 mess bit (1), /* "1"b if message has been provided */ 2 35 3 alert bit (1), /* "1"b if audible alarm to be sounded */ 2 36 3 breakpoint bit (1), /* "1"b is breakpoint caused call to bce */ 2 37 3 manual_crash bit (1), /* either manual entry or execute fault */ 2 38 3 io_reconfig bit (1), /* "1"b if I/O reconfiguration */ 2 39 /* could cause memory corruption */ 2 40 3 pad bit (21), 2 41 3 bce_entry fixed bin (6) uns) unal, /* type of entry into bce 2 42* 00o => Multics entry 2 43* 20o => manual entry 2 44* 40o => esd entry */ 2 45 2 sentinel char (32) aligned, /* set by bce (for now) */ 2 46 2 sst_sdw bit (72), /* set by init_sst */ 2 47 2 hc_dbr bit (72), /* set by start_cpu, idle DBR */ 2 48 2 message char (64), /* message for return to bce */ 2 49 2 return_to_bce_command char (128) unal; /* command to run upon crash/shutdown */ 2 50 2 51 declare FLAGBOX_SENTINEL char (32) init ("Flagbox & Toehold Valid") int static options (constant); 2 52 2 53 /* END INCLUDE FILE ... flagbox.incl.pl1 */ 112 113 /* BEGIN INCLUDE FILE ... flagbox_flags.incl.pl1 */ 3 2 3 3 dcl 1 flagbox_flags based aligned, 3 4 2 auto_reboot bit (1) unal, /* 1 */ 3 5 2 booting bit (1) unal, /* 2 */ 3 6 2 bit3 bit (1) unal, /* 3 */ 3 7 2 rebooted bit (1) unal, /* 4 */ 3 8 2 unattended bit (1) unal, /* 5 */ 3 9 2 bit6 bit (1) unal, /* 6 */ 3 10 2 bit7 bit (1) unal, /* 7 */ 3 11 2 bit8 bit (1) unal, /* 8 */ 3 12 2 bit9 bit (1) unal, /* 9 */ 3 13 2 bit10 bit (1) unal, /* 10 */ 3 14 2 bit11 bit (1) unal, /* 11 */ 3 15 2 bit12 bit (1) unal, /* 12 */ 3 16 2 bit13 bit (1) unal, /* 13 */ 3 17 2 bit14 bit (1) unal, /* 14 */ 3 18 2 bit15 bit (1) unal, /* 15 */ 3 19 2 bit16 bit (1) unal, /* 16 */ 3 20 2 bit17 bit (1) unal, /* 17 */ 3 21 2 bit18 bit (1) unal, /* 18 */ 3 22 2 bit19 bit (1) unal, /* 19 */ 3 23 2 bit20 bit (1) unal, /* 20 */ 3 24 2 bit21 bit (1) unal, /* 21 */ 3 25 2 bit22 bit (1) unal, /* 22 */ 3 26 2 bit23 bit (1) unal, /* 23 */ 3 27 2 bit24 bit (1) unal, /* 24 */ 3 28 2 bit25 bit (1) unal, /* 25 */ 3 29 2 bit26 bit (1) unal, /* 26 */ 3 30 2 bit27 bit (1) unal, /* 27 */ 3 31 2 bit28 bit (1) unal, /* 28 */ 3 32 2 bit29 bit (1) unal, /* 29 */ 3 33 2 bit30 bit (1) unal, /* 30 */ 3 34 2 bit31 bit (1) unal, /* 31 */ 3 35 2 bit32 bit (1) unal, /* 32 */ 3 36 2 bit33 bit (1) unal, /* 33 */ 3 37 2 bit34 bit (1) unal, /* 34 */ 3 38 2 bit35 bit (1) unal, /* 35 */ 3 39 2 bit36 bit (1) unal; /* 36 */ 3 40 3 41 dcl flagbox_flag_names (36) char (12) static options (constant) init 3 42 ("auto_reboot", /* 1 */ 3 43 "booting", /* 2 */ 3 44 "bit3", /* 3 */ 3 45 "rebooted", /* 4 */ 3 46 "unattended", /* 5 */ 3 47 "bit6", /* 6 */ 3 48 "bit7", /* 7 */ 3 49 "bit8", /* 8 */ 3 50 "bit9", /* 9 */ 3 51 "bit10", /* 10 */ 3 52 "bit11", /* 11 */ 3 53 "bit12", /* 12 */ 3 54 "bit13", /* 13 */ 3 55 "bit14", /* 14 */ 3 56 "bit15", /* 15 */ 3 57 "bit16", /* 16 */ 3 58 "bit17", /* 17 */ 3 59 "bit18", /* 18 */ 3 60 "bit19", /* 19 */ 3 61 "bit20", /* 20 */ 3 62 "bit21", /* 21 */ 3 63 "bit22", /* 22 */ 3 64 "bit23", /* 23 */ 3 65 "bit24", /* 24 */ 3 66 "bit25", /* 25 */ 3 67 "bit26", /* 26 */ 3 68 "bit27", /* 27 */ 3 69 "bit28", /* 28 */ 3 70 "bit29", /* 29 */ 3 71 "bit30", /* 30 */ 3 72 "bit31", /* 31 */ 3 73 "bit32", /* 32 */ 3 74 "bit33", /* 33 */ 3 75 "bit34", /* 34 */ 3 76 "bit35", /* 35 */ 3 77 "bit36"); /* 36 */ 3 78 3 79 /* BEGIN INCLUDE FILE ... flagbox_flags.incl.pl1 */ 113 114 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 06/29/00 1717.8 bce_get_flagbox.pl1 >udd>sm>ds>w>ml>bce_get_flagbox.pl1 111 1 10/21/86 1351.6 bce_subsystem_info_.incl.pl1 >ldd>incl>bce_subsystem_info_.incl.pl1 112 2 04/30/87 1613.7 flagbox.incl.pl1 >ldd>incl>flagbox.incl.pl1 113 3 01/04/77 1538.9 flagbox_flags.incl.pl1 >ldd>incl>flagbox_flags.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. P_ss_info_ptr parameter pointer dcl 14 ref 8 48 52 active_fnc_err_ 000010 constant entry external dcl 15 ref 57 active_function 000100 automatic bit(1) dcl 16 set ref 56* 57 104 addbitno builtin function dcl 17 ref 81 addr builtin function dcl 18 ref 70 81 82 83 84 85 af_return based varying char dcl 19 set ref 104* af_return_len 000101 automatic fixed bin(21,0) dcl 20 set ref 55* 104 af_return_ptr 000102 automatic pointer dcl 21 set ref 55* 104 arg based char packed unaligned dcl 22 set ref 72 93 95 96 109* arg_count 000104 automatic fixed bin(17,0) dcl 23 set ref 55* 59 65 arg_len 000105 automatic fixed bin(21,0) dcl 24 set ref 71* 72 92* 93 95 96 109 109 arg_list_ptr 16 based pointer level 2 dcl 1-15 set ref 54* 54 55* 71* 92* arg_ptr 000106 automatic pointer dcl 25 set ref 71* 72 92* 93 95 96 109 bit_ptr 000110 automatic pointer dcl 26 set ref 81* 82* 83* 84* 85* 87 95 96 call_bce 43(01) based bit(1) level 3 packed packed unaligned dcl 2-24 set ref 84 code 000112 automatic fixed bin(35,0) dcl 27 set ref 55* 56 71* 75* 76 92* 98* 108* 109* com_err_ 000012 constant entry external dcl 28 ref 58 cu_$af_return_arg_rel 000014 constant entry external dcl 29 ref 55 cu_$arg_ptr_rel 000016 constant entry external dcl 30 ref 71 92 cv_dec_check_ 000020 constant entry external dcl 31 ref 75 error 000114 automatic entry variable dcl 32 set ref 57* 58* 61 66 109 error_table_$badopt 000022 external static fixed bin(35,0) dcl 33 ref 98 108 fgbx based structure level 1 dcl 2-24 fgbxp 000234 automatic pointer dcl 2-22 set ref 70* 73 81 82 83 84 85 93 flag_num 000120 automatic fixed bin(17,0) dcl 34 set ref 75* 77* 77* 81 81 flagbox$ 000030 external static fixed bin(17,0) dcl 2-21 set ref 70 flagbox_bit based bit(1) packed unaligned dcl 35 set ref 87 95* 96* flagbox_flag_names 000000 constant char(12) initial array packed unaligned dcl 3-41 ref 77 flags 40 based bit(1) array level 2 packed packed unaligned dcl 2-24 set ref 81 ioa_ 000024 constant entry external dcl 36 ref 105 manual_crash 43(06) based bit(1) level 3 packed packed unaligned dcl 2-24 set ref 83 me 000121 automatic char(11) packed unaligned dcl 37 set ref 45* 51* 61* 66* 109* old_value 000124 automatic varying char(256) dcl 38 set ref 73* 87* 88* 104 105* option 000225 automatic char(12) packed unaligned dcl 39 set ref 72* 73 75* 77 82 83 84 85 93 requote_string_ 000026 constant entry external dcl 40 ref 104 return_to_bce_command 100 based char(128) level 2 packed packed unaligned dcl 2-24 set ref 73 93* rtb 43 based structure level 2 dcl 2-24 rtrim builtin function dcl 41 ref 73 set 000230 automatic bit(1) dcl 42 set ref 44* 50* 59 91 105 shut 43(02) based bit(1) level 3 packed packed unaligned dcl 2-24 set ref 85 ss_info based structure level 1 dcl 1-15 ss_info_ptr 000232 automatic pointer dcl 1-14 set ref 52* 54 54 55 71 92 ssenb 43 based bit(1) level 3 packed packed unaligned dcl 2-24 set ref 82 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. FLAGBOX_SENTINEL internal static char(32) initial packed unaligned dcl 2-51 flagbox_flags based structure level 1 dcl 3-3 NAMES DECLARED BY EXPLICIT CONTEXT. bce_get_flagbox 000237 constant entry external dcl 8 bce_set_flagbox 000256 constant entry external dcl 48 fail 001010 constant label dcl 109 set ref 99 fail1 001005 constant label dcl 108 ref 85 join 000270 constant label dcl 52 ref 46 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1176 1230 1044 1206 Length 1462 1044 32 215 131 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME bce_get_flagbox 212 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME bce_get_flagbox 000100 active_function bce_get_flagbox 000101 af_return_len bce_get_flagbox 000102 af_return_ptr bce_get_flagbox 000104 arg_count bce_get_flagbox 000105 arg_len bce_get_flagbox 000106 arg_ptr bce_get_flagbox 000110 bit_ptr bce_get_flagbox 000112 code bce_get_flagbox 000114 error bce_get_flagbox 000120 flag_num bce_get_flagbox 000121 me bce_get_flagbox 000124 old_value bce_get_flagbox 000225 option bce_get_flagbox 000230 set bce_get_flagbox 000232 ss_info_ptr bce_get_flagbox 000234 fgbxp bce_get_flagbox THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as alloc_char_temp call_ent_var_desc call_ext_out_desc call_ext_out return_mac shorten_stack ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. active_fnc_err_ com_err_ cu_$af_return_arg_rel cu_$arg_ptr_rel cv_dec_check_ ioa_ requote_string_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt flagbox$ CONSTANTS 001042 aa 077777000043 001043 aa 000001000000 000000 aa 141 165 164 157 auto 000001 aa 137 162 145 142 _reb 000002 aa 157 157 164 040 oot 000003 aa 142 157 157 164 boot 000004 aa 151 156 147 040 ing 000005 aa 040 040 040 040 000006 aa 142 151 164 063 bit3 000007 aa 040 040 040 040 000010 aa 040 040 040 040 000011 aa 162 145 142 157 rebo 000012 aa 157 164 145 144 oted 000013 aa 040 040 040 040 000014 aa 165 156 141 164 unat 000015 aa 164 145 156 144 tend 000016 aa 145 144 040 040 ed 000017 aa 142 151 164 066 bit6 000020 aa 040 040 040 040 000021 aa 040 040 040 040 000022 aa 142 151 164 067 bit7 000023 aa 040 040 040 040 000024 aa 040 040 040 040 000025 aa 142 151 164 070 bit8 000026 aa 040 040 040 040 000027 aa 040 040 040 040 000030 aa 142 151 164 071 bit9 000031 aa 040 040 040 040 000032 aa 040 040 040 040 000033 aa 142 151 164 061 bit1 000034 aa 060 040 040 040 0 000035 aa 040 040 040 040 000036 aa 142 151 164 061 bit1 000037 aa 061 040 040 040 1 000040 aa 040 040 040 040 000041 aa 142 151 164 061 bit1 000042 aa 062 040 040 040 2 000043 aa 040 040 040 040 000044 aa 142 151 164 061 bit1 000045 aa 063 040 040 040 3 000046 aa 040 040 040 040 000047 aa 142 151 164 061 bit1 000050 aa 064 040 040 040 4 000051 aa 040 040 040 040 000052 aa 142 151 164 061 bit1 000053 aa 065 040 040 040 5 000054 aa 040 040 040 040 000055 aa 142 151 164 061 bit1 000056 aa 066 040 040 040 6 000057 aa 040 040 040 040 000060 aa 142 151 164 061 bit1 000061 aa 067 040 040 040 7 000062 aa 040 040 040 040 000063 aa 142 151 164 061 bit1 000064 aa 070 040 040 040 8 000065 aa 040 040 040 040 000066 aa 142 151 164 061 bit1 000067 aa 071 040 040 040 9 000070 aa 040 040 040 040 000071 aa 142 151 164 062 bit2 000072 aa 060 040 040 040 0 000073 aa 040 040 040 040 000074 aa 142 151 164 062 bit2 000075 aa 061 040 040 040 1 000076 aa 040 040 040 040 000077 aa 142 151 164 062 bit2 000100 aa 062 040 040 040 2 000101 aa 040 040 040 040 000102 aa 142 151 164 062 bit2 000103 aa 063 040 040 040 3 000104 aa 040 040 040 040 000105 aa 142 151 164 062 bit2 000106 aa 064 040 040 040 4 000107 aa 040 040 040 040 000110 aa 142 151 164 062 bit2 000111 aa 065 040 040 040 5 000112 aa 040 040 040 040 000113 aa 142 151 164 062 bit2 000114 aa 066 040 040 040 6 000115 aa 040 040 040 040 000116 aa 142 151 164 062 bit2 000117 aa 067 040 040 040 7 000120 aa 040 040 040 040 000121 aa 142 151 164 062 bit2 000122 aa 070 040 040 040 8 000123 aa 040 040 040 040 000124 aa 142 151 164 062 bit2 000125 aa 071 040 040 040 9 000126 aa 040 040 040 040 000127 aa 142 151 164 063 bit3 000130 aa 060 040 040 040 0 000131 aa 040 040 040 040 000132 aa 142 151 164 063 bit3 000133 aa 061 040 040 040 1 000134 aa 040 040 040 040 000135 aa 142 151 164 063 bit3 000136 aa 062 040 040 040 2 000137 aa 040 040 040 040 000140 aa 142 151 164 063 bit3 000141 aa 063 040 040 040 3 000142 aa 040 040 040 040 000143 aa 142 151 164 063 bit3 000144 aa 064 040 040 040 4 000145 aa 040 040 040 040 000146 aa 142 151 164 063 bit3 000147 aa 065 040 040 040 5 000150 aa 040 040 040 040 000151 aa 142 151 164 063 bit3 000152 aa 066 040 040 040 6 000153 aa 040 040 040 040 000154 aa 526000000000 000155 aa 524000000002 000156 aa 530000000400 000157 aa 524000000000 000160 aa 164 162 165 145 true 000161 aa 163 150 165 164 shut 000162 aa 404000000043 000163 aa 526000000014 000164 aa 524000000032 000165 aa 524000000044 000166 aa 526000000013 000167 aa 404000000005 000170 aa 404000000021 000171 aa 464000000000 000172 aa 146 141 154 163 fals 000173 aa 145 000 000 000 e 000174 aa 143 141 154 154 call 000175 aa 137 142 143 145 _bce 000176 aa 163 163 145 156 ssen 000177 aa 142 000 000 000 b 000200 aa 155 141 156 165 manu 000201 aa 141 154 137 143 al_c 000202 aa 162 141 163 150 rash 000203 aa 142 143 145 137 bce_ 000204 aa 143 157 155 155 comm 000205 aa 141 156 144 000 and 000206 aa 163 145 164 137 set_ 000207 aa 146 154 141 147 flag 000210 aa 142 157 170 000 box 000211 aa 147 145 164 137 get_ 000212 aa 146 154 141 147 flag 000213 aa 142 157 170 000 box 000214 aa 125 163 141 147 Usag 000215 aa 145 040 151 163 e is 000216 aa 072 040 147 145 : ge 000217 aa 164 137 146 154 t_fl 000220 aa 141 147 142 157 agbo 000221 aa 170 040 156 141 x na 000222 aa 155 145 000 000 me 000223 aa 125 163 141 147 Usag 000224 aa 145 040 151 163 e is 000225 aa 072 040 163 145 : se 000226 aa 164 137 146 154 t_fl 000227 aa 141 147 142 157 agbo 000230 aa 170 040 156 141 x na 000231 aa 155 145 040 157 me o 000232 aa 154 144 137 166 ld_v 000233 aa 141 154 165 145 alue BEGIN PROCEDURE bce_get_flagbox ENTRY TO bce_get_flagbox STATEMENT 1 ON LINE 8 bce_get_flagbox: proc (P_ss_info_ptr); 000234 at 000001000171 000235 ta 000234000000 000236 da 000116300000 000237 aa 000340 6270 00 eax7 224 000240 aa 7 00034 3521 20 epp2 pr7|28,* 000241 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000242 aa 000002000000 000243 aa 000000000000 STATEMENT 1 ON LINE 44 set = "0"b; 000244 aa 6 00230 4501 00 stz pr6|152 set STATEMENT 1 ON LINE 45 me = "get_flagbox"; 000245 aa 777744 2350 04 lda -28,ic 000211 = 147145164137 000246 aa 6 00121 7551 00 sta pr6|81 me 000247 aa 777743 2350 04 lda -29,ic 000212 = 146154141147 000250 aa 6 00122 7551 00 sta pr6|82 me 000251 aa 777742 2350 04 lda -30,ic 000213 = 142157170000 000252 aa 6 00123 7551 00 sta pr6|83 me STATEMENT 1 ON LINE 46 go to join; 000253 aa 000015 7100 04 tra 13,ic 000270 ENTRY TO bce_set_flagbox STATEMENT 1 ON LINE 48 bce_set_flagbox: entry (P_ss_info_ptr); 000254 ta 000234000000 000255 da 000125300000 000256 aa 000340 6270 00 eax7 224 000257 aa 7 00034 3521 20 epp2 pr7|28,* 000260 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000261 aa 000002000000 000262 aa 000000000000 STATEMENT 1 ON LINE 50 set = "1"b; 000263 aa 400000 2350 03 lda 131072,du 000264 aa 6 00230 7551 00 sta pr6|152 set STATEMENT 1 ON LINE 51 me = "set_flagbox"; 000265 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000266 aa 777721 00 0013 desc9a -47,11 000206 = 163145164137 000267 aa 6 00121 00 0013 desc9a pr6|81,11 me STATEMENT 1 ON LINE 52 join: ss_info_ptr = P_ss_info_ptr; 000270 aa 6 00032 3735 20 epp7 pr6|26,* 000271 aa 7 00002 3715 20 epp5 pr7|2,* P_ss_info_ptr 000272 aa 5 00000 3715 20 epp5 pr5|0,* P_ss_info_ptr 000273 aa 6 00232 6515 00 spri5 pr6|154 ss_info_ptr STATEMENT 1 ON LINE 54 arg_list_ptr = ss_info.arg_list_ptr; 000274 aa 5 00016 3535 20 epp3 pr5|14,* ss_info.arg_list_ptr 000275 aa 5 00016 2535 00 spri3 pr5|14 ss_info.arg_list_ptr STATEMENT 1 ON LINE 55 call cu_$af_return_arg_rel (arg_count, af_return_ptr, af_return_len, code, arg_list_ptr); 000276 aa 6 00104 3521 00 epp2 pr6|68 arg_count 000277 aa 6 00240 2521 00 spri2 pr6|160 000300 aa 6 00102 3521 00 epp2 pr6|66 af_return_ptr 000301 aa 6 00242 2521 00 spri2 pr6|162 000302 aa 6 00101 3521 00 epp2 pr6|65 af_return_len 000303 aa 6 00244 2521 00 spri2 pr6|164 000304 aa 6 00112 3521 00 epp2 pr6|74 code 000305 aa 6 00246 2521 00 spri2 pr6|166 000306 aa 5 00016 3521 00 epp2 pr5|14 ss_info.arg_list_ptr 000307 aa 6 00250 2521 00 spri2 pr6|168 000310 aa 6 00236 6211 00 eax1 pr6|158 000311 aa 024000 4310 07 fld 10240,dl 000312 aa 6 00044 3701 20 epp4 pr6|36,* 000313 la 4 00014 3521 20 epp2 pr4|12,* cu_$af_return_arg_rel 000314 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 56 active_function = (code = 0); 000315 aa 6 00112 2361 00 ldq pr6|74 code 000316 aa 0 00512 7001 00 tsx0 pr0|330 r_e_as 000317 aa 6 00100 7551 00 sta pr6|64 active_function STATEMENT 1 ON LINE 57 if active_function then error = active_fnc_err_; 000320 aa 000007 6000 04 tze 7,ic 000327 000321 aa 6 00044 3701 20 epp4 pr6|36,* 000322 la 4 00010 3521 20 epp2 pr4|8,* active_fnc_err_ 000323 aa 6 00114 2521 00 spri2 pr6|76 error 000324 aa 000516 2370 04 ldaq 334,ic 001042 = 077777000043 000001000000 000325 aa 6 00116 7571 00 staq pr6|78 error 000326 aa 000006 7100 04 tra 6,ic 000334 STATEMENT 1 ON LINE 58 else error = com_err_; 000327 aa 6 00044 3701 20 epp4 pr6|36,* 000330 la 4 00012 3521 20 epp2 pr4|10,* com_err_ 000331 aa 6 00114 2521 00 spri2 pr6|76 error 000332 aa 000510 2370 04 ldaq 328,ic 001042 = 077777000043 000001000000 000333 aa 6 00116 7571 00 staq pr6|78 error STATEMENT 1 ON LINE 59 if set then if arg_count ^= 2 then do; 000334 aa 6 00230 2351 00 lda pr6|152 set 000335 aa 000032 6000 04 tze 26,ic 000367 000336 aa 6 00104 2361 00 ldq pr6|68 arg_count 000337 aa 000002 1160 07 cmpq 2,dl 000340 aa 000057 6000 04 tze 47,ic 000417 STATEMENT 1 ON LINE 61 call error (0, me, "Usage is: set_flagbox name old_value"); 000341 aa 6 00252 4501 00 stz pr6|170 000342 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000343 aa 777661 00 0044 desc9a -79,36 000223 = 125163141147 000344 aa 6 00236 00 0044 desc9a pr6|158,36 000345 aa 6 00252 3521 00 epp2 pr6|170 000346 aa 6 00256 2521 00 spri2 pr6|174 000347 aa 6 00121 3521 00 epp2 pr6|81 me 000350 aa 6 00260 2521 00 spri2 pr6|176 000351 aa 6 00236 3521 00 epp2 pr6|158 000352 aa 6 00262 2521 00 spri2 pr6|178 000353 aa 777614 3520 04 epp2 -116,ic 000167 = 404000000005 000354 aa 6 00266 2521 00 spri2 pr6|182 000355 aa 777611 3520 04 epp2 -119,ic 000166 = 526000000013 000356 aa 6 00270 2521 00 spri2 pr6|184 000357 aa 777606 3520 04 epp2 -122,ic 000165 = 524000000044 000360 aa 6 00272 2521 00 spri2 pr6|186 000361 aa 6 00254 6211 00 eax1 pr6|172 000362 aa 014000 4310 07 fld 6144,dl 000363 aa 6 00114 3521 00 epp2 pr6|76 error 000364 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc STATEMENT 1 ON LINE 62 return; 000365 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 63 end; STATEMENT 1 ON LINE 64 else ; 000366 aa 000031 7100 04 tra 25,ic 000417 STATEMENT 1 ON LINE 65 else if arg_count ^= 1 then do; 000367 aa 6 00104 2361 00 ldq pr6|68 arg_count 000370 aa 000001 1160 07 cmpq 1,dl 000371 aa 000026 6000 04 tze 22,ic 000417 STATEMENT 1 ON LINE 66 call error (0, me, "Usage is: get_flagbox name"); 000372 aa 6 00252 4501 00 stz pr6|170 000373 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000374 aa 777621 00 0034 desc9a -111,28 000214 = 125163141147 000375 aa 6 00236 00 0034 desc9a pr6|158,28 000376 aa 6 00252 3521 00 epp2 pr6|170 000377 aa 6 00256 2521 00 spri2 pr6|174 000400 aa 6 00121 3521 00 epp2 pr6|81 me 000401 aa 6 00260 2521 00 spri2 pr6|176 000402 aa 6 00236 3521 00 epp2 pr6|158 000403 aa 6 00262 2521 00 spri2 pr6|178 000404 aa 777563 3520 04 epp2 -141,ic 000167 = 404000000005 000405 aa 6 00266 2521 00 spri2 pr6|182 000406 aa 777560 3520 04 epp2 -144,ic 000166 = 526000000013 000407 aa 6 00270 2521 00 spri2 pr6|184 000410 aa 777554 3520 04 epp2 -148,ic 000164 = 524000000032 000411 aa 6 00272 2521 00 spri2 pr6|186 000412 aa 6 00254 6211 00 eax1 pr6|172 000413 aa 014000 4310 07 fld 6144,dl 000414 aa 6 00114 3521 00 epp2 pr6|76 error 000415 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc STATEMENT 1 ON LINE 67 return; 000416 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 68 end; STATEMENT 1 ON LINE 70 fgbxp = addr (flagbox$); 000417 aa 6 00044 3701 20 epp4 pr6|36,* 000420 la 4 00030 3735 20 epp7 pr4|24,* flagbox$ 000421 aa 6 00234 6535 00 spri7 pr6|156 fgbxp STATEMENT 1 ON LINE 71 call cu_$arg_ptr_rel (1, arg_ptr, arg_len, code, arg_list_ptr); 000422 aa 000001 2360 07 ldq 1,dl 000423 aa 6 00252 7561 00 stq pr6|170 000424 aa 6 00252 3521 00 epp2 pr6|170 000425 aa 6 00240 2521 00 spri2 pr6|160 000426 aa 6 00106 3521 00 epp2 pr6|70 arg_ptr 000427 aa 6 00242 2521 00 spri2 pr6|162 000430 aa 6 00105 3521 00 epp2 pr6|69 arg_len 000431 aa 6 00244 2521 00 spri2 pr6|164 000432 aa 6 00112 3521 00 epp2 pr6|74 code 000433 aa 6 00246 2521 00 spri2 pr6|166 000434 aa 6 00232 3715 20 epp5 pr6|154,* ss_info_ptr 000435 aa 5 00016 3521 00 epp2 pr5|14 ss_info.arg_list_ptr 000436 aa 6 00250 2521 00 spri2 pr6|168 000437 aa 6 00236 6211 00 eax1 pr6|158 000440 aa 024000 4310 07 fld 10240,dl 000441 la 4 00016 3521 20 epp2 pr4|14,* cu_$arg_ptr_rel 000442 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 72 option = arg; 000443 aa 6 00106 3735 20 epp7 pr6|70,* arg_ptr 000444 aa 6 00105 2351 00 lda pr6|69 arg_len 000445 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 000446 aa 7 00000 00 0005 desc9a pr7|0,al arg 000447 aa 6 00225 00 0014 desc9a pr6|149,12 option STATEMENT 1 ON LINE 73 if option = "bce_command" then old_value = rtrim (fgbx.return_to_bce_command); 000450 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 000451 aa 6 00225 00 0014 desc9a pr6|149,12 option 000452 aa 777533 00 0013 desc9a -165,11 000203 = 142143145137 000453 aa 000023 6010 04 tnz 19,ic 000476 000454 aa 6 00234 3715 20 epp5 pr6|156,* fgbxp 000455 aa 000 000 165 500 tctr (pr) 000456 aa 5 00100 00 0200 desc9a pr5|64,128 fgbx.return_to_bce_command 000457 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 000460 aa 6 00056 0001 00 arg pr6|46 000461 aa 6 00056 2361 00 ldq pr6|46 000462 aa 0 00242 3761 00 anq pr0|162 = 000777777777 000463 aa 6 00252 7561 00 stq pr6|170 000464 aa 000200 2360 07 ldq 128,dl 000465 aa 6 00252 1761 00 sbq pr6|170 000466 aa 000400 1160 07 cmpq 256,dl 000467 aa 000002 6040 04 tmi 2,ic 000471 000470 aa 000400 2360 07 ldq 256,dl 000471 aa 6 00124 7561 00 stq pr6|84 old_value 000472 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 000473 aa 5 00100 00 0006 desc9a pr5|64,ql fgbx.return_to_bce_command 000474 aa 6 00125 00 0006 desc9a pr6|85,ql old_value 000475 aa 000137 7100 04 tra 95,ic 000634 STATEMENT 1 ON LINE 74 else do; STATEMENT 1 ON LINE 75 flag_num = cv_dec_check_ (option, code); 000476 aa 6 00225 3521 00 epp2 pr6|149 option 000477 aa 6 00256 2521 00 spri2 pr6|174 000500 aa 6 00112 3521 00 epp2 pr6|74 code 000501 aa 6 00260 2521 00 spri2 pr6|176 000502 aa 6 00120 3521 00 epp2 pr6|80 flag_num 000503 aa 6 00262 2521 00 spri2 pr6|178 000504 aa 777457 3520 04 epp2 -209,ic 000163 = 526000000014 000505 aa 6 00264 2521 00 spri2 pr6|180 000506 aa 777454 3520 04 epp2 -212,ic 000162 = 404000000043 000507 aa 6 00266 2521 00 spri2 pr6|182 000510 aa 777460 3520 04 epp2 -208,ic 000170 = 404000000021 000511 aa 6 00270 2521 00 spri2 pr6|184 000512 aa 6 00254 6211 00 eax1 pr6|172 000513 aa 014000 4310 07 fld 6144,dl 000514 aa 6 00044 3701 20 epp4 pr6|36,* 000515 la 4 00020 3521 20 epp2 pr4|16,* cv_dec_check_ 000516 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 76 if code ^= 0 then do; 000517 aa 6 00112 2361 00 ldq pr6|74 code 000520 aa 000017 6000 04 tze 15,ic 000537 STATEMENT 1 ON LINE 77 do flag_num = 1 to 36 while (option ^= flagbox_flag_names (flag_num)); 000521 aa 000001 2360 07 ldq 1,dl 000522 aa 6 00120 7561 00 stq pr6|80 flag_num 000523 aa 000000 0110 03 nop 0,du 000524 aa 6 00120 2361 00 ldq pr6|80 flag_num 000525 aa 000044 1160 07 cmpq 36,dl 000526 aa 000011 6054 04 tpnz 9,ic 000537 000527 aa 000003 4020 07 mpy 3,dl 000530 ta 777775 3734 06 epp7 -3,ql 000531 aa 040 100 106 500 cmpc (pr),(pr),fill(040) 000532 aa 6 00225 00 0014 desc9a pr6|149,12 option 000533 aa 7 00000 00 0014 desc9a pr7|0,12 flagbox_flag_names 000534 aa 000003 6000 04 tze 3,ic 000537 STATEMENT 1 ON LINE 78 end; 000535 aa 6 00120 0541 00 aos pr6|80 flag_num 000536 aa 777766 7100 04 tra -10,ic 000524 STATEMENT 1 ON LINE 79 end; STATEMENT 1 ON LINE 81 if flag_num <= 36 then bit_ptr = addbitno (addr (fgbx.flags), flag_num - 1); 000537 aa 6 00120 2361 00 ldq pr6|80 flag_num 000540 aa 000044 1160 07 cmpq 36,dl 000541 aa 000007 6054 04 tpnz 7,ic 000550 000542 aa 6 00234 3735 20 epp7 pr6|156,* fgbxp 000543 aa 7 00040 3735 00 epp7 pr7|32 fgbx.flags 000544 aa 000001 1760 07 sbq 1,dl 000545 aa 7 00000 5035 06 abd pr7|0,ql 000546 aa 6 00110 6535 00 spri7 pr6|72 bit_ptr 000547 aa 000046 7100 04 tra 38,ic 000615 STATEMENT 1 ON LINE 82 else if option = "ssenb" then bit_ptr = addr (fgbx.ssenb); 000550 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 000551 aa 6 00225 00 0014 desc9a pr6|149,12 option 000552 aa 777426 00 0005 desc9a -234,5 000176 = 163163145156 000553 aa 000005 6010 04 tnz 5,ic 000560 000554 aa 6 00234 3735 20 epp7 pr6|156,* fgbxp 000555 aa 7 00043 3735 00 epp7 pr7|35 fgbx.ssenb 000556 aa 6 00110 6535 00 spri7 pr6|72 bit_ptr 000557 aa 000036 7100 04 tra 30,ic 000615 STATEMENT 1 ON LINE 83 else if option = "manual_crash" then bit_ptr = addr (fgbx.manual_crash); 000560 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 000561 aa 6 00225 00 0014 desc9a pr6|149,12 option 000562 aa 777420 00 0014 desc9a -240,12 000200 = 155141156165 000563 aa 000007 6010 04 tnz 7,ic 000572 000564 aa 000006 7270 07 lxl7 6,dl 000565 aa 6 00234 3735 20 epp7 pr6|156,* fgbxp 000566 aa 7 00043 3521 00 epp2 pr7|35 fgbx.manual_crash 000567 aa 2 00000 5035 17 abd pr2|0,7 000570 aa 6 00110 2521 00 spri2 pr6|72 bit_ptr 000571 aa 000024 7100 04 tra 20,ic 000615 STATEMENT 1 ON LINE 84 else if option = "call_bce" then bit_ptr = addr (fgbx.call_bce); 000572 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 000573 aa 6 00225 00 0014 desc9a pr6|149,12 option 000574 aa 777402 00 0010 desc9a -254,8 000174 = 143141154154 000575 aa 000007 6010 04 tnz 7,ic 000604 000576 aa 000001 7270 07 lxl7 1,dl 000577 aa 6 00234 3735 20 epp7 pr6|156,* fgbxp 000600 aa 7 00043 3521 00 epp2 pr7|35 fgbx.call_bce 000601 aa 2 00000 5035 17 abd pr2|0,7 000602 aa 6 00110 2521 00 spri2 pr6|72 bit_ptr 000603 aa 000012 7100 04 tra 10,ic 000615 STATEMENT 1 ON LINE 85 else if option = "shut" then bit_ptr = addr (fgbx.shut); 000604 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 000605 aa 6 00225 00 0014 desc9a pr6|149,12 option 000606 aa 777355 00 0004 desc9a -275,4 000161 = 163150165164 000607 aa 000176 6010 04 tnz 126,ic 001005 000610 aa 000002 7270 07 lxl7 2,dl 000611 aa 6 00234 3735 20 epp7 pr6|156,* fgbxp 000612 aa 7 00043 3521 00 epp2 pr7|35 fgbx.shut 000613 aa 2 00000 5035 17 abd pr2|0,7 000614 aa 6 00110 2521 00 spri2 pr6|72 bit_ptr STATEMENT 1 ON LINE 87 if flagbox_bit then old_value = "true"; 000615 aa 6 00110 3735 20 epp7 pr6|72,* bit_ptr 000616 aa 000 000 066 500 cmpb (pr),(),fill(0) 000617 aa 7 00000 00 0001 descb pr7|0,1 flagbox_bit 000620 aa 000000 00 0000 descb 0,0 000621 aa 000006 6000 04 tze 6,ic 000627 000622 aa 777336 2350 04 lda -290,ic 000160 = 164162165145 000623 aa 6 00125 7551 00 sta pr6|85 old_value 000624 aa 000004 2360 07 ldq 4,dl 000625 aa 6 00124 7561 00 stq pr6|84 old_value 000626 aa 000006 7100 04 tra 6,ic 000634 STATEMENT 1 ON LINE 88 else old_value = "false"; 000627 aa 777343 2370 04 ldaq -285,ic 000172 = 146141154163 145000000000 000630 aa 6 00125 7551 00 sta pr6|85 old_value 000631 aa 6 00126 7561 00 stq pr6|86 old_value 000632 aa 000005 2360 07 ldq 5,dl 000633 aa 6 00124 7561 00 stq pr6|84 old_value STATEMENT 1 ON LINE 89 end; STATEMENT 1 ON LINE 91 if set then do; 000634 aa 6 00230 2351 00 lda pr6|152 set 000635 aa 000066 6000 04 tze 54,ic 000723 STATEMENT 1 ON LINE 92 call cu_$arg_ptr_rel (2, arg_ptr, arg_len, code, arg_list_ptr); 000636 aa 000002 2360 07 ldq 2,dl 000637 aa 6 00252 7561 00 stq pr6|170 000640 aa 6 00252 3521 00 epp2 pr6|170 000641 aa 6 00240 2521 00 spri2 pr6|160 000642 aa 6 00106 3521 00 epp2 pr6|70 arg_ptr 000643 aa 6 00242 2521 00 spri2 pr6|162 000644 aa 6 00105 3521 00 epp2 pr6|69 arg_len 000645 aa 6 00244 2521 00 spri2 pr6|164 000646 aa 6 00112 3521 00 epp2 pr6|74 code 000647 aa 6 00246 2521 00 spri2 pr6|166 000650 aa 6 00232 3735 20 epp7 pr6|154,* ss_info_ptr 000651 aa 7 00016 3521 00 epp2 pr7|14 ss_info.arg_list_ptr 000652 aa 6 00250 2521 00 spri2 pr6|168 000653 aa 6 00236 6211 00 eax1 pr6|158 000654 aa 024000 4310 07 fld 10240,dl 000655 aa 6 00044 3701 20 epp4 pr6|36,* 000656 la 4 00016 3521 20 epp2 pr4|14,* cu_$arg_ptr_rel 000657 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 93 if option = "bce_command" then fgbx.return_to_bce_command = arg; 000660 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 000661 aa 6 00225 00 0014 desc9a pr6|149,12 option 000662 aa 777323 00 0013 desc9a -301,11 000203 = 142143145137 000663 aa 000010 6010 04 tnz 8,ic 000673 000664 aa 6 00234 3735 20 epp7 pr6|156,* fgbxp 000665 aa 6 00106 3715 20 epp5 pr6|70,* arg_ptr 000666 aa 6 00105 2351 00 lda pr6|69 arg_len 000667 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 000670 aa 5 00000 00 0005 desc9a pr5|0,al arg 000671 aa 7 00100 00 0200 desc9a pr7|64,128 fgbx.return_to_bce_command 000672 aa 000031 7100 04 tra 25,ic 000723 STATEMENT 1 ON LINE 94 else do; STATEMENT 1 ON LINE 95 if arg = "true" then flagbox_bit = "1"b; 000673 aa 6 00106 3735 20 epp7 pr6|70,* arg_ptr 000674 aa 6 00105 2351 00 lda pr6|69 arg_len 000675 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000676 aa 7 00000 00 0005 desc9a pr7|0,al arg 000677 aa 777263 00 0004 desc9a -333,4 000160 = 164162165145 000700 aa 000006 6010 04 tnz 6,ic 000706 000701 aa 6 00110 3715 20 epp5 pr6|72,* bit_ptr 000702 aa 403 100 060 400 csl (),(pr),fill(1),bool(move) 000703 aa 000000 00 0000 descb 0,0 000704 aa 5 00000 00 0001 descb pr5|0,1 flagbox_bit 000705 aa 000016 7100 04 tra 14,ic 000723 STATEMENT 1 ON LINE 96 else if arg = "false" then flagbox_bit = "0"b; 000706 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000707 aa 7 00000 00 0005 desc9a pr7|0,al arg 000710 aa 777264 00 0005 desc9a -332,5 000172 = 146141154163 000711 aa 000006 6010 04 tnz 6,ic 000717 000712 aa 6 00110 3715 20 epp5 pr6|72,* bit_ptr 000713 aa 003 100 060 400 csl (),(pr),fill(0),bool(move) 000714 aa 000000 00 0000 descb 0,0 000715 aa 5 00000 00 0001 descb pr5|0,1 flagbox_bit 000716 aa 000005 7100 04 tra 5,ic 000723 STATEMENT 1 ON LINE 97 else do; STATEMENT 1 ON LINE 98 code = error_table_$badopt; 000717 aa 6 00044 3701 20 epp4 pr6|36,* 000720 la 4 00022 2361 20 ldq pr4|18,* error_table_$badopt 000721 aa 6 00112 7561 00 stq pr6|74 code STATEMENT 1 ON LINE 99 go to fail; 000722 aa 000066 7100 04 tra 54,ic 001010 STATEMENT 1 ON LINE 100 end; STATEMENT 1 ON LINE 101 end; STATEMENT 1 ON LINE 102 end; STATEMENT 1 ON LINE 104 if active_function then af_return = requote_string_ ((old_value)); 000723 aa 6 00100 2351 00 lda pr6|64 active_function 000724 aa 000044 6000 04 tze 36,ic 000770 000725 aa 6 00124 2361 00 ldq pr6|84 old_value 000726 aa 524000 2760 03 orq 174080,du 000727 aa 6 00252 7561 00 stq pr6|170 000730 aa 6 00124 2361 00 ldq pr6|84 old_value 000731 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 000732 aa 6 00240 2521 00 spri2 pr6|160 000733 aa 6 00124 7271 00 lxl7 pr6|84 old_value 000734 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 000735 aa 6 00125 00 0017 desc9a pr6|85,x7 old_value 000736 aa 2 00000 00 0006 desc9a pr2|0,ql 000737 aa 6 00276 3521 00 epp2 pr6|190 000740 aa 6 00242 2521 00 spri2 pr6|162 000741 aa 6 00252 3521 00 epp2 pr6|170 000742 aa 6 00244 2521 00 spri2 pr6|164 000743 aa 6 00253 3521 00 epp2 pr6|171 000744 aa 6 00246 2521 00 spri2 pr6|166 000745 aa 6 00236 6211 00 eax1 pr6|158 000746 aa 010000 4310 07 fld 4096,dl 000747 aa 6 00044 3701 20 epp4 pr6|36,* 000750 la 4 00026 3521 20 epp2 pr4|22,* requote_string_ 000751 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 000752 aa 6 00253 2361 00 ldq pr6|171 000753 aa 000002 6040 04 tmi 2,ic 000755 000754 aa 777777 3760 07 anq 262143,dl 000755 aa 0 00250 3761 00 anq pr0|168 = 000077777777 000756 aa 6 00101 1161 00 cmpq pr6|65 af_return_len 000757 aa 000002 6040 04 tmi 2,ic 000761 000760 aa 6 00101 2361 00 ldq pr6|65 af_return_len 000761 aa 6 00102 7561 20 stq pr6|66,* af_return 000762 aa 6 00102 3735 20 epp7 pr6|66,* af_return_ptr 000763 aa 6 00276 3715 20 epp5 pr6|190,* 000764 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 000765 aa 5 00000 00 0006 desc9a pr5|0,ql 000766 aa 7 00001 00 0006 desc9a pr7|1,ql af_return 000767 aa 000015 7100 04 tra 13,ic 001004 STATEMENT 1 ON LINE 105 else if ^set then call ioa_ (old_value); 000770 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 000771 aa 6 00230 2351 00 lda pr6|152 set 000772 aa 000012 6010 04 tnz 10,ic 001004 000773 aa 6 00125 3521 00 epp2 pr6|85 old_value 000774 aa 6 00240 2521 00 spri2 pr6|160 000775 aa 777161 3520 04 epp2 -399,ic 000156 = 530000000400 000776 aa 6 00242 2521 00 spri2 pr6|162 000777 aa 6 00236 6211 00 eax1 pr6|158 001000 aa 004000 4310 07 fld 2048,dl 001001 aa 6 00044 3701 20 epp4 pr6|36,* 001002 la 4 00024 3521 20 epp2 pr4|20,* ioa_ 001003 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 106 return; 001004 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 108 fail1: code = error_table_$badopt; 001005 aa 6 00044 3701 20 epp4 pr6|36,* 001006 la 4 00022 2361 20 ldq pr4|18,* error_table_$badopt 001007 aa 6 00112 7561 00 stq pr6|74 code STATEMENT 1 ON LINE 109 fail: call error (code, me, "^a", arg); 001010 aa 6 00105 2361 00 ldq pr6|69 arg_len 001011 aa 526000 2760 03 orq 175104,du 001012 aa 6 00252 7561 00 stq pr6|170 001013 aa 136141 2350 03 lda 48225,du 001014 aa 6 00253 7551 00 sta pr6|171 001015 aa 6 00112 3521 00 epp2 pr6|74 code 001016 aa 6 00302 2521 00 spri2 pr6|194 001017 aa 6 00121 3521 00 epp2 pr6|81 me 001020 aa 6 00304 2521 00 spri2 pr6|196 001021 aa 6 00253 3521 00 epp2 pr6|171 001022 aa 6 00306 2521 00 spri2 pr6|198 001023 aa 6 00106 3521 20 epp2 pr6|70,* arg 001024 aa 6 00310 2521 00 spri2 pr6|200 001025 aa 777135 3520 04 epp2 -419,ic 000162 = 404000000043 001026 aa 6 00314 2521 00 spri2 pr6|204 001027 aa 777137 3520 04 epp2 -417,ic 000166 = 526000000013 001030 aa 6 00316 2521 00 spri2 pr6|206 001031 aa 777124 3520 04 epp2 -428,ic 000155 = 524000000002 001032 aa 6 00320 2521 00 spri2 pr6|208 001033 aa 6 00252 3521 00 epp2 pr6|170 001034 aa 6 00322 2521 00 spri2 pr6|210 001035 aa 6 00300 6211 00 eax1 pr6|192 001036 aa 020000 4310 07 fld 8192,dl 001037 aa 6 00114 3521 00 epp2 pr6|76 error 001040 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc STATEMENT 1 ON LINE 110 return; 001041 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 114 end; END PROCEDURE bce_get_flagbox ----------------------------------------------------------- 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