ASSEMBLY LISTING OF SEGMENT >spec>on>41-21>transaction_manager_.alm ASSEMBLED ON: 04/24/85 0823.9 mst Wed OPTIONS USED: list ASSEMBLED BY: ALM Version 6.6 November 1982 ASSEMBLER CREATED: 09/21/83 1227.3 mst Wed  1 " ***********************************************************  2 " * *  3 " * Copyright, (C) Honeywell Information Systems Inc., 1983 *  4 " * *  5 " ***********************************************************  6 "  7 "  8 " DESCRIPTION:  9 " This is the main transfer vector for transaction manager 10 " primitives. Note the abnormality with the user_shutdown and  11 " user_shutdown_real entries, this is caused by the necessity of 12 " running user shutdown in the DM ring.  13 "  14 "  15 " HISTORY:  16 "  17 " Written by Steve Herbst, 08/10/82.  18 " Modified: 19 " 08/16/82 by S. Herbst: added per_process_init and per_system_init, and  20 " deleted create_tdt.  21 " 08/27/82 by S. Herbst: added terminate_proc, recover, and rollback_txn.  22 " 10/14/82 by S. Herbst: added adjust_txn and recover_after_crash. 23 " 11/05/82 by S. Herbst: added adjust_tdt, suspend_txn, resume_txn.  24 " 11/08/82 by S. Herbst: deleted pop_current_txn, priv_abort_txn,  25 " priv_push_current_txn, push_current_txn, recover. 26 " 11/08/82 by S. Herbst: added adjust_process_id.  27 " 11/15/82 by S. Herbst: added log_errors, deleted terminate_proc. 28 " 01/10/83 by S. Herbst: added handle_conditions.  29 " 01/19/83 by S. Herbst: added abandon_txn & kill_txn. 30 " 01/25/83 by Jeffrey D. Ives: modified to call tm_gate_.  31 " 03/23/83 by S. Herbst: added begins_off, begins_on.  32 " 04/06/83 by S. Herbst: added get_txn_index, needed by lock_manager_. 33 " 04/19/83 by Jeffrey D. Ives: changed from tra to call6 so that gates work.  34 " 04/20/83 by S. Herbst: added get_tdt_size & get_txn_info_index for use  35 " by txn_status command.  36 " 05/11/83 by S. Herbst: added adjust_txn, called by user to send msg to  37 " daemon to adjust. 38 " 05/27/83 by S. Herbst: added get_current_ids.  39 " 06/06/83 by S. Herbst: changed $handle_conditions to call  40 " tm_handle_conditions directly in user ring.  41 " 07/29/83 by Lindsey Spratt: changed $handle_conditions to call  42 " tm_handle_conditions through tm_inner_ring_tv_.  43 " 08/05/83 by Lindsey Spratt: changed reference to 44 " tm_inner_ring_tv_$handle_conditions rather than  45 " $tm_handle_conditions.  46 " 09/09/83 by Lee A. Newcomb: removed obs. per_process_init entry &  47 " made per_system_init not go through tm_gate_. 48 " 09/15/83 by L. A. Newcomb: changed $handle_conditions to call  49 " tm_handle_conditions directly, it is supposed to be  50 " called in ***** the user's ring of execution. *****  51 " 01/04/84 by L. A. Newcomb: changed tm_gate_ to dm_gate_ or dm_daemon_gate_,  52 " as required by function (one gate saves segno's). In the 53 " process of this, simplified the transfer macro.  54 " 01/27/84 by S. Herbst: added get_state_description, user_shutdown.  55 " 03/16/84 by S. Herbst: made get_state_description call tm_... directly.  56 " 03/27/84 by L. A. Newcomb: add get_state_info, made two macros, one for  57 " gate calls and one that just tra's to the target entry,  58 " and changed user_shutdown to not use dm_gate_.  59 " 05/02/84 by Lee A. newcomb: added user_shutdown, user_shutdown_free, 60 " user_shutdown_adjust, and user_shutdown_real entries. Added  61 " transfer_no_prefix macro for calling tm_inner_ring_tv_.  62 " 05/31/84 by Lindsey Spratt: Fixed user_shutdown_real to not transfer to the  63 " tm_inner_ring_tv_, but to transfer directly to  64 " tm_user_shutdown_real (renamed from tm_user_shutdown).  65 " 07/31/84 by S. Herbst: Added $dm_system_in_use entry.  66 " 08/08/84 by Lee A. Newcomb: Added $ips_wakeup entry. 67 " 10/01/84 by Lee A. Newcomb: Added $ips_wakeup_all entry. 68 " 11/22/84 by Lee A. Newcomb: Re-added $per_process_init as part of  69 " fixing the DMS firstref.  70 " 12/02/84 by Stanford S. Cox: Chg *inner_ring_tv_ to =firstref_tv_ 71 " 12/06/84 by R. Michael Tague: Added $bump_all 72 " 04/17/85 by Lee A. Newcomb: Changed $user_shutdown to directly call its  73 " target in the user ring and $user_shutdown_real to gate.  74 "  75 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  76  000000 77 name transaction_manager_  78  79 "  80 " Macros to generate call to tm* entries: 81 " Most target entries in this TV have a tm_ prefix and so the  82 " gate_transfer and transfer macros put it on for the user. Those  83 " entries whose target entry in is tm_firstref_tv_ will use the 84 " transfer_no_prefix macro. The gate_transfer macro is the most  85 " used as most of the transaction_manager_ entries are supposed to  86 " be able to cross rings the transfer and transfer_no_prefix  87 " macros are for those few entries that do not do ring crossing 88 " (e.g., the table lookup entry get_state_description). Other  89 " macros can be easily be created later to use a different naming  90 " protocol, if necessary.  91 "  92 macro gate_transfer  1 93 entry &1  2 94 &1: call6 &2$tm_&1  3 95 &end  96  97 macro transfer 1 98 entry &1  2 99 &1: tra &2$tm_&1  3 100 &end  101  102 macro transfer_no_prefix  1 103 entry &1  2 104 &1: tra &2$&1  3 105 &end  106  107 gate_transfer abandon_txn,dm_gate_ 000000 entry abandon_txn  000000 4a 4 00010 7131 20 abandon_txn: call6 dm_gate_$tm_abandon_txn  108  109 gate_transfer abort_txn,dm_gate_  000001 entry abort_txn  000001 4a 4 00012 7131 20 abort_txn: call6 dm_gate_$tm_abort_txn  110  111 gate_transfer adjust_process_id,dm_daemon_gate_  000002 entry adjust_process_id  000002 4a 4 00014 7131 20 adjust_process_id: call6 dm_daemon_gate_$tm_adjust_process_id  112  113 gate_transfer adjust_tdt,dm_gate_  000003 entry adjust_tdt  000003 4a 4 00016 7131 20 adjust_tdt: call6 dm_gate_$tm_adjust_tdt  114  115 gate_transfer adjust_tdt_entry,dm_daemon_gate_ 000004 entry adjust_tdt_entry 000004 4a 4 00020 7131 20 adjust_tdt_entry: call6 dm_daemon_gate_$tm_adjust_tdt_entry 116  117 gate_transfer adjust_txn,dm_gate_  000005 entry adjust_txn  000005 4a 4 00022 7131 20 adjust_txn: call6 dm_gate_$tm_adjust_txn  118  119 gate_transfer begin_txn,dm_gate_  000006 entry begin_txn  000006 4a 4 00024 7131 20 begin_txn: call6 dm_gate_$tm_begin_txn  120  121 gate_transfer begins_off,dm_daemon_gate_  000007 entry begins_off  000007 4a 4 00026 7131 20 begins_off: call6 dm_daemon_gate_$tm_begins_off 122  123 gate_transfer begins_on,dm_daemon_gate_  000010 entry begins_on  000010 4a 4 00030 7131 20 begins_on: call6 dm_daemon_gate_$tm_begins_on  124  125 gate_transfer bump_all,dm_daemon_gate_ 000011 entry bump_all 000011 4a 4 00032 7131 20 bump_all: call6 dm_daemon_gate_$tm_bump_all 126  127 gate_transfer commit_txn,dm_gate_  000012 entry commit_txn  000012 4a 4 00034 7131 20 commit_txn: call6 dm_gate_$tm_commit_txn  128  129 gate_transfer dm_system_in_use,dm_daemon_gate_ 000013 entry dm_system_in_use 000013 4a 4 00036 7131 20 dm_system_in_use: call6 dm_daemon_gate_$tm_dm_system_in_use 130  131 gate_transfer get_current_ids,dm_gate_ 000014 entry get_current_ids  000014 4a 4 00040 7131 20 get_current_ids: call6 dm_gate_$tm_get_current_ids  132  133 gate_transfer get_current_txn_id,dm_gate_  000015 entry get_current_txn_id  000015 4a 4 00042 7131 20 get_current_txn_id: call6 dm_gate_$tm_get_current_txn_id  134  135 transfer get_state_description,tm_get_state_description  000016 entry get_state_description  000016 4a 4 00044 7101 20 get_state_description: tra tm_get_state_description$tm_get_state_description  136  137 transfer get_state_info,tm_get_state_info 000017 entry get_state_info  000017 4a 4 00046 7101 20 get_state_info: tra tm_get_state_info$tm_get_state_info 138  139 gate_transfer get_tdt_size,dm_gate_  000020 entry get_tdt_size 000020 4a 4 00050 7131 20 get_tdt_size: call6 dm_gate_$tm_get_tdt_size  140  141 gate_transfer get_txn_index,dm_gate_  000021 entry get_txn_index  000021 4a 4 00052 7131 20 get_txn_index: call6 dm_gate_$tm_get_txn_index  142  143 gate_transfer get_txn_info,dm_gate_  000022 entry get_txn_info 000022 4a 4 00054 7131 20 get_txn_info: call6 dm_gate_$tm_get_txn_info  144  145 gate_transfer get_txn_info_index,dm_gate_  000023 entry get_txn_info_index  000023 4a 4 00056 7131 20 get_txn_info_index: call6 dm_gate_$tm_get_txn_info_index  146  147 transfer handle_conditions,tm_handle_conditions  000024 entry handle_conditions  000024 4a 4 00060 7101 20 handle_conditions: tra tm_handle_conditions$tm_handle_conditions  148  149 gate_transfer ips_wakeup,dm_daemon_gate_  000025 entry ips_wakeup  000025 4a 4 00062 7131 20 ips_wakeup: call6 dm_daemon_gate_$tm_ips_wakeup 150  151 gate_transfer ips_wakeup_all,dm_daemon_gate_  000026 entry ips_wakeup_all  000026 4a 4 00064 7131 20 ips_wakeup_all: call6 dm_daemon_gate_$tm_ips_wakeup_all 152  153 gate_transfer kill_txn,dm_daemon_gate_ 000027 entry kill_txn 000027 4a 4 00066 7131 20 kill_txn: call6 dm_daemon_gate_$tm_kill_txn 154  155 transfer_no_prefix per_process_init,tm_firstref_tv_  000030 entry per_process_init 000030 4a 4 00070 7101 20 per_process_init: tra tm_firstref_tv_$per_process_init  156  157 transfer per_system_init,tm_per_system_init  000031 entry per_system_init  000031 4a 4 00072 7101 20 per_system_init: tra tm_per_system_init$tm_per_system_init  158  159 gate_transfer recover_after_crash,dm_daemon_gate_  000032 entry recover_after_crash  000032 4a 4 00074 7131 20 recover_after_crash: call6 dm_daemon_gate_$tm_recover_after_crash  160  161 gate_transfer resume_txn,dm_gate_  000033 entry resume_txn  000033 4a 4 00076 7131 20 resume_txn: call6 dm_gate_$tm_resume_txn  162  163 gate_transfer rollback_txn,dm_gate_  000034 entry rollback_txn 000034 4a 4 00100 7131 20 rollback_txn: call6 dm_gate_$tm_rollback_txn  164  165 gate_transfer suspend_txn,dm_gate_ 000035 entry suspend_txn  000035 4a 4 00102 7131 20 suspend_txn: call6 dm_gate_$tm_suspend_txn  166  167 transfer user_shutdown,tm_user_shutdown  000036 entry user_shutdown  000036 4a 4 00104 7101 20 user_shutdown: tra tm_user_shutdown$tm_user_shutdown  168  169 transfer_no_prefix user_shutdown_adjust,tm_firstref_tv_  000037 entry user_shutdown_adjust 000037 4a 4 00106 7101 20 user_shutdown_adjust: tra tm_firstref_tv_$user_shutdown_adjust  170  171 transfer_no_prefix user_shutdown_free,tm_firstref_tv_  000040 entry user_shutdown_free  000040 4a 4 00110 7101 20 user_shutdown_free: tra tm_firstref_tv_$user_shutdown_free  172  173 gate_transfer user_shutdown_real,dm_gate_  000041 entry user_shutdown_real  000041 4a 4 00112 7131 20 user_shutdown_real: call6 dm_gate_$tm_user_shutdown_real  174  175 end  ENTRY SEQUENCES  000042 5a 000365 0000 00 000043 aa 7 00046 2721 20 000044 0a 000000 7100 00 000045 5a 000357 0000 00 000046 aa 7 00046 2721 20 000047 0a 000001 7100 00 000050 5a 000347 0000 00 000051 aa 7 00046 2721 20 000052 0a 000002 7100 00 000053 5a 000341 0000 00 000054 aa 7 00046 2721 20 000055 0a 000003 7100 00 000056 5a 000331 0000 00 000057 aa 7 00046 2721 20 000060 0a 000004 7100 00 000061 5a 000323 0000 00 000062 aa 7 00046 2721 20 000063 0a 000005 7100 00 000064 5a 000315 0000 00 000065 aa 7 00046 2721 20 000066 0a 000006 7100 00 000067 5a 000307 0000 00 000070 aa 7 00046 2721 20 000071 0a 000007 7100 00 000072 5a 000301 0000 00 000073 aa 7 00046 2721 20 000074 0a 000010 7100 00 000075 5a 000273 0000 00 000076 aa 7 00046 2721 20 000077 0a 000011 7100 00 000100 5a 000265 0000 00 000101 aa 7 00046 2721 20 000102 0a 000012 7100 00 000103 5a 000255 0000 00 000104 aa 7 00046 2721 20 000105 0a 000013 7100 00 000106 5a 000246 0000 00 000107 aa 7 00046 2721 20 000110 0a 000014 7100 00 000111 5a 000236 0000 00 000112 aa 7 00046 2721 20 000113 0a 000015 7100 00 000114 5a 000225 0000 00 000115 aa 7 00046 2721 20 000116 0a 000016 7100 00 000117 5a 000216 0000 00 000120 aa 7 00046 2721 20 000121 0a 000017 7100 00 000122 5a 000207 0000 00 000123 aa 7 00046 2721 20 000124 0a 000020 7100 00 000125 5a 000200 0000 00 000126 aa 7 00046 2721 20 000127 0a 000021 7100 00 000130 5a 000171 0000 00 000131 aa 7 00046 2721 20 000132 0a 000022 7100 00 000133 5a 000161 0000 00 000134 aa 7 00046 2721 20 000135 0a 000023 7100 00 000136 5a 000151 0000 00 000137 aa 7 00046 2721 20 000140 0a 000024 7100 00 000141 5a 000143 0000 00 000142 aa 7 00046 2721 20 000143 0a 000025 7100 00 000144 5a 000134 0000 00 000145 aa 7 00046 2721 20 000146 0a 000026 7100 00 000147 5a 000126 0000 00 000150 aa 7 00046 2721 20 000151 0a 000027 7100 00 000152 5a 000116 0000 00 000153 aa 7 00046 2721 20 000154 0a 000030 7100 00 000155 5a 000107 0000 00 000156 aa 7 00046 2721 20 000157 0a 000031 7100 00 000160 5a 000077 0000 00 000161 aa 7 00046 2721 20 000162 0a 000032 7100 00 000163 5a 000071 0000 00 000164 aa 7 00046 2721 20 000165 0a 000033 7100 00 000166 5a 000062 0000 00 000167 aa 7 00046 2721 20 000170 0a 000034 7100 00 000171 5a 000054 0000 00 000172 aa 7 00046 2721 20 000173 0a 000035 7100 00 000174 5a 000045 0000 00 000175 aa 7 00046 2721 20 000176 0a 000036 7100 00 000177 5a 000034 0000 00 000200 aa 7 00046 2721 20 000201 0a 000037 7100 00 000202 5a 000024 0000 00 000203 aa 7 00046 2721 20 000204 0a 000040 7100 00 000205 5a 000014 0000 00 000206 aa 7 00046 2721 20 000207 0a 000041 7100 00 NO LITERALS  NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 000210 5a 000003 000000 000211 5a 000402 600000 000212 aa 000000 000000 000213 55 000014 000002 000214 5a 000002 400003 000215 55 000006 000014 000216 aa 024 164 162 141 000217 aa 156 163 141 143 000220 aa 164 151 157 156 000221 aa 137 155 141 156 000222 aa 141 147 145 162 000223 aa 137 000 000 000 000224 55 000024 000003 000225 0a 000206 500000 000226 55 000017 000003 000227 aa 022 165 163 145 user_shutdown_real  000230 aa 162 137 163 150 000231 aa 165 164 144 157 000232 aa 167 156 137 162 000233 aa 145 141 154 000 000234 55 000034 000014 000235 0a 000203 500000 000236 55 000027 000003 000237 aa 022 165 163 145 user_shutdown_free  000240 aa 162 137 163 150 000241 aa 165 164 144 157 000242 aa 167 156 137 146 000243 aa 162 145 145 000 000244 55 000045 000024 000245 0a 000200 500000 000246 55 000037 000003 000247 aa 024 165 163 145 user_shutdown_adjust  000250 aa 162 137 163 150 000251 aa 165 164 144 157 000252 aa 167 156 137 141 000253 aa 144 152 165 163 000254 aa 164 000 000 000 000255 55 000054 000034 000256 0a 000175 500000 000257 55 000050 000003 000260 aa 015 165 163 145 user_shutdown  000261 aa 162 137 163 150 000262 aa 165 164 144 157 000263 aa 167 156 000 000 000264 55 000062 000045 000265 0a 000172 500000 000266 55 000057 000003 000267 aa 013 163 165 163 suspend_txn 000270 aa 160 145 156 144 000271 aa 137 164 170 156 000272 55 000071 000054 000273 0a 000167 500000 000274 55 000065 000003 000275 aa 014 162 157 154 rollback_txn  000276 aa 154 142 141 143 000277 aa 153 137 164 170 000300 aa 156 000 000 000 000301 55 000077 000062 000302 0a 000164 500000 000303 55 000074 000003 000304 aa 012 162 145 163 resume_txn  000305 aa 165 155 145 137 000306 aa 164 170 156 000 000307 55 000107 000071 000310 0a 000161 500000 000311 55 000102 000003 000312 aa 023 162 145 143 recover_after_crash 000313 aa 157 166 145 162 000314 aa 137 141 146 164 000315 aa 145 162 137 143 000316 aa 162 141 163 150 000317 55 000116 000077 000320 0a 000156 500000 000321 55 000112 000003 000322 aa 017 160 145 162 per_system_init 000323 aa 137 163 171 163 000324 aa 164 145 155 137 000325 aa 151 156 151 164 000326 55 000126 000107 000327 0a 000153 500000 000330 55 000121 000003 000331 aa 020 160 145 162 per_process_init  000332 aa 137 160 162 157 000333 aa 143 145 163 163 000334 aa 137 151 156 151 000335 aa 164 000 000 000 000336 55 000134 000116 000337 0a 000150 500000 000340 55 000131 000003 000341 aa 010 153 151 154 kill_txn  000342 aa 154 137 164 170 000343 aa 156 000 000 000 000344 55 000143 000126 000345 0a 000145 500000 000346 55 000137 000003 000347 aa 016 151 160 163 ips_wakeup_all  000350 aa 137 167 141 153 000351 aa 145 165 160 137 000352 aa 141 154 154 000 000353 55 000151 000134 000354 0a 000142 500000 000355 55 000146 000003 000356 aa 012 151 160 163 ips_wakeup  000357 aa 137 167 141 153 000360 aa 145 165 160 000 000361 55 000161 000143 000362 0a 000137 500000 000363 55 000154 000003 000364 aa 021 150 141 156 handle_conditions  000365 aa 144 154 145 137 000366 aa 143 157 156 144 000367 aa 151 164 151 157 000370 aa 156 163 000 000 000371 55 000171 000151 000372 0a 000134 500000 000373 55 000164 000003 000374 aa 022 147 145 164 get_txn_info_index  000375 aa 137 164 170 156 000376 aa 137 151 156 146 000377 aa 157 137 151 156 000400 aa 144 145 170 000 000401 55 000200 000161 000402 0a 000131 500000 000403 55 000174 000003 000404 aa 014 147 145 164 get_txn_info  000405 aa 137 164 170 156 000406 aa 137 151 156 146 000407 aa 157 000 000 000 000410 55 000207 000171 000411 0a 000126 500000 000412 55 000203 000003 000413 aa 015 147 145 164 get_txn_index  000414 aa 137 164 170 156 000415 aa 137 151 156 144 000416 aa 145 170 000 000 000417 55 000216 000200 000420 0a 000123 500000 000421 55 000212 000003 000422 aa 014 147 145 164 get_tdt_size  000423 aa 137 164 144 164 000424 aa 137 163 151 172 000425 aa 145 000 000 000 000426 55 000225 000207 000427 0a 000120 500000 000430 55 000221 000003 000431 aa 016 147 145 164 get_state_info  000432 aa 137 163 164 141 000433 aa 164 145 137 151 000434 aa 156 146 157 000 000435 55 000236 000216 000436 0a 000115 500000 000437 55 000230 000003 000440 aa 025 147 145 164 get_state_description  000441 aa 137 163 164 141 000442 aa 164 145 137 144 000443 aa 145 163 143 162 000444 aa 151 160 164 151 000445 aa 157 156 000 000 000446 55 000246 000225 000447 0a 000112 500000 000450 55 000241 000003 000451 aa 022 147 145 164 get_current_txn_id  000452 aa 137 143 165 162 000453 aa 162 145 156 164 000454 aa 137 164 170 156 000455 aa 137 151 144 000 000456 55 000255 000236 000457 0a 000107 500000 000460 55 000251 000003 000461 aa 017 147 145 164 get_current_ids 000462 aa 137 143 165 162 000463 aa 162 145 156 164 000464 aa 137 151 144 163 000465 55 000265 000246 000466 0a 000104 500000 000467 55 000260 000003 000470 aa 020 144 155 137 dm_system_in_use  000471 aa 163 171 163 164 000472 aa 145 155 137 151 000473 aa 156 137 165 163 000474 aa 145 000 000 000 000475 55 000273 000255 000476 0a 000101 500000 000477 55 000270 000003 000500 aa 012 143 157 155 commit_txn  000501 aa 155 151 164 137 000502 aa 164 170 156 000 000503 55 000301 000265 000504 0a 000076 500000 000505 55 000276 000003 000506 aa 010 142 165 155 bump_all  000507 aa 160 137 141 154 000510 aa 154 000 000 000 000511 55 000307 000273 000512 0a 000073 500000 000513 55 000304 000003 000514 aa 011 142 145 147 begins_on  000515 aa 151 156 163 137 000516 aa 157 156 000 000 000517 55 000315 000301 000520 0a 000070 500000 000521 55 000312 000003 000522 aa 012 142 145 147 begins_off  000523 aa 151 156 163 137 000524 aa 157 146 146 000 000525 55 000323 000307 000526 0a 000065 500000 000527 55 000320 000003 000530 aa 011 142 145 147 begin_txn  000531 aa 151 156 137 164 000532 aa 170 156 000 000 000533 55 000331 000315 000534 0a 000062 500000 000535 55 000326 000003 000536 aa 012 141 144 152 adjust_txn  000537 aa 165 163 164 137 000540 aa 164 170 156 000 000541 55 000341 000323 000542 0a 000057 500000 000543 55 000334 000003 000544 aa 020 141 144 152 adjust_tdt_entry  000545 aa 165 163 164 137 000546 aa 164 144 164 137 000547 aa 145 156 164 162 000550 aa 171 000 000 000 000551 55 000347 000331 000552 0a 000054 500000 000553 55 000344 000003 000554 aa 012 141 144 152 adjust_tdt  000555 aa 165 163 164 137 000556 aa 164 144 164 000 000557 55 000357 000341 000560 0a 000051 500000 000561 55 000352 000003 000562 aa 021 141 144 152 adjust_process_id  000563 aa 165 163 164 137 000564 aa 160 162 157 143 000565 aa 145 163 163 137 000566 aa 151 144 000 000 000567 55 000365 000347 000570 0a 000046 500000 000571 55 000362 000003 000572 aa 011 141 142 157 abort_txn  000573 aa 162 164 137 164 000574 aa 170 156 000 000 000575 55 000373 000357 000576 0a 000043 500000 000577 55 000370 000003 000600 aa 013 141 142 141 abandon_txn 000601 aa 156 144 157 156 000602 aa 137 164 170 156 000603 55 000002 000365 000604 6a 000000 400002 000605 55 000376 000003 000606 aa 014 163 171 155 symbol_table  000607 aa 142 157 154 137 000610 aa 164 141 142 154 000611 aa 145 000 000 000 DEFINITIONS HASH TABLE  000612 aa 000000 000065 000613 aa 000000 000000 000614 5a 000216 000000 000615 5a 000054 000000 000616 5a 000200 000000 000617 aa 000000 000000 000620 5a 000171 000000 000621 5a 000207 000000 000622 5a 000273 000000 000623 5a 000365 000000 000624 aa 000000 000000 000625 5a 000126 000000 000626 5a 000265 000000 000627 aa 000000 000000 000630 aa 000000 000000 000631 5a 000151 000000 000632 aa 000000 000000 000633 aa 000000 000000 000634 aa 000000 000000 000635 5a 000034 000000 000636 5a 000307 000000 000637 5a 000347 000000 000640 5a 000071 000000 000641 5a 000014 000000 000642 5a 000024 000000 000643 5a 000301 000000 000644 5a 000315 000000 000645 5a 000134 000000 000646 5a 000255 000000 000647 5a 000331 000000 000650 5a 000357 000000 000651 5a 000373 000000 000652 aa 000000 000000 000653 5a 000045 000000 000654 aa 000000 000000 000655 5a 000143 000000 000656 5a 000323 000000 000657 5a 000341 000000 000660 aa 000000 000000 000661 aa 000000 000000 000662 aa 000000 000000 000663 5a 000077 000000 000664 5a 000225 000000 000665 5a 000062 000000 000666 aa 000000 000000 000667 aa 000000 000000 000670 aa 000000 000000 000671 5a 000161 000000 000672 5a 000236 000000 000673 aa 000000 000000 000674 5a 000116 000000 000675 aa 000000 000000 000676 5a 000107 000000 000677 5a 000246 000000 EXTERNAL NAMES  000700 aa 025 164 155 137 tm_user_shutdown_real  000701 aa 165 163 145 162 000702 aa 137 163 150 165 000703 aa 164 144 157 167 000704 aa 156 137 162 145 000705 aa 141 154 000 000 000706 aa 020 164 155 137 tm_user_shutdown  000707 aa 165 163 145 162 000710 aa 137 163 150 165 000711 aa 164 144 157 167 000712 aa 156 000 000 000 000713 aa 016 164 155 137 tm_suspend_txn  000714 aa 163 165 163 160 000715 aa 145 156 144 137 000716 aa 164 170 156 000 000717 aa 017 164 155 137 tm_rollback_txn 000720 aa 162 157 154 154 000721 aa 142 141 143 153 000722 aa 137 164 170 156 000723 aa 015 164 155 137 tm_resume_txn  000724 aa 162 145 163 165 000725 aa 155 145 137 164 000726 aa 170 156 000 000 000727 aa 026 164 155 137 tm_recover_after_crash  000730 aa 162 145 143 157 000731 aa 166 145 162 137 000732 aa 141 146 164 145 000733 aa 162 137 143 162 000734 aa 141 163 150 000 000735 aa 022 164 155 137 tm_per_system_init  000736 aa 160 145 162 137 000737 aa 163 171 163 164 000740 aa 145 155 137 151 000741 aa 156 151 164 000 000742 aa 017 164 155 137 tm_firstref_tv_ 000743 aa 146 151 162 163 000744 aa 164 162 145 146 000745 aa 137 164 166 137 000746 aa 013 164 155 137 tm_kill_txn 000747 aa 153 151 154 154 000750 aa 137 164 170 156 000751 aa 021 164 155 137 tm_ips_wakeup_all  000752 aa 151 160 163 137 000753 aa 167 141 153 145 000754 aa 165 160 137 141 000755 aa 154 154 000 000 000756 aa 015 164 155 137 tm_ips_wakeup  000757 aa 151 160 163 137 000760 aa 167 141 153 145 000761 aa 165 160 000 000 000762 aa 024 164 155 137 tm_handle_conditions  000763 aa 150 141 156 144 000764 aa 154 145 137 143 000765 aa 157 156 144 151 000766 aa 164 151 157 156 000767 aa 163 000 000 000 000770 aa 025 164 155 137 tm_get_txn_info_index  000771 aa 147 145 164 137 000772 aa 164 170 156 137 000773 aa 151 156 146 157 000774 aa 137 151 156 144 000775 aa 145 170 000 000 000776 aa 017 164 155 137 tm_get_txn_info 000777 aa 147 145 164 137 001000 aa 164 170 156 137 001001 aa 151 156 146 157 001002 aa 020 164 155 137 tm_get_txn_index  001003 aa 147 145 164 137 001004 aa 164 170 156 137 001005 aa 151 156 144 145 001006 aa 170 000 000 000 001007 aa 017 164 155 137 tm_get_tdt_size 001010 aa 147 145 164 137 001011 aa 164 144 164 137 001012 aa 163 151 172 145 001013 aa 021 164 155 137 tm_get_state_info  001014 aa 147 145 164 137 001015 aa 163 164 141 164 001016 aa 145 137 151 156 001017 aa 146 157 000 000 001020 aa 030 164 155 137 tm_get_state_description  001021 aa 147 145 164 137 001022 aa 163 164 141 164 001023 aa 145 137 144 145 001024 aa 163 143 162 151 001025 aa 160 164 151 157 001026 aa 156 000 000 000 001027 aa 025 164 155 137 tm_get_current_txn_id  001030 aa 147 145 164 137 001031 aa 143 165 162 162 001032 aa 145 156 164 137 001033 aa 164 170 156 137 001034 aa 151 144 000 000 001035 aa 022 164 155 137 tm_get_current_ids  001036 aa 147 145 164 137 001037 aa 143 165 162 162 001040 aa 145 156 164 137 001041 aa 151 144 163 000 001042 aa 023 164 155 137 tm_dm_system_in_use 001043 aa 144 155 137 163 001044 aa 171 163 164 145 001045 aa 155 137 151 156 001046 aa 137 165 163 145 001047 aa 015 164 155 137 tm_commit_txn  001050 aa 143 157 155 155 001051 aa 151 164 137 164 001052 aa 170 156 000 000 001053 aa 013 164 155 137 tm_bump_all 001054 aa 142 165 155 160 001055 aa 137 141 154 154 001056 aa 014 164 155 137 tm_begins_on  001057 aa 142 145 147 151 001060 aa 156 163 137 157 001061 aa 156 000 000 000 001062 aa 015 164 155 137 tm_begins_off  001063 aa 142 145 147 151 001064 aa 156 163 137 157 001065 aa 146 146 000 000 001066 aa 014 164 155 137 tm_begin_txn  001067 aa 142 145 147 151 001070 aa 156 137 164 170 001071 aa 156 000 000 000 001072 aa 015 164 155 137 tm_adjust_txn  001073 aa 141 144 152 165 001074 aa 163 164 137 164 001075 aa 170 156 000 000 001076 aa 023 164 155 137 tm_adjust_tdt_entry 001077 aa 141 144 152 165 001100 aa 163 164 137 164 001101 aa 144 164 137 145 001102 aa 156 164 162 171 001103 aa 015 164 155 137 tm_adjust_tdt  001104 aa 141 144 152 165 001105 aa 163 164 137 164 001106 aa 144 164 000 000 001107 aa 024 164 155 137 tm_adjust_process_id  001110 aa 141 144 152 165 001111 aa 163 164 137 160 001112 aa 162 157 143 145 001113 aa 163 163 137 151 001114 aa 144 000 000 000 001115 aa 017 144 155 137 dm_daemon_gate_ 001116 aa 144 141 145 155 001117 aa 157 156 137 147 001120 aa 141 164 145 137 001121 aa 014 164 155 137 tm_abort_txn  001122 aa 141 142 157 162 001123 aa 164 137 164 170 001124 aa 156 000 000 000 001125 aa 016 164 155 137 tm_abandon_txn  001126 aa 141 142 141 156 001127 aa 144 157 156 137 001130 aa 164 170 156 000 001131 aa 010 144 155 137 dm_gate_  001132 aa 147 141 164 145 001133 aa 137 000 000 000 NO TRAP POINTER WORDS  TYPE PAIR BLOCKS  001134 aa 000004 000000 001135 55 000721 000470 001136 aa 000004 000000 001137 55 000532 000027 001140 aa 000004 000000 001141 55 000532 000037 001142 aa 000004 000000 001143 55 000476 000476 001144 aa 000004 000000 001145 55 000721 000503 001146 aa 000004 000000 001147 55 000721 000507 001150 aa 000004 000000 001151 55 000721 000513 001152 aa 000004 000000 001153 55 000705 000517 001154 aa 000004 000000 001155 55 000525 000525 001156 aa 000004 000000 001157 55 000532 000121 001160 aa 000004 000000 001161 55 000705 000536 001162 aa 000004 000000 001163 55 000705 000541 001164 aa 000004 000000 001165 55 000705 000546 001166 aa 000004 000000 001167 55 000552 000552 001170 aa 000004 000000 001171 55 000721 000560 001172 aa 000004 000000 001173 55 000721 000566 001174 aa 000004 000000 001175 55 000721 000572 001176 aa 000004 000000 001177 55 000721 000577 001200 aa 000004 000000 001201 55 000603 000603 001202 aa 000004 000000 001203 55 000610 000610 001204 aa 000004 000000 001205 55 000721 000617 001206 aa 000004 000000 001207 55 000721 000625 001210 aa 000004 000000 001211 55 000705 000632 001212 aa 000004 000000 001213 55 000721 000637 001214 aa 000004 000000 001215 55 000705 000643 001216 aa 000004 000000 001217 55 000705 000646 001220 aa 000004 000000 001221 55 000705 000652 001222 aa 000004 000000 001223 55 000721 000656 001224 aa 000004 000000 001225 55 000721 000662 001226 aa 000004 000000 001227 55 000705 000666 001230 aa 000004 000000 001231 55 000721 000673 001232 aa 000004 000000 001233 55 000705 000677 001234 aa 000004 000000 001235 55 000721 000711 001236 aa 000004 000000 001237 55 000721 000715 001240 aa 000001 000000 001241 aa 000000 000000 INTERNAL EXPRESSION WORDS 001242 5a 000724 000000 001243 5a 000726 000000 001244 5a 000730 000000 001245 5a 000732 000000 001246 5a 000734 000000 001247 5a 000736 000000 001250 5a 000740 000000 001251 5a 000742 000000 001252 5a 000744 000000 001253 5a 000746 000000 001254 5a 000750 000000 001255 5a 000752 000000 001256 5a 000754 000000 001257 5a 000756 000000 001260 5a 000760 000000 001261 5a 000762 000000 001262 5a 000764 000000 001263 5a 000766 000000 001264 5a 000770 000000 001265 5a 000772 000000 001266 5a 000774 000000 001267 5a 000776 000000 001270 5a 001000 000000 001271 5a 001002 000000 001272 5a 001004 000000 001273 5a 001006 000000 001274 5a 001010 000000 001275 5a 001012 000000 001276 5a 001014 000000 001277 5a 001016 000000 001300 5a 001020 000000 001301 5a 001022 000000 001302 5a 001024 000000 001303 5a 001026 000000 LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 000210 000000 000002 aa 000000 000000 000003 aa 000000 000000 000004 aa 000000 000000 000005 aa 000000 000000 000006 22 000010 000114 000007 a2 000000 000000 000010 9a 777770 0000 46 dm_gate_|tm_abandon_txn 000011 5a 001073 0000 00 000012 9a 777766 0000 46 dm_gate_|tm_abort_txn  000013 5a 001072 0000 00 000014 9a 777764 0000 46 dm_daemon_gate_|tm_adjust_process_id  000015 5a 001071 0000 00 000016 9a 777762 0000 46 dm_gate_|tm_adjust_tdt  000017 5a 001070 0000 00 000020 9a 777760 0000 46 dm_daemon_gate_|tm_adjust_tdt_entry 000021 5a 001067 0000 00 000022 9a 777756 0000 46 dm_gate_|tm_adjust_txn  000023 5a 001066 0000 00 000024 9a 777754 0000 46 dm_gate_|tm_begin_txn  000025 5a 001065 0000 00 000026 9a 777752 0000 46 dm_daemon_gate_|tm_begins_off  000027 5a 001064 0000 00 000030 9a 777750 0000 46 dm_daemon_gate_|tm_begins_on  000031 5a 001063 0000 00 000032 9a 777746 0000 46 dm_daemon_gate_|tm_bump_all 000033 5a 001062 0000 00 000034 9a 777744 0000 46 dm_gate_|tm_commit_txn  000035 5a 001061 0000 00 000036 9a 777742 0000 46 dm_daemon_gate_|tm_dm_system_in_use 000037 5a 001060 0000 00 000040 9a 777740 0000 46 dm_gate_|tm_get_current_ids 000041 5a 001057 0000 00 000042 9a 777736 0000 46 dm_gate_|tm_get_current_txn_id  000043 5a 001056 0000 00 000044 9a 777734 0000 46 tm_get_state_description|tm_get_state_description  000045 5a 001055 0000 00 000046 9a 777732 0000 46 tm_get_state_info|tm_get_state_info 000047 5a 001054 0000 00 000050 9a 777730 0000 46 dm_gate_|tm_get_tdt_size  000051 5a 001053 0000 00 000052 9a 777726 0000 46 dm_gate_|tm_get_txn_index  000053 5a 001052 0000 00 000054 9a 777724 0000 46 dm_gate_|tm_get_txn_info  000055 5a 001051 0000 00 000056 9a 777722 0000 46 dm_gate_|tm_get_txn_info_index  000057 5a 001050 0000 00 000060 9a 777720 0000 46 tm_handle_conditions|tm_handle_conditions  000061 5a 001047 0000 00 000062 9a 777716 0000 46 dm_daemon_gate_|tm_ips_wakeup  000063 5a 001046 0000 00 000064 9a 777714 0000 46 dm_daemon_gate_|tm_ips_wakeup_all  000065 5a 001045 0000 00 000066 9a 777712 0000 46 dm_daemon_gate_|tm_kill_txn 000067 5a 001044 0000 00 000070 9a 777710 0000 46 tm_firstref_tv_|per_process_init  000071 5a 001043 0000 00 000072 9a 777706 0000 46 tm_per_system_init|tm_per_system_init  000073 5a 001042 0000 00 000074 9a 777704 0000 46 dm_daemon_gate_|tm_recover_after_crash  000075 5a 001041 0000 00 000076 9a 777702 0000 46 dm_gate_|tm_resume_txn  000077 5a 001040 0000 00 000100 9a 777700 0000 46 dm_gate_|tm_rollback_txn  000101 5a 001037 0000 00 000102 9a 777676 0000 46 dm_gate_|tm_suspend_txn 000103 5a 001036 0000 00 000104 9a 777674 0000 46 tm_user_shutdown|tm_user_shutdown  000105 5a 001035 0000 00 000106 9a 777672 0000 46 tm_firstref_tv_|user_shutdown_adjust  000107 5a 001034 0000 00 000110 9a 777670 0000 46 tm_firstref_tv_|user_shutdown_free  000111 5a 001033 0000 00 000112 9a 777666 0000 46 dm_gate_|tm_user_shutdown_real  000113 5a 001032 0000 00 SYMBOL INFORMATION SYMBOL TABLE HEADER  000000 aa 000000 000001 000001 aa 163171 155142 000002 aa 164162 145145 000003 aa 000000 000004 000004 aa 000000 112143 000005 aa 305203 523135 000006 aa 000000 113475 000007 aa 517547 744071 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 000156 000020 aa 000000 000104 000021 aa 000000 000131 000022 aa 000150 000104 000023 aa 000064 000000 000024 aa 101114 115040 000025 aa 126145 162163 000026 aa 151157 156040 000027 aa 040066 056066 000030 aa 040040 116157 000031 aa 166145 155142 000032 aa 145162 040061 000033 aa 071070 062040 000034 aa 107112 157150 000035 aa 156163 157156 000036 aa 056123 171163 000037 aa 115141 151156 000040 aa 164056 155040 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 000047 000067 aa 134750 166530 000070 aa 000000 113475 000071 aa 506371 200000 000072 aa 076163 160145 >spec>on>41-21>transaction_manager_.alm 000073 aa 143076 157156 000074 aa 076064 061055 000075 aa 062061 076164 000076 aa 162141 156163 000077 aa 141143 164151 000100 aa 157156 137155 000101 aa 141156 141147 000102 aa 145162 137056 000103 aa 141154 155040 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number  0 abandon_txn transaction_manager_: 107. 1 abort_txn transaction_manager_: 109. 2 adjust_process_id transaction_manager_: 111. 3 adjust_tdt transaction_manager_: 113. 4 adjust_tdt_entry transaction_manager_: 115. 5 adjust_txn transaction_manager_: 117. 7 begins_off transaction_manager_: 121. 10 begins_on transaction_manager_: 123. 6 begin_txn transaction_manager_: 119. 11 bump_all transaction_manager_: 125. 12 commit_txn transaction_manager_: 127. dm_daemon_gate_ transaction_manager_: 111, 115, 121, 123, 125, 129, 149, 151, 153, 159.  dm_gate_ transaction_manager_: 107, 109, 113, 117, 119, 127, 131, 133, 139, 141,  143, 145, 161, 163, 165, 173.  13 dm_system_in_use transaction_manager_: 129. 14 get_current_ids transaction_manager_: 131. 15 get_current_txn_id transaction_manager_: 133. 16 get_state_description transaction_manager_: 135. 17 get_state_info transaction_manager_: 137. 20 get_tdt_size transaction_manager_: 139. 21 get_txn_index transaction_manager_: 141. 22 get_txn_info transaction_manager_: 143. 23 get_txn_info_index transaction_manager_: 145. 24 handle_conditions transaction_manager_: 147. 25 ips_wakeup transaction_manager_: 149. 26 ips_wakeup_all transaction_manager_: 151. 27 kill_txn transaction_manager_: 153. 30 per_process_init transaction_manager_: 155. 31 per_system_init transaction_manager_: 157. 32 recover_after_crash transaction_manager_: 159. 33 resume_txn transaction_manager_: 161. 34 rollback_txn transaction_manager_: 163. 35 suspend_txn transaction_manager_: 165. tm_abandon_txn transaction_manager_: 107. tm_abort_txn transaction_manager_: 109. tm_adjust_process_id transaction_manager_: 111. tm_adjust_tdt transaction_manager_: 113. tm_adjust_tdt_entry transaction_manager_: 115. tm_adjust_txn transaction_manager_: 117. tm_begins_off transaction_manager_: 121. tm_begins_on transaction_manager_: 123. tm_begin_txn transaction_manager_: 119. tm_bump_all transaction_manager_: 125. tm_commit_txn transaction_manager_: 127. tm_dm_system_in_use transaction_manager_: 129. tm_firstref_tv_ transaction_manager_: 155, 169, 171. tm_get_current_ids transaction_manager_: 131. tm_get_current_txn_id transaction_manager_: 133. tm_get_state_description transaction_manager_: 135.  tm_get_state_info transaction_manager_: 137. tm_get_tdt_size transaction_manager_: 139. tm_get_txn_index transaction_manager_: 141. tm_get_txn_info transaction_manager_: 143. tm_get_txn_info_index transaction_manager_: 145. tm_handle_conditions transaction_manager_: 147. tm_ips_wakeup transaction_manager_: 149. tm_ips_wakeup_all transaction_manager_: 151. tm_kill_txn transaction_manager_: 153. tm_per_system_init transaction_manager_: 157. tm_recover_after_crash transaction_manager_: 159. tm_resume_txn transaction_manager_: 161. tm_rollback_txn transaction_manager_: 163. tm_suspend_txn transaction_manager_: 165. tm_user_shutdown transaction_manager_: 167. tm_user_shutdown_real transaction_manager_: 173. 36 user_shutdown transaction_manager_: 167. 37 user_shutdown_adjust transaction_manager_: 169. 40 user_shutdown_free transaction_manager_: 171. 41 user_shutdown_real transaction_manager_: 173. 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