ASSEMBLY LISTING OF SEGMENT >special_ldd>install>MR12.2-1019>tty_printer_conv_.alm ASSEMBLED ON: 02/02/88 1658.6 mst Tue OPTIONS USED: list symbols ASSEMBLED BY: ALM Version 7.4 April 1987 ASSEMBLER CREATED: 11/02/87 1303.7 mst Mon 1 " *********************************************************** 2 " * * 3 " * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4 " * * 5 " * Copyright (c) 1972 by Massachusetts Institute of * 6 " * Technology and Honeywell Information Systems, Inc. * 7 " * * 8 " *********************************************************** 9 10 11 " tty_printer_conv_ - co-routine for prt_conv_ to be used 12 " from the remote_teleprinter_ and remote_printer_ 13 " IO modules when attaching through the tty_printer_ IO module. 14 " 15 " coded 4/79 by J. C. Whitmore (with print_conv_ and ibm2780_conv_ as guides) 16 " 17 18 include stack_header 1-1 " BEGIN INCLUDE FILE ... stack_header.incl.alm 3/72 Bill Silver 1-2 " 1-3 " modified 7/76 by M. Weaver for *system links and more system use of areas 1-4 " modified 3/77 by M. Weaver to add rnt_ptr 1-5 " modified 7/77 by S. Webber to add run_unit_depth and assign_linkage_ptr 1-6 " modified 6/83 by J. Ives to add trace_frames and in_trace. 1-7 1-8 " HISTORY COMMENTS: 1-9 " 1) change(86-06-24,DGHowe), approve(86-06-24,MCR7396), 1-10 " audit(86-08-05,Schroth), install(86-11-03,MR12.0-1206): 1-11 " added the heap_header_ptr definition 1-12 " 2) change(86-08-12,Kissel), approve(86-08-12,MCR7473), 1-13 " audit(86-10-10,Fawcett), install(86-11-03,MR12.0-1206): 1-14 " Modified to support control point management. These changes were 1-15 " actually made in February 1985 by G. Palter. 1-16 " 3) change(86-10-22,Fawcett), approve(86-10-22,MCR7473), 1-17 " audit(86-10-22,Farley), install(86-11-03,MR12.0-1206): 1-18 " Remove the old_lot pointer and replace it with cpm_data_ptr. Use the 18 1-19 " bit pad after cur_lot_size for the cpm_enabled. This was done to save 1-20 " some space int the stack header and change the cpd_ptr unal to 1-21 " cpm_data_ptr (ITS pair). 1-22 " END HISTORY COMMENTS 1-23 000004 1-24 equ stack_header.cpm_data_ptr,4 ptr to control point for this stack 000006 1-25 equ stack_header.combined_stat_ptr,6 ptr to separate static area 1-26 000010 1-27 equ stack_header.clr_ptr,8 ptr to area containing linkage sections 000012 1-28 equ stack_header.max_lot_size,10 number of words allowed in lot (DU) 000012 1-29 equ stack_header.main_proc_invoked,10 nonzero if main proc was invoked in run unit (DL) 000012 1-30 equ stack_header.run_unit_depth,10 number of active run units stacked (DL) 000013 1-31 equ stack_header.cur_lot_size,11 DU number of words (entries) in lot 000013 1-32 equ stack_header.cpm_enabled,11 DL non-zero if control point management is enabled 000014 1-33 equ stack_header.system_free_ptr,12 ptr to system storage area 000016 1-34 equ stack_header.user_free_ptr,14 ptr to user storage area 1-35 000020 1-36 equ stack_header.parent_ptr,16 ptr to parent stack or null 000022 1-37 equ stack_header.stack_begin_ptr,18 ptr to first stack frame 000024 1-38 equ stack_header.stack_end_ptr,20 ptr to next useable stack frame 000026 1-39 equ stack_header.lot_ptr,22 ptr to the lot for the current ring 1-40 000030 1-41 equ stack_header.signal_ptr,24 ptr to signal proc for current ring 000032 1-42 equ stack_header.bar_mode_sp,26 value of sp before entering bar mode 000034 1-43 equ stack_header.pl1_operators_ptr,28 ptr: pl1_operators_$operator_table 000036 1-44 equ stack_header.call_op_ptr,30 ptr to standard call operator 1-45 000040 1-46 equ stack_header.push_op_ptr,32 ptr to standard push operator 000042 1-47 equ stack_header.return_op_ptr,34 ptr to standard return operator 000044 1-48 equ stack_header.ret_no_pop_op_ptr,36 ptr: stand. return/ no pop operator 000046 1-49 equ stack_header.entry_op_ptr,38 ptr to standard entry operator 1-50 000050 1-51 equ stack_header.trans_op_tv_ptr,40 ptr to table of translator operator ptrs 000052 1-52 equ stack_header.isot_ptr,42 pointer to ISOT 000054 1-53 equ stack_header.sct_ptr,44 pointer to System Condition Table 000056 1-54 equ stack_header.unwinder_ptr,46 pointer to unwinder for current ring 1-55 000060 1-56 equ stack_header.sys_link_info_ptr,48 ptr to *system link name table 000062 1-57 equ stack_header.rnt_ptr,50 ptr to reference name table 000064 1-58 equ stack_header.ect_ptr,52 ptr to event channel table 000066 1-59 equ stack_header.assign_linkage_ptr,54 ptr to area for hcs_$assign_linkage calls 000070 1-60 equ stack_header.heap_header_ptr,56 ptr to heap header. 000072 1-61 equ stack_header.trace_frames,58 stack of trace_catch_ frames 000073 1-62 equ stach_header.trace_top_ptr,59 trace pointer 000074 1-63 equ stack_header.in_trace,60 trace antirecurse bit 000100 1-64 equ stack_header_end,64 length of stack header 1-65 1-66 1-67 1-68 000000 1-69 equ trace_frames.count,0 number of trace frames on stack 000001 1-70 equ trace_frames.top_ptr,1 packed pointer to top one 1-71 1-72 " The following constant is an offset within the pl1 operators table. 1-73 " It references a transfer vector table. 1-74 000551 1-75 bool tv_offset,551 1-76 1-77 1-78 " The following constants are offsets within this transfer vector table. 1-79 001170 1-80 equ call_offset,tv_offset+271 001171 1-81 equ push_offset,tv_offset+272 001172 1-82 equ return_offset,tv_offset+273 001173 1-83 equ return_no_pop_offset,tv_offset+274 001174 1-84 equ entry_offset,tv_offset+275 1-85 1-86 1-87 " END INCLUDE FILE stack_header.incl.alm 19 20 include prt_conv_info 2-1 2-2 2-3 "BEGIN INCLUDE FILE prt_conv_info.incl.alm 2-4 2-5 "Created 09/12/80 1100.5 edt Fri by convert_include_file, 2-6 " Version of 05/04/80 2034.1 edt Sun. 2-7 2-8 "Made from >udd>Multics>Palter>work>prt_conv_info.incl.pl1, 2-9 " modified 09/12/80 1100.1 edt Fri 2-10 2-11 2-12 " HISTORY COMMENTS: 2-13 " 1) change(87-05-10,Gilcrease), approve(87-07-31,MCR7686), 2-14 " audit(88-02-01,Farley), install(88-02-02,MR12.2-1019): 2-15 " Add pci.(line_nbrs eof eol) bits for eor -nb option. 2-16 " END HISTORY COMMENTS 2-17 2-18 2-19 " 2-20 " Structure pci 2-21 " 000336 2-22 equ pci_size,222 2-23 2-24 000000 2-25 equ pci.cv_proc,0 000002 2-26 equ pci.lmarg,2 000003 2-27 equ pci.rmarg,3 000004 2-28 equ pci.page_length,4 000005 2-29 equ pci.phys_line_length,5 000006 2-30 equ pci.phys_page_length,6 000007 2-31 equ pci.lpi,7 000010 2-32 equ pci.sheets_per_page,8 000011 2-33 equ pci.line_count,9 000012 2-34 equ pci.page_count,10 000013 2-35 equ pci.func,11 000014 2-36 equ pci.modes,12 "LEVEL 2 2-37 400000 2-38 bool pci.overflow_off,400000 "DU 200000 2-39 bool pci.single_space,200000 "DU 100000 2-40 bool pci.non_edited,100000 "DU 040000 2-41 bool pci.truncate,040000 "DU 020000 2-42 bool pci.esc,020000 "DU 010000 2-43 bool pci.ctl_char,010000 "DU 004000 2-44 bool pci.line_nbrs,004000 "DU 000030 2-45 equ pci.pci_pad_shift,24 000037 2-46 bool pci.pci_pad_mask,000037 2-47 000014 2-48 equ pci.flags,12 "LEVEL 2 2-49 000040 2-50 bool pci.ignore_next_ff,000040 "DU 000020 2-51 bool pci.eol,000020 "DU 000010 2-52 bool pci.eof,000010 "DU 000022 2-53 equ pci.flags_pad_shift,18 000007 2-54 bool pci.flags_pad_mask,000007 2-55 000014 2-56 equ pci.coroutine_modes,12 "LEVEL 2 2-57 400000 2-58 bool pci.upper_case,400000 "DL 200000 2-59 bool pci.ht,200000 "DL 000003 2-60 equ pci.coroutine_pad_shift,3 017777 2-61 bool pci.coroutine_pad_mask,017777 000000 2-62 equ pci.slew_table_idx_shift,0 000007 2-63 bool pci.slew_table_idx_mask,000007 2-64 000015 2-65 equ pci.top_label_line,13 "DOUBLE 000057 2-66 equ pci.bot_label_line,47 "DOUBLE 000121 2-67 equ pci.top_label_length,81 000122 2-68 equ pci.bot_label_length,82 000123 2-69 equ pci.form_stops,83 "LEVEL 2 2-70 000033 2-71 equ pci.lbits_shift,27 000777 2-72 bool pci.lbits_mask,000777 000022 2-73 equ pci.rbits_shift,18 000777 2-74 bool pci.rbits_mask,000777 2-75 000323 2-76 equ pci.level,211 000324 2-77 equ pci.pos,212 000325 2-78 equ pci.line,213 000326 2-79 equ pci.slew_residue,214 000327 2-80 equ pci.label_nelem,215 000330 2-81 equ pci.label_wksp,216 000332 2-82 equ pci.sav_pos,218 000333 2-83 equ pci.esc_state,219 000334 2-84 equ pci.esc_num,220 000335 2-85 equ pci.temp,221 2-86 2-87 "END INCLUDE FILE prt_conv_info.incl.alm 21 000000 22 name tty_printer_conv_ 23 000000 24 segdef tty_printer_conv_ 000000 25 segdef teleprinter 000000 26 segdef printer 27 28 even 29 tempd saved_lp 30 temp char,VTstop,residue,last_print,a_reg,temp1,temp2 31 000000 32 tty_printer_conv_: 000000 33 teleprinter: 000000 34 printer: 000000 0a 000004 7100 00 35 tra print_send_init 000001 0a 000014 7100 00 36 tra print_send_chars 000002 0a 000076 7100 00 37 tra print_send_slew_pattern 000003 0a 000112 7100 00 38 tra print_send_slew_count 39 40 " 41 " Entry called at beginning of conversion 42 000004 43 print_send_init: 000004 aa 6 00055 4501 00 44 stz last_print no print positions used yet 000005 aa 5 00325 2361 00 45 ldq lb|pci.line get current line or end of slew 000006 aa 5 00326 1761 00 46 sbq lb|pci.slew_residue calc actual line for this call 000007 aa 000001 1760 07 47 sbq 1,dl .. cause VT stops are at 11 ... 000010 aa 000012 5060 07 48 div 10,dl compute starting VT stop 000011 aa 6 00053 7561 00 49 stq VTstop save tab stop of current line 000012 aa 6 00054 7551 00 50 sta residue save number of lines from current tab stop 000013 aa 7 00000 7101 00 51 tra sb|0 return 52 53 " 54 000014 55 print_send_chars: 56 " 57 " Here we are to write out the number of chars given in "au" after 58 " putting out the number of white spaces shown in X2. 59 " We are starting from the char position defined by last_print 60 " 000014 aa 000000 6220 12 61 eax2 0,2 set indicators from X2 000015 0a 000065 6044 00 62 tmoz nospace if no white space, skip following 63 000016 aa 6 00056 7551 00 64 sta a_reg save the printable char count 000017 aa 6 00050 6501 00 65 sprilp saved_lp save the current lp 000020 0a 000020 2130 00 66 epaq * get our seg no in au 000021 aa 6 00000 3705 00 67 epbplp sp|0 find the stack base 000022 aa 4 00026 7641 61 68 lprplp lp|stack_header.lot_ptr,*au get static ptr in lp 000023 9a 4 00011 2361 00 69 ldq lp|send_ht see if we can send HT chars 000024 0a 000053 6044 00 70 tmoz no_ht if not just use space chars 71 000025 aa 6 00055 2361 00 72 ldq last_print look for current HT stop 000026 aa 000012 5060 07 73 div 10,dl get starting HT stop in ql 000027 aa 6 00057 7561 00 74 stq temp1 save this 000030 aa 6 00060 7551 00 75 sta temp2 save positions after stop 000031 aa 000000 6360 12 76 eaq 0,2 get space count in Q 000032 aa 000022 7320 00 77 qrs 18 move to ql 000033 aa 6 00055 0761 00 78 adq last_print get target position 000034 aa 000012 5060 07 79 div 10,dl get total tabs to target 000035 aa 6 00057 1761 00 80 sbq temp1 convert to relative tabs 81 " spaces beyond last tab are in al 000036 0a 000053 6000 00 82 tze no_ht if none, just use spaces 83 000037 aa 011140 1004 00 84 mlr (),(pr,rl),fill(011) 000040 0a 000040 000000 85 desc9a *,0 move nothing... 000041 aa 300000 000006 86 desc9a bb|0,ql but fill with "ql" tabs 000042 aa 3 00000 5005 06 87 a9bd bb|0,ql move output pointer past the tabs 88 000043 aa 000000 6220 05 89 eax2 0,al put the remaining space count back in x2 000044 aa 000012 2350 07 90 lda 10,dl 000045 aa 6 00060 1751 00 91 sba temp2 get spaces for first tab 000046 aa 6 00060 7551 00 92 sta temp2 and save it 000047 aa 000001 1760 07 93 sbq 1,dl take first tab from count 000050 aa 000012 4020 07 94 mpy 10,dl get spaces for other tabs 000051 aa 6 00060 0761 00 95 adq temp2 get total spaces 000052 aa 6 00055 0561 00 96 asq last_print update the last position used 97 000053 aa 6 00056 2351 00 98 no_ht: lda a_reg restore the original A register 000054 aa 6 00050 3701 20 99 epp4 saved_lp,* restore the lp 000055 aa 040140 1004 00 100 mlr (),(pr,rl),fill(040) insert blanks into output 000056 0a 000056 000000 101 desc9a *,0 .. 000057 aa 300000 000012 102 desc9a bb|0,x2 .. 103 000060 aa 3 00000 5005 12 104 a9bd bb|0,2 step output pointer over blanks 000061 aa 000000 6360 12 105 eaq 0,2 get the space count 000062 aa 000022 7320 00 106 qrs 18 ..into ql 000063 aa 6 00055 0561 00 107 asq last_print and update the last position used 000064 aa 000000 6220 00 108 eax2 0 set white space count back to zero 109 000065 aa 0 00140 1005 40 110 nospace: mlr (pr,rl),(pr,rl) copy characters into output 000066 aa 200000 000001 111 desc9a bp|0,au .. 000067 aa 300000 000001 112 desc9a bb|0,au .. 113 000070 aa 2 00000 5005 01 114 a9bd bp|0,au step input and output pointers 000071 aa 3 00000 5005 01 115 a9bd bb|0,au .. 116 000072 aa 000022 7310 00 117 ars 18 move char count to al 000073 aa 6 00055 0551 00 118 asa last_print and update the position count 000074 aa 000022 7350 00 119 als 18 restore it, just in case 000075 aa 7 00000 7101 00 120 tra sb|0 return to caller 121 122 " 123 000076 124 print_send_slew_pattern: 125 " 126 " The A contains the pattern to search for 000 -> FF, 013 -> TOIP, 011 -> TOOP. 127 " But, for tty_printer_conv_ we can only assume the device supports a FF and no 128 " other patterns. So, always give a form feed for this entry. 129 " 000076 0a 000111 2350 00 130 lda ffchar 000077 aa 6 00052 7551 00 131 sta char 132 000100 aa 0 00100 1005 00 133 stslew: mlr (pr),(pr) move the slew char in "char" to output string 000101 aa 600052 000001 134 desc9a char,1 .. 000102 aa 300000 000001 135 desc9a bb|0,1 .. 000103 aa 000001 2360 07 136 ldq 1,dl 000104 aa 3 00000 5005 06 137 a9bd bb|0,ql move output pointer past the slew char 000105 aa 7 00000 7101 00 138 tra sb|0 return to caller 139 140 000106 aa 012000 000000 141 nlchar: vfd o9/012 000107 aa 015000 000000 142 crchar: vfd o9/015 000110 aa 013000 000000 143 vtchar: vfd o9/013 000111 aa 014000 000000 144 ffchar: vfd o9/014 145 " 000112 146 print_send_slew_count: 147 " 148 " When called at this entry, the count of the number of lines to slew 149 " is in the A register (al). If the target device can accept VT chars 150 " to get to the target line, we will try to send them instead of 151 " writting out the slew count as NL chars. 152 " 000112 aa 000001 1150 07 153 cmpa 1,dl try to optomize for CR and NL alone 000113 0a 000143 6044 00 154 tmoz no_vt 155 000114 aa 6 00056 7551 00 156 sta a_reg save the slew count for later 000115 aa 6 00050 6501 00 157 sprilp saved_lp save the current lp 000116 0a 000116 2130 00 158 epaq * get our seg no in au 000117 aa 6 00000 3705 00 159 epbplp sp|0 find the stack base 000120 aa 4 00026 7641 61 160 lprplp lp|stack_header.lot_ptr,*au get static ptr in lp 000121 9a 4 00010 2361 00 161 ldq lp|send_vt see if we can send VT chars at all 000122 0a 000141 6044 00 162 tmoz send_nl if not send NL chars 163 000123 aa 5 00325 2361 00 164 ldq lb|pci.line pickup target of slew 000124 aa 000001 1760 07 165 sbq 1,dl correct for tabs at 11, 21,... 000125 aa 000012 5060 07 166 div 10,dl get total VT stops in ql 000126 aa 6 00053 1761 00 167 sbq VTstop reduce the total VT count by current VTstop 000127 0a 000141 6000 00 168 tze send_nl if not passing a stop, send new_lines 169 000130 0a 000110 2360 00 170 ldq vtchar put out one VT char for this call 000131 aa 6 00052 7561 00 171 stq char save where stslew can find it 000132 aa 000012 2360 07 172 ldq 10,dl max lines per stop to ql 000133 aa 6 00054 1761 00 173 sbq residue compute number of lines slewed by VT 000134 aa 6 00057 7561 00 174 stq temp1 .. 000135 aa 6 00050 3701 20 175 epp4 saved_lp,* 000136 aa 6 00056 2351 00 176 lda a_reg restore the original slew count 000137 aa 6 00057 1751 00 177 sba temp1 reduce the slew count by lines slewed 000140 0a 000100 7100 00 178 tra stslew let common code do the work 179 000141 aa 6 00050 3701 20 180 send_nl: epp4 saved_lp,* restore the lp 000142 aa 6 00056 2351 00 181 lda a_reg 000143 0a 000107 2360 00 182 no_vt: ldq crchar 000144 aa 000001 1750 07 183 sba 1,dl one at a time 000145 aa 000002 6040 04 184 tmi 2,ic 000146 0a 000106 2360 00 185 ldq nlchar 000147 aa 6 00052 7561 00 186 stq char 000150 0a 000100 7100 00 187 tra stslew 188 " 189 " EXTERNAL VARIABLES - to be set by the IO module to control 190 " which slew characters can be put into the output string. 191 " 192 use internal_static 193 join /link/internal_static 194 000010 195 segdef send_vt 000011 196 segdef send_ht 197 198 000010 199 send_vt: 200 even 000010 aa 000000 000000 201 vfd o36/0 if zero, don't output VT chars 202 000011 203 send_ht: 204 000011 aa 000000 000000 205 vfd o36/0 if zero, don't output HT chars 206 207 208 209 end NO LITERALS NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 000152 5a 000003 000000 000153 5a 000057 600000 000154 aa 000000 000000 000155 55 000013 000002 000156 5a 000002 400003 000157 55 000006 000013 000160 aa 021 164 164 171 000161 aa 137 160 162 151 000162 aa 156 164 145 162 000163 aa 137 143 157 156 000164 aa 166 137 000 000 000165 55 000020 000003 000166 2a 000011 400001 000167 55 000016 000003 000170 aa 007 163 145 156 send_ht 000171 aa 144 137 150 164 000172 55 000025 000013 000173 2a 000010 400001 000174 55 000023 000003 000175 aa 007 163 145 156 send_vt 000176 aa 144 137 166 164 000177 55 000032 000020 000200 0a 000000 400000 000201 55 000030 000003 000202 aa 007 160 162 151 printer 000203 aa 156 164 145 162 000204 55 000040 000025 000205 0a 000000 400000 000206 55 000035 000003 000207 aa 013 164 145 154 teleprinter 000210 aa 145 160 162 151 000211 aa 156 164 145 162 000212 55 000050 000032 000213 0a 000000 400000 000214 55 000043 000003 000215 aa 021 164 164 171 tty_printer_conv_ 000216 aa 137 160 162 151 000217 aa 156 164 145 162 000220 aa 137 143 157 156 000221 aa 166 137 000 000 000222 55 000002 000040 000223 6a 000000 400002 000224 55 000053 000003 000225 aa 014 163 171 155 symbol_table 000226 aa 142 157 154 137 000227 aa 164 141 142 154 000230 aa 145 000 000 000 DEFINITIONS HASH TABLE 000231 aa 000000 000015 000232 5a 000032 000000 000233 aa 000000 000000 000234 aa 000000 000000 000235 aa 000000 000000 000236 aa 000000 000000 000237 aa 000000 000000 000240 5a 000040 000000 000241 5a 000050 000000 000242 5a 000025 000000 000243 aa 000000 000000 000244 5a 000013 000000 000245 5a 000020 000000 000246 aa 000000 000000 NO EXTERNAL NAMES NO TRAP POINTER WORDS TYPE PAIR BLOCKS 000247 aa 000001 000000 000250 aa 000000 000000 INTERNAL EXPRESSION WORDS 000251 aa 000000 000000 LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 000152 000000 000002 aa 000000 000000 000003 aa 000000 000000 000004 aa 000000 000000 000005 aa 000000 000000 000006 22 000012 000012 000007 a2 000000 000002 SYMBOL INFORMATION SYMBOL TABLE HEADER 000000 aa 000000 000001 000001 aa 163171 155142 000002 aa 164162 145145 000003 aa 000000 000007 000004 aa 000000 115705 000005 aa 073761 335527 000006 aa 000000 116070 000007 aa 774115 635030 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 000210 000020 aa 000000 000147 000021 aa 000165 000162 000022 aa 000200 000147 000023 aa 000064 000000 000024 aa 101114 115040 000025 aa 126145 162163 000026 aa 151157 156040 000027 aa 067056 064040 000030 aa 101160 162151 000031 aa 154040 061071 000032 aa 070067 040040 000033 aa 040040 040040 000034 aa 107112 157150 000035 aa 156163 157156 000036 aa 056123 171163 000037 aa 115141 151156 000040 aa 164056 141040 000041 aa 040040 040040 000042 aa 040040 040040 000043 aa 040040 040040 000044 aa 154151 163164 000045 aa 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 000003 000066 aa 000102 000066 000067 aa 160646 302402 000070 aa 000000 116070 000071 aa 730220 600000 000072 aa 000120 000042 000073 aa 147777 464111 000074 aa 000000 115000 000075 aa 507463 000000 000076 aa 000131 000067 000077 aa 160646 301572 000100 aa 000000 116070 000101 aa 723627 400000 000102 aa 076163 160145 >special_ldd>install>MR12.2-1019>tty_printer_conv_.alm 000103 aa 143151 141154 000104 aa 137154 144144 000105 aa 076151 156163 000106 aa 164141 154154 000107 aa 076115 122061 000110 aa 062056 062055 000111 aa 061060 061071 000112 aa 076164 164171 000113 aa 137160 162151 000114 aa 156164 145162 000115 aa 137143 157156 000116 aa 166137 056141 000117 aa 154155 040040 000120 aa 076154 144144 >ldd>include>stack_header.incl.alm 000121 aa 076151 156143 000122 aa 154165 144145 000123 aa 076163 164141 000124 aa 143153 137150 000125 aa 145141 144145 000126 aa 162056 151156 000127 aa 143154 056141 000130 aa 154155 040040 000131 aa 076163 160145 >special_ldd>install>MR12.2-1019>prt_conv_info.incl.alm 000132 aa 143151 141154 000133 aa 137154 144144 000134 aa 076151 156163 000135 aa 164141 154154 000136 aa 076115 122061 000137 aa 062056 062055 000140 aa 061060 061071 000141 aa 076160 162164 000142 aa 137143 157156 000143 aa 166137 151156 000144 aa 146157 056151 000145 aa 156143 154056 000146 aa 141154 155040 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number 56 a_reg tty_printer_conv_: 30, 64, 98, 156, 176, 181. 1170 call_offset stack_header: 80. 52 char tty_printer_conv_: 30, 131, 134, 171, 186. 107 crchar tty_printer_conv_: 142, 182. 1174 entry_offset stack_header: 84. 111 ffchar tty_printer_conv_: 130, 144. 10 internal_static tty_printer_conv_: 192, 193. 55 last_print tty_printer_conv_: 30, 44, 72, 78, 96, 107, 118. 106 nlchar tty_printer_conv_: 141, 185. 65 nospace tty_printer_conv_: 62, 110. 53 no_ht tty_printer_conv_: 70, 82, 98. 143 no_vt tty_printer_conv_: 154, 182. 122 pci.bot_label_length prt_conv_info: 68. 57 pci.bot_label_line prt_conv_info: 66. 14 pci.coroutine_modes prt_conv_info: 56. 17777 pci.coroutine_pad_mask prt_conv_info: 61. 3 pci.coroutine_pad_shift prt_conv_info: 60. 10000 pci.ctl_char prt_conv_info: 43. 0 pci.cv_proc prt_conv_info: 25. 10 pci.eof prt_conv_info: 52. 20 pci.eol prt_conv_info: 51. 20000 pci.esc prt_conv_info: 42. 334 pci.esc_num prt_conv_info: 84. 333 pci.esc_state prt_conv_info: 83. 14 pci.flags prt_conv_info: 48. 7 pci.flags_pad_mask prt_conv_info: 54. 22 pci.flags_pad_shift prt_conv_info: 53. 123 pci.form_stops prt_conv_info: 69. 13 pci.func prt_conv_info: 35. 200000 pci.ht prt_conv_info: 59. 40 pci.ignore_next_ff prt_conv_info: 50. 327 pci.label_nelem prt_conv_info: 80. 330 pci.label_wksp prt_conv_info: 81. 777 pci.lbits_mask prt_conv_info: 72. 33 pci.lbits_shift prt_conv_info: 71. 323 pci.level prt_conv_info: 76. 325 pci.line tty_printer_conv_: 45, 164, prt_conv_info: 78. 11 pci.line_count prt_conv_info: 33. 4000 pci.line_nbrs prt_conv_info: 44. 2 pci.lmarg prt_conv_info: 26. 7 pci.lpi prt_conv_info: 31. 14 pci.modes prt_conv_info: 36. 100000 pci.non_edited prt_conv_info: 40. 400000 pci.overflow_off prt_conv_info: 38. 12 pci.page_count prt_conv_info: 34. 4 pci.page_length prt_conv_info: 28. 37 pci.pci_pad_mask prt_conv_info: 46. 30 pci.pci_pad_shift prt_conv_info: 45. 5 pci.phys_line_length prt_conv_info: 29. 6 pci.phys_page_length prt_conv_info: 30. 324 pci.pos prt_conv_info: 77. 777 pci.rbits_mask prt_conv_info: 74. 22 pci.rbits_shift prt_conv_info: 73. 3 pci.rmarg prt_conv_info: 27. 332 pci.sav_pos prt_conv_info: 82. 10 pci.sheets_per_page prt_conv_info: 32. 200000 pci.single_space prt_conv_info: 39. 326 pci.slew_residue tty_printer_conv_: 46, prt_conv_info: 79. 7 pci.slew_table_idx_mask prt_conv_info: 63. 0 pci.slew_table_idx_shift prt_conv_info: 62. 335 pci.temp prt_conv_info: 85. 121 pci.top_label_length prt_conv_info: 67. 15 pci.top_label_line prt_conv_info: 65. 40000 pci.truncate prt_conv_info: 41. 400000 pci.upper_case prt_conv_info: 58. 336 pci_size prt_conv_info: 22. 0 printer tty_printer_conv_: 26, 34. 14 print_send_chars tty_printer_conv_: 36, 55. 4 print_send_init tty_printer_conv_: 35, 43. 112 print_send_slew_count tty_printer_conv_: 38, 146. 76 print_send_slew_pattern tty_printer_conv_: 37, 124. 1171 push_offset stack_header: 81. 54 residue tty_printer_conv_: 30, 50, 173. 1173 return_no_pop_offset stack_header: 83. 1172 return_offset stack_header: 82. 50 saved_lp tty_printer_conv_: 29, 65, 99, 157, 175, 180. 11 send_ht tty_printer_conv_: 69, 196, 203. 141 send_nl tty_printer_conv_: 162, 168, 180. 10 send_vt tty_printer_conv_: 161, 195, 199. 73 stach_header.trace_top_ptr stack_header: 62. 66 stack_header.assign_linkage_ptr stack_header: 59. 32 stack_header.bar_mode_sp stack_header: 42. 36 stack_header.call_op_ptr stack_header: 44. 10 stack_header.clr_ptr stack_header: 27. 6 stack_header.combined_stat_ptr stack_header: 25. 4 stack_header.cpm_data_ptr stack_header: 24. 13 stack_header.cpm_enabled stack_header: 32. 13 stack_header.cur_lot_size stack_header: 31. 64 stack_header.ect_ptr stack_header: 58. 46 stack_header.entry_op_ptr stack_header: 49. 70 stack_header.heap_header_ptr stack_header: 60. 74 stack_header.in_trace stack_header: 63. 52 stack_header.isot_ptr stack_header: 52. 26 stack_header.lot_ptr tty_printer_conv_: 68, 160, stack_header: 39. 12 stack_header.main_proc_invoked stack_header: 29. 12 stack_header.max_lot_size stack_header: 28. 20 stack_header.parent_ptr stack_header: 36. 34 stack_header.pl1_operators_ptr stack_header: 43. 40 stack_header.push_op_ptr stack_header: 46. 42 stack_header.return_op_ptr stack_header: 47. 44 stack_header.ret_no_pop_op_ptr stack_header: 48. 62 stack_header.rnt_ptr stack_header: 57. 12 stack_header.run_unit_depth stack_header: 30. 54 stack_header.sct_ptr stack_header: 53. 30 stack_header.signal_ptr stack_header: 41. 22 stack_header.stack_begin_ptr stack_header: 37. 24 stack_header.stack_end_ptr stack_header: 38. 14 stack_header.system_free_ptr stack_header: 33. 60 stack_header.sys_link_info_ptr stack_header: 56. 72 stack_header.trace_frames stack_header: 61. 50 stack_header.trans_op_tv_ptr stack_header: 51. 56 stack_header.unwinder_ptr stack_header: 54. 16 stack_header.user_free_ptr stack_header: 34. 100 stack_header_end stack_header: 64. 100 stslew tty_printer_conv_: 133, 178, 187. 0 teleprinter tty_printer_conv_: 25, 33. 57 temp1 tty_printer_conv_: 30, 74, 80, 174, 177. 60 temp2 tty_printer_conv_: 30, 75, 91, 92, 95. 0 trace_frames.count stack_header: 69. 1 trace_frames.top_ptr stack_header: 70. 0 tty_printer_conv_ tty_printer_conv_: 24, 32. 551 tv_offset stack_header: 75, 80, 81, 82, 83, 84. 110 vtchar tty_printer_conv_: 143, 170. 53 VTstop tty_printer_conv_: 30, 49, 167. 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