ASSEMBLY LISTING OF SEGMENT >udd>sm>ds>w>ml>bootload_0.alm ASSEMBLED ON: 06/29/00 1717.3 mdt Thu OPTIONS USED: list symbols ASSEMBLED BY: ALM Version 8.14 March 1989 ASSEMBLER CREATED: 06/09/89 1102.3 mdt Fri 1 " *********************************************************** 2 " * * 3 " * Copyright, (C) Honeywell Bull Inc., 1987 * 4 " * * 5 " * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6 " * * 7 " *********************************************************** 8 9 " BOOTLOAD_0 -- First program to run appended in Bootload Multics 10 " This program is derived variously from FWLOAD and bootstrap1. 11 " 10/03/80, W. Olin Sibert 12 " 04/21/81, Chris Jones 13 " 1982-06-29 BIM 14 " 1982-11-17 CAH 15 " 84-05-17 KPL renamed from bootload_1 16 000000 17 name bootload_0 18 19 include bootload_equs 1-1 " BEGIN INCLUDE FILE bootload_equs.incl.alm 1-2 " Created 10/04/80 W. Olin Sibert, mostly from bootstrap1 1-3 " Modified by almost everyone, it seems. 1-4 " Last modified for MR11 bootload Multics addresses starting in 1983 by 1-5 " Keith Loepere. 1-6 " 1-7 " This include file describes various things used by the programs in 1-8 " bound_bootload_0. 1-9 1-10 " Default pointer register usage: 1-11 000000 1-12 equ ds,0 " Descriptor segment 000001 1-13 equ seg2,1 " Another temporary 000002 1-14 equ mb,2 " IOM mailbox 000003 1-15 equ slt,3 " Segment loading table (SLT) 000004 1-16 equ nt,4 " Name_table 000005 1-17 equ prb,5 " Physical_record_buffer 000006 1-18 equ seg,6 " Temporary 000007 1-19 equ fv,7 " Interrupt and fault vectors 1-20 1-21 " Macros 1-22 1-23 macro equ_o 1 1-24 maclist off,save 2 1-25 bool &U,&2 3 1-26 equ &1,&U 4 1-27 maclist restore 5 1-28 &end 1-29 1-30 macro set_o 1 1-31 maclist off,save 2 1-32 bool &U,&2 3 1-33 set &1,&U 4 1-34 maclist restore 5 1-35 &end 1-36 1-37 macro include_nolist 1 1-38 maclist off,save 2 1-39 include &1 3 1-40 maclist restore 4 1-41 &end 1-42 1-43 macro Bpush 1 1-44 stx2 bootload_0$entry_stack_ptr,id 2 1-45 ttn bootload_error$out_of_stack 3 1-46 &end 1-47 1-48 " Breturn offset-from-return-point 1-49 1-50 macro Breturn 1 1-51 ldx2 bootload_0$entry_stack_ptr,di 2 1-52 tra 0+&1,x2 3 1-53 &end 1-54 1-55 " Bentry name,offset-from-return-point 1-56 1-57 macro Bentry 1 1-58 segdef &1 2 1-59 macro &1_return 3 1-60 Breturn &<&K,2&[0&;&2&] 4 1-61 &&end 5 1-62 &end 1-63 1-64 " Bentry_internal name,offset_from_return_point 1-65 1-66 macro Bentry_internal 1 1-67 macro &1_return 2 1-68 Breturn &<&K,2&[0&;&2&] 3 1-69 &&end 4 1-70 &end 1-71 1-72 1-73 " Definitions 1-74 1-75 equ_o bostoe_absloc,10000 " bos_teohold 1-76 equ_o bostoe_lth,2000 1-77 1-78 equ_o fgbx_absloc,24000 " now in bce toehold 1-79 equ_o fgbx_lth,2000 1-80 1-81 equ_o toe_absloc,24000 " bootload Multics toehold 1-82 equ_o toe_lth,4000 " This starts at a 0 mod 4 1-83 " page address. It is 1-84 " bound as first element 1-85 " of bound_bootload_0. 1-86 1-87 equ_o bbl0_absloc,24000 " bound_bootload_0 location 1-88 equ_o bbl0_lth,22000 " and length. 1-89 1-90 equ_o toedata_absloc,46000 " toehold_data 1-91 equ_o toedata_lth,4000 1-92 1-93 equ_o upt_absloc,52000 " unpaged_page_tables 1-94 equ_o upt_lth,2000 1-95 1-96 equ_o iupt_absloc,54000 " init_unpaged_page_tables 1-97 equ_o iupt_lth,2000 1-98 1-99 equ_o bkpt_absloc,56000 " breakpoint_page 1-100 equ_o bkpt_lth,2000 1-101 1-102 equ_o prb_absloc,60000 " physical_record_buffer 1-103 equ_o prb_lth,6000 " memory past here up for 1-104 " grabs 1-105 1-106 " END INCLUDE FILE bootload_equs.incl.alm 20 " 21 " Here is storage for a stack for calls in the collection 0 environment. 22 " The Bentry and Breturn macros in bootload_equs.incl.alm manage it, 23 " using id and di modifiers. Max depth is entry_stack_size. 24 " The segdef is provided for debuggers. 25 000020 26 equ entry_stack_size,16 27 000021 28 segdef entry_stack,entry_stack_ptr 29 000000 aa 777777 0000 00 30 arg -1 " make sure no one pops this 000001 31 entry_stack: 000001 32 bss ,entry_stack_size 33 000021 34 entry_stack_ptr: 000021 0a 000001 002000 35 vfd 18/entry_stack,12/entry_stack_size,6/0 36 " 37 " Here begins the main portion of collection 0 bootload. It basically falls 38 " through a set of subroutine calls until it is finally done and then 39 " transfers to bootload_1 to get the environment set up. Most of the real 40 " work is done outside this program -- bootload_0 is mostly just a driver. 41 000022 42 segdef begin 43 000022 44 begin: 000022 4a 4 00010 7021 20 45 tsx2 bootload_io$preinit " make sense of the bootload program 46 000023 4a 4 00012 7021 20 47 tsx2 bootload_flagbox$preinit " Make BOS work with us, not against us. 48 000024 4a 4 00014 7021 20 49 tsx2 bootload_faults$init " Set up fault_vector 50 000025 4a 4 00016 7021 20 51 tsx2 bootload_slt_manager$init_slt " set up an initial SLT, 52 000026 4a 4 00020 7021 20 53 tsx2 bootload_io$init " Set up primitive I/O mechanism 54 000027 4a 4 00022 7021 20 55 tsx2 bootload_console$init " and the console 56 000030 4a 4 00024 7021 20 57 tsx2 bootload_loader$init " we can now initialize it 58 000031 4a 4 00026 7021 20 59 tsx2 bootload_tape_fw$boot " boot tape F/W if needed 60 000032 4a 4 00030 7021 20 61 tsx2 bootload_loader$load_collection " Load collection 1.0 62 000033 4a 4 00032 7021 20 63 tsx2 bootload_loader$finish " clean up linkage 64 000034 4a 4 00034 7021 20 65 tsx2 bootload_linker$prelink " snap all the links 66 67 " copy bootload_info 68 000035 4a 4 00036 1541 20 69 sdbr bootload_info$bce_dbr 70 000036 4a 4 00040 3725 20 71 epbp6 bootload_info$sys_boot_info_ptr,* 000037 4a 4 00042 3715 20 72 epp5 bootload_info$structure_start 000040 4a 4 00044 2351 20 73 lda bootload_info$structure_size 000041 aa 000002 7350 00 74 als 2 " Convert to character count 000042 aa 0 00140 1005 40 75 mlr (pr,rl),(pr,rl) " Move the contents 000043 aa 500000 000005 76 desc9a pr5|0,al 000044 aa 600000 000005 77 desc9a pr6|0,al 78 000045 4a 4 00046 3715 20 79 epplb bootload_info$lot_ptr,* " this is the one thing it can't do 000046 4a 4 00050 7101 20 80 tra bootload_info$bootload_1_ptr,* " Prepare to go on to the next segment 81 82 end bootload_0 NO LITERALS NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 000050 5a 000003 000000 000051 5a 000042 600000 000052 aa 000000 000000 000053 55 000011 000002 000054 5a 000002 400003 000055 55 000006 000011 000056 aa 012 142 157 157 000057 aa 164 154 157 141 000060 aa 144 137 060 000 000061 55 000016 000003 000062 0a 000022 400000 000063 55 000014 000003 000064 aa 005 142 145 147 begin 000065 aa 151 156 000 000 000066 55 000025 000011 000067 0a 000021 400000 000070 55 000021 000003 000071 aa 017 145 156 164 entry_stack_ptr 000072 aa 162 171 137 163 000073 aa 164 141 143 153 000074 aa 137 160 164 162 000075 55 000033 000016 000076 0a 000001 400000 000077 55 000030 000003 000100 aa 013 145 156 164 entry_stack 000101 aa 162 171 137 163 000102 aa 164 141 143 153 000103 55 000002 000025 000104 6a 000000 400002 000105 55 000036 000003 000106 aa 014 163 171 155 symbol_table 000107 aa 142 157 154 137 000110 aa 164 141 142 154 000111 aa 145 000 000 000 DEFINITIONS HASH TABLE 000112 aa 000000 000015 000113 aa 000000 000000 000114 aa 000000 000000 000115 aa 000000 000000 000116 5a 000025 000000 000117 5a 000011 000000 000120 aa 000000 000000 000121 5a 000033 000000 000122 aa 000000 000000 000123 aa 000000 000000 000124 5a 000016 000000 000125 aa 000000 000000 000126 aa 000000 000000 000127 aa 000000 000000 EXTERNAL NAMES 000130 aa 016 142 157 157 bootload_1_ptr 000131 aa 164 154 157 141 000132 aa 144 137 061 137 000133 aa 160 164 162 000 000134 aa 007 154 157 164 lot_ptr 000135 aa 137 160 164 162 000136 aa 016 163 164 162 structure_size 000137 aa 165 143 164 165 000140 aa 162 145 137 163 000141 aa 151 172 145 000 000142 aa 017 163 164 162 structure_start 000143 aa 165 143 164 165 000144 aa 162 145 137 163 000145 aa 164 141 162 164 000146 aa 021 163 171 163 sys_boot_info_ptr 000147 aa 137 142 157 157 000150 aa 164 137 151 156 000151 aa 146 157 137 160 000152 aa 164 162 000 000 000153 aa 007 142 143 145 bce_dbr 000154 aa 137 144 142 162 000155 aa 015 142 157 157 bootload_info 000156 aa 164 154 157 141 000157 aa 144 137 151 156 000160 aa 146 157 000 000 000161 aa 007 160 162 145 prelink 000162 aa 154 151 156 153 000163 aa 017 142 157 157 bootload_linker 000164 aa 164 154 157 141 000165 aa 144 137 154 151 000166 aa 156 153 145 162 000167 aa 006 146 151 156 finish 000170 aa 151 163 150 000 000171 aa 017 154 157 141 load_collection 000172 aa 144 137 143 157 000173 aa 154 154 145 143 000174 aa 164 151 157 156 000175 aa 004 142 157 157 boot 000176 aa 164 000 000 000 000177 aa 020 142 157 157 bootload_tape_fw 000200 aa 164 154 157 141 000201 aa 144 137 164 141 000202 aa 160 145 137 146 000203 aa 167 000 000 000 000204 aa 017 142 157 157 bootload_loader 000205 aa 164 154 157 141 000206 aa 144 137 154 157 000207 aa 141 144 145 162 000210 aa 020 142 157 157 bootload_console 000211 aa 164 154 157 141 000212 aa 144 137 143 157 000213 aa 156 163 157 154 000214 aa 145 000 000 000 000215 aa 010 151 156 151 init_slt 000216 aa 164 137 163 154 000217 aa 164 000 000 000 000220 aa 024 142 157 157 bootload_slt_manager 000221 aa 164 154 157 141 000222 aa 144 137 163 154 000223 aa 164 137 155 141 000224 aa 156 141 147 145 000225 aa 162 000 000 000 000226 aa 004 151 156 151 init 000227 aa 164 000 000 000 000230 aa 017 142 157 157 bootload_faults 000231 aa 164 154 157 141 000232 aa 144 137 146 141 000233 aa 165 154 164 163 000234 aa 020 142 157 157 bootload_flagbox 000235 aa 164 154 157 141 000236 aa 144 137 146 154 000237 aa 141 147 142 157 000240 aa 170 000 000 000 000241 aa 007 160 162 145 preinit 000242 aa 151 156 151 164 000243 aa 013 142 157 157 bootload_io 000244 aa 164 154 157 141 000245 aa 144 137 151 157 NO TRAP POINTER WORDS TYPE PAIR BLOCKS 000246 aa 000004 000000 000247 55 000105 000060 000250 aa 000004 000000 000251 55 000105 000064 000252 aa 000004 000000 000253 55 000105 000066 000254 aa 000004 000000 000255 55 000105 000072 000256 aa 000004 000000 000257 55 000105 000076 000260 aa 000004 000000 000261 55 000105 000103 000262 aa 000004 000000 000263 55 000113 000111 000264 aa 000004 000000 000265 55 000134 000117 000266 aa 000004 000000 000267 55 000134 000121 000270 aa 000004 000000 000271 55 000127 000125 000272 aa 000004 000000 000273 55 000134 000156 000274 aa 000004 000000 000275 55 000140 000156 000276 aa 000004 000000 000277 55 000173 000156 000300 aa 000004 000000 000301 55 000150 000145 000302 aa 000004 000000 000303 55 000160 000156 000304 aa 000004 000000 000305 55 000164 000171 000306 aa 000004 000000 000307 55 000173 000171 000310 aa 000001 000000 000311 aa 000000 000000 INTERNAL EXPRESSION WORDS 000312 5a 000176 000000 000313 5a 000200 000000 000314 5a 000202 000000 000315 5a 000204 000000 000316 5a 000206 000000 000317 5a 000210 000000 000320 5a 000212 000000 000321 5a 000214 000000 000322 5a 000216 000000 000323 5a 000220 000000 000324 5a 000222 000000 000325 5a 000224 000000 000326 5a 000226 000000 000327 5a 000230 000000 000330 5a 000232 000000 000331 5a 000234 000000 000332 5a 000236 000000 000333 aa 000000 000000 LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 000050 000000 000002 aa 000000 000000 000003 aa 000000 000000 000004 aa 000000 000000 000005 aa 000000 000000 000006 22 000010 000052 000007 a2 000000 000000 000010 9a 777770 0000 46 bootload_io|preinit 000011 5a 000262 0000 00 000012 9a 777766 0000 46 bootload_flagbox|preinit 000013 5a 000261 0000 00 000014 9a 777764 0000 46 bootload_faults|init 000015 5a 000260 0000 00 000016 9a 777762 0000 46 bootload_slt_manager|init_slt 000017 5a 000257 0000 00 000020 9a 777760 0000 46 bootload_io|init 000021 5a 000256 0000 00 000022 9a 777756 0000 46 bootload_console|init 000023 5a 000255 0000 00 000024 9a 777754 0000 46 bootload_loader|init 000025 5a 000254 0000 00 000026 9a 777752 0000 46 bootload_tape_fw|boot 000027 5a 000253 0000 00 000030 9a 777750 0000 46 bootload_loader|load_collection 000031 5a 000252 0000 00 000032 9a 777746 0000 46 bootload_loader|finish 000033 5a 000251 0000 00 000034 9a 777744 0000 46 bootload_linker|prelink 000035 5a 000250 0000 00 000036 9a 777742 0000 46 bootload_info|bce_dbr 000037 5a 000247 0000 00 000040 9a 777740 0000 46 bootload_info|sys_boot_info_ptr 000041 5a 000246 0000 20 000042 9a 777736 0000 46 bootload_info|structure_start 000043 5a 000245 0000 00 000044 9a 777734 0000 46 bootload_info|structure_size 000045 5a 000244 0000 00 000046 9a 777732 0000 46 bootload_info|lot_ptr 000047 5a 000243 0000 20 000050 9a 777730 0000 46 bootload_info|bootload_1_ptr 000051 5a 000242 0000 20 SYMBOL INFORMATION SYMBOL TABLE HEADER 000000 aa 000000 000001 000001 aa 163171 155142 000002 aa 164162 145145 000003 aa 000000 000010 000004 aa 000000 117244 000005 aa 361023 525721 000006 aa 000000 131171 000007 aa 557044 042622 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 000173 000020 aa 000000 000116 000021 aa 000136 000125 000022 aa 000164 000116 000023 aa 000064 000000 000024 aa 101114 115040 000025 aa 126145 162163 000026 aa 151157 156040 000027 aa 070056 061064 000030 aa 040115 141162 000031 aa 143150 040061 000032 aa 071070 071040 000033 aa 040040 040040 000034 aa 123143 150162 000035 aa 157164 150056 000036 aa 123171 163115 000037 aa 141151 156164 000040 aa 056155 040040 000041 aa 040040 040040 000042 aa 040040 040040 000043 aa 040040 040040 000044 aa 154151 163164 000045 aa 040163 171155 000046 aa 142157 154163 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 000002 000066 aa 000076 000036 000067 aa 311454 032101 000070 aa 000000 131171 000071 aa 557044 000000 000072 aa 000106 000040 000073 aa 305736 045712 000074 aa 000000 112724 000075 aa 701742 600000 000076 aa 076165 144144 >udd>sm>ds>w>ml>bootload_0.alm 000077 aa 076163 155076 000100 aa 144163 076167 000101 aa 076155 154076 000102 aa 142157 157164 000103 aa 154157 141144 000104 aa 137060 056141 000105 aa 154155 040040 000106 aa 076154 144144 >ldd>incl>bootload_equs.incl.alm 000107 aa 076151 156143 000110 aa 154076 142157 000111 aa 157164 154157 000112 aa 141144 137145 000113 aa 161165 163056 000114 aa 151156 143154 000115 aa 056141 154155 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number 10000 .._00000 bootload_equs: 75. 2000 .._00001 bootload_equs: 76. 24000 .._00002 bootload_equs: 78. 2000 .._00003 bootload_equs: 79. 24000 .._00004 bootload_equs: 81. 4000 .._00005 bootload_equs: 82. 24000 .._00006 bootload_equs: 87. 22000 .._00007 bootload_equs: 88. 46000 .._00010 bootload_equs: 90. 4000 .._00011 bootload_equs: 91. 52000 .._00012 bootload_equs: 93. 2000 .._00013 bootload_equs: 94. 54000 .._00014 bootload_equs: 96. 2000 .._00015 bootload_equs: 97. 56000 .._00016 bootload_equs: 99. 2000 .._00017 bootload_equs: 100. 60000 .._00020 bootload_equs: 102. 6000 .._00021 bootload_equs: 103. 24000 bbl0_absloc bootload_equs: 87. 22000 bbl0_lth bootload_equs: 88. bce_dbr bootload_0: 69. 22 begin bootload_0: 42, 44. 56000 bkpt_absloc bootload_equs: 99. 2000 bkpt_lth bootload_equs: 100. boot bootload_0: 59. bootload_1_ptr bootload_0: 80. bootload_console bootload_0: 55. bootload_faults bootload_0: 49. bootload_flagbox bootload_0: 47. bootload_info bootload_0: 69, 71, 72, 73, 79, 80. bootload_io bootload_0: 45, 53. bootload_linker bootload_0: 65. bootload_loader bootload_0: 57, 61, 63. bootload_slt_manager bootload_0: 51. bootload_tape_fw bootload_0: 59. 10000 bostoe_absloc bootload_equs: 75. 2000 bostoe_lth bootload_equs: 76. 0 ds bootload_equs: 12. 1 entry_stack bootload_0: 28, 31, 35. 21 entry_stack_ptr bootload_0: 28, 34. 20 entry_stack_size bootload_0: 26, 32, 35. 24000 fgbx_absloc bootload_equs: 78. 2000 fgbx_lth bootload_equs: 79. finish bootload_0: 63. 7 fv bootload_equs: 19. init bootload_0: 49, 53, 55, 57. init_slt bootload_0: 51. 54000 iupt_absloc bootload_equs: 96. 2000 iupt_lth bootload_equs: 97. load_collection bootload_0: 61. lot_ptr bootload_0: 79. 2 mb bootload_equs: 14. 4 nt bootload_equs: 16. 5 prb bootload_equs: 17. 60000 prb_absloc bootload_equs: 102. 6000 prb_lth bootload_equs: 103. preinit bootload_0: 45, 47. prelink bootload_0: 65. 6 seg bootload_equs: 18. 1 seg2 bootload_equs: 13. 3 slt bootload_equs: 15. structure_size bootload_0: 73. structure_start bootload_0: 72. sys_boot_info_ptr bootload_0: 71. 46000 toedata_absloc bootload_equs: 90. 4000 toedata_lth bootload_equs: 91. 24000 toe_absloc bootload_equs: 81. 4000 toe_lth bootload_equs: 82. 52000 upt_absloc bootload_equs: 93. 2000 upt_lth bootload_equs: 94. 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