ASSEMBLY LISTING OF SEGMENT >user_dir_dir>SysMaint>Schroth>work>make_listings>abs.alm ASSEMBLED ON: 04/17/00 1651.2 mdt Mon 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 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 " 12 " BOS ABS Command 13 " 14 " Bernard Greenberg, Mar. l974 15 " 16 " Last modified 2/11/81 by Sherman D. Sprague for DPS8 17 18 include bos_sdw 1-1 " 1-2 " BEGIN INCLUDE FILE sdw.incl.alm 02/12/74 1-3 " 000014 1-4 equ sdw.add_shift,12 007000 1-5 bool sdw.r1,007000 Ringbrack 1 (DL) 000700 1-6 bool sdw.r2,000700 Ringbrack 2 (DL) 000070 1-7 bool sdw.r3,000070 Ringbrack 3 (DL) 1-8 000004 1-9 bool sdw.df,000004 Directed fault bit (0 -> fault) 000003 1-10 bool sdw.fault_code,000003 Number of directed fault 1-11 377770 1-12 bool sdw.bound,377770 Bound field (DU) 000004 1-13 bool sdw.read,000004 Read permission bit (DU) 000002 1-14 bool sdw.execute,000002 Execute permission bit (DU) 000001 1-15 bool sdw.write,000001 Write permission bit (DU) 1-16 400000 1-17 bool sdw.privileged,400000 Privileged bit (DL) 200000 1-18 bool sdw.unpaged,200000 Unpaged bit (DL) 100000 1-19 bool sdw.entry_bound_sw,100000 Entry bound switch (DL) 040000 1-20 bool sdw.cache,040000 Cache enabled bit (DL) 037777 1-21 bool sdw.entry_bound,037777 Entry bound (DL) 1-22 1-23 " 1-24 " END INCLUDE FILE sdw.incl.alm 1-25 " 19 include bosequ 2-1 " Begin include file ...... bosequ.incl.alm 2-2 " Modified 8/25/76 by N. I. Morris 2-3 " Modified 8/79 by R.J.C. Kissel to expand BOS. 2-4 " Modified November 1981 by C. Hornig to add pgmorg. 2-5 " Modified October 1982 by J. Bongiovanni to take it out 2-6 000000 2-7 bool ds,0 descriptor segment 000001 2-8 bool tmp,1 temp seg 000002 2-9 bool bf,2 buffer segment for save/restor 000003 2-10 bool pgm,3 program in control 000004 2-11 bool xs1,4 spare segment 000005 2-12 bool xs2,5 spare segment 000005 2-13 bool fgb,5 flagbox segment 000006 2-14 bool com,6 common 000007 2-15 bool mem,7 all memory 2-16 000017 2-17 equ arglen,15 max number of args from scan 2-18 004000 2-19 bool runcom_bit,4000 runcom bit in dir entry 002000 2-20 bool firmware_bit,2000 firmware bit in dir entry 2-21 012000 2-22 bool utilorg,12000 origin of utility package 2-23 2-24 " End of include file ...... bosequ.incl.alm 20 include pt_equ 3-1 " 3-2 " Begin include file ...... pt_equ.incl.alm 3-3 " Created 8/28/73 by N. I. Morris 3-4 " Modified 8/79 by R.J.C. Kissel to use expanded BOS. 3-5 " Last modified by Sherman D. Sprague 02/11/81 for DPS8 support. 006000 3-6 bool pt_org,6000 3-7 006000 3-8 equ printon,pt_org+0 turn on printer 006001 3-9 equ tapeon,pt_org+1 turn on tape 006002 3-10 equ wteof,pt_org+2 close out tape or print 006003 3-11 equ space,pt_org+3 fill line with blanks 006004 3-12 equ headform,pt_org+4 print header 006005 3-13 equ print,pt_org+5 print line 006006 3-14 equ ptblock,pt_org+6 print block of data 006010 3-15 equ initprint,pt_org+8 init print package 006011 3-16 equ print_edited,pt_org+9 print edited 006014 3-17 equ ptbfirst,pt_org+12 non-zero on first call to ptblock 006015 3-18 equ ptsegno,pt_org+13 non-zero to print segment # 006016 3-19 equ pthdr,pt_org+14 page heading 3-20 3-21 " End of include file ...... pt_equ.incl.alm 3-22 21 include bos_common 4-1 " 4-2 " Begin include file ...... bos_common.incl.alm 4-3 " Modified on 8/31/76 by N. I. Morris 4-4 " Modified on 9/01/80 by Sherman D. Sprague for DPS8 operation 4-5 " Modified on 5/26/82 by Sherman D. Sprague to lengthen config size 4-6 " Modified on 3/01/83 by Sherman D. Sprague to lengthen dirlen 4-7 " MACHINE CONDITIONS AREA 4-8 " Its length is "storlen". 4-9 000000 4-10 equ amptwregs,0 Ass. Mem PTW registers 000100 4-11 equ amptwptr,64 Ass. Mem PTW pointers 000200 4-12 equ amsdwregs,128 Ass. Mem SDW registers 000400 4-13 equ amsdwptr,256 Ass. Mem SDW pointers 000500 4-14 equ ouhist,320 operations hist regs 000700 4-15 equ cuhist,448 control unit hist regs 001100 4-16 equ eishist,576 eis hist regs 001300 4-17 equ aphist,704 appending unit hist regs 001500 4-18 equ prs,832 pointer regs 001520 4-19 equ regs,848 sreg 001530 4-20 equ low_order_port,856 port to read clock from 001532 4-21 equ mctime,858 bootload memory clock 001540 4-22 equ scu,864 001550 4-23 equ mcm,872 memory masks 8 ports 001570 4-24 equ dbr,888 001572 4-25 equ intrpts,890 waiting interrupts 001573 4-26 equ bar,891 bar 001574 4-27 equ modereg,892 processor & cache mode registers 001576 4-28 equ faultreg,894 processor fault register 001600 4-29 equ ptrlen,896 pointer-lengths EIS 0 mod 8 001610 4-30 equ coreblocks,904 array of port information 4-31 " Bits 0-17 => num 1st 64-word block 4-32 " Bits 18-35 => num of 64-word blocks 4-33 " (-1) => no mem on this port 001620 4-34 equ lowport_cfg,912 Saved CFG from bootload SCU 4-35 002000 4-36 equ storlen,1024 4-37 4-38 4-39 4-40 " BOS COMMAND DIRECTORY 4-41 " Its length is "dirlen". 4-42 002000 4-43 equ dir,1024 ( 0-23) => sector # of first sector on BOS disk 4-44 " (24-35) => # of sectors in BOS common 002001 4-45 equ used,dir+1 ( 0-23) => # of next available sector on BOS disk 002002 4-46 equ useable,dir+2 ( 0-23) => first unavailable sector on BOS disk 002003 4-47 equ corearea,dir+3 ( 0-23) => starting sector of Multics core image 4-48 " (24-35) => # of sectors in Multics core image 002004 4-49 equ setuparea,dir+4 Sector and length of setup 002005 4-50 equ utilarea,dir+5 where utility package is kept 002010 4-51 equ iom_mxbase,dir+8 IOM IMW area address 002011 4-52 equ iom_mbbase,dir+9 IOM mailbox base 002012 4-53 equ bos_dvt,dir+10 BOS disk loc: (o3/iom,o6/chn,o9/drive,o18/devtype) 002013 4-54 equ unitgroup,dir+11 disk unitgroup (device no. or area no.) 002014 4-55 equ diskchanno,dir+12 channel to be used for disk 002015 4-56 equ tapechanno,dir+13 channel # for tapes 002016 4-57 equ rdrchanno,dir+14 channel number for card reader 002017 4-58 equ ttychanno,dir+15 channel # for operator's tty 002020 4-59 equ quietsw,dir+16 if on, don't print card and macro commands 002021 4-60 equ inputsw,dir+17 read from tty, cards, macros 002022 4-61 equ macroloc,dir+18 disk addr, buffer index of macro file 002023 4-62 equ fdump_state,dir+19 completion flag for last FDUMP 002024 4-63 equ d355_state,dir+20 = 1 if DataNet 355 loaded successfully 002025 4-64 equ skipsw,dir+21 if on, skip runcom lines 002026 4-65 equ ttypmtsw,dir+22 if on, prompt 002027 4-66 equ curtcmd,dir+23 current bos command 002030 4-67 equ readysw,dir+24 if on, print ready message 002032 4-68 equ cmdlst,dir+26 list of commands 4-69 000600 4-70 equ dirlen,384 4-71 4-72 4-73 4-74 " MACRO BUFFER AREA 4-75 002600 4-76 equ macrobuf,dir+dirlen io buffer for macro files 002700 4-77 equ macroline,macrobuf+64 runcom command line 002716 4-78 equ macroargs,macroline+14 argument descriptors for runcom 4-79 4-80 4-81 4-82 " CONFIGURATION CARD AREA 4-83 " Its length is 2048 words. 4-84 003000 4-85 equ conf,macrobuf+128 start of configuration info 007000 4-86 equ econf,conf+2048 end of configuration info 000020 4-87 equ confl,16 length of each line 4-88 4-89 007000 4-90 equ seg6length,econf length of bos_common area segment 4-91 4-92 " End of include file ...... bos_common.incl.alm 4-93 22 include bos_tv 5-1 " 5-2 " Begin include file ...... bos_tv.incl.alm 5-3 " Created in November 1971 by N. I. Morris. 5-4 " Modified 9/9/76 by Noel I. Morris 5-5 " Modified by Sherman D. Sprague 02/11/81 for DPS8 support. 5-6 " Modified November 1981 by C. Hornig to remove iom_connect_rel. 5-7 " Modified January 1982 by J. Bongiovanni to add getport_info 5-8 " Modified May 1982 by Sherman D. Sprague to add getmpc. 5-9 5-10 " BOS Utility Package Transfer Vector. 5-11 012000 5-12 equ pagectl,utilorg 012001 5-13 equ line,pagectl+1 012040 5-14 equ arg,line+31 012060 5-15 equ darg,arg+arglen+1 012100 5-16 equ earg,darg+arglen+1 012120 5-17 equ fltscu,earg+arglen+1 5-18 012200 5-19 equ tv_org,utilorg+128 5-20 012200 5-21 equ scan,tv_org+0 012201 5-22 equ arg_count,tv_org+1 012202 5-23 equ nextline,tv_org+2 012203 5-24 equ nlraw,tv_org+3 012204 5-25 equ search,tv_org+4 012205 5-26 equ makefil,tv_org+5 012206 5-27 equ ldcom,tv_org+6 012207 5-28 equ getsec,tv_org+7 012210 5-29 equ cvinit,tv_org+8 012211 5-30 equ rdev,tv_org+9 012212 5-31 equ wdev,tv_org+10 012213 5-32 equ phybos,tv_org+11 012214 5-33 equ bosphy,tv_org+12 012215 5-34 equ phyadd,tv_org+13 012216 5-35 equ mulbos,tv_org+14 012217 5-36 equ bosmul,tv_org+15 012220 5-37 equ lookup_devmodel,tv_org+16 012221 5-38 equ makesdw,tv_org+17 012222 5-39 equ argbos,tv_org+18 012223 5-40 equ argmul,tv_org+19 012224 5-41 equ amdvt,tv_org+20 012225 5-42 equ amfirst,tv_org+21 012226 5-43 equ amlast,tv_org+22 012227 5-44 equ cvnamla,tv_org+23 012230 5-45 equ sect_per_cyl_list,tv_org+24 012231 5-46 equ sect_per_dev_list,tv_org+25 012232 5-47 equ rec_per_dev_list,tv_org+26 012233 5-48 equ amaxio,tv_org+27 012234 5-49 equ rdsec,tv_org+28 012235 5-50 equ wtsec,tv_org+29 012236 5-51 equ disk_brief,tv_org+30 012237 5-52 equ itaper,tv_org+31 012240 5-53 equ itapew,tv_org+32 012241 5-54 equ erpt,tv_org+33 012242 5-55 equ ercv,tv_org+34 012243 5-56 equ erbuf,tv_org+35 012244 5-57 equ type,tv_org+36 012245 5-58 equ ttyinit,tv_org+37 012246 5-59 equ readcd,tv_org+38 012247 5-60 equ readtty,tv_org+39 012250 5-61 equ getprt,tv_org+40 012251 5-62 equ punch,tv_org+41 012252 5-63 equ octwd,tv_org+42 012253 5-64 equ geas,tv_org+43 012254 5-65 equ geastab,tv_org+44 012255 5-66 equ asge,tv_org+45 012256 5-67 equ asgetab,tv_org+46 012257 5-68 equ ljust,tv_org+47 012260 5-69 equ rjust,tv_org+48 012261 5-70 equ bzel,tv_org+49 012262 5-71 equ stripa,tv_org+50 012263 5-72 equ stripg,tv_org+51 012264 5-73 equ getconf,tv_org+52 012265 5-74 equ getmore,tv_org+53 012266 5-75 equ getperiph,tv_org+54 012267 5-76 equ rdclock,tv_org+55 012270 5-77 equ cvclock,tv_org+56 012271 5-78 equ init_io,tv_org+57 012272 5-79 equ connect_iom,tv_org+58 012273 5-80 equ getmpc,tv_org+59 012274 5-81 equ check_status,tv_org+60 012275 5-82 equ get_special_interrupt,tv_org+61 012276 5-83 equ get_status_interrupt,tv_org+62 012277 5-84 equ xio_wait,tv_org+63 012300 5-85 equ initint,tv_org+64 012301 5-86 equ wantflt,tv_org+65 012302 5-87 equ intno,tv_org+66 012303 5-88 equ intrpts1,tv_org+67 012304 5-89 equ hexwd,tv_org+68 012305 5-90 equ find_disk,tv_org+69 012306 5-91 equ find_root,tv_org+70 012307 5-92 equ find_part,tv_org+71 012310 5-93 equ check_status_no_stat,tv_org+72 012311 5-94 equ check_special_status,tv_org+73 012312 5-95 equ check_cpu_type,tv_org+74 012313 5-96 equ getportinfo,tv_org+75 5-97 5-98 " End of include file ...... bos_tv.incl.alm 5-99 23 include apnd_equ 6-1 " 6-2 " Begin include file ...... apnd_equ.incl.alm 6-3 " Created 11/19/72 by N. I. Morris 6-4 " modified 5/19/75 by Noel I. Morris 6-5 " Modified 8/79 by R.J.C. Kissel to use expanded BOS. 6-6 " Modidied 7/82 by Sherman D. Sprague to add cmpsdw. 6-7 007000 6-8 bool apnd_org,7000 6-9 007000 6-10 equ cmdbr,apnd_org+0 DBR of process being examined 007002 6-11 equ hcdbr,apnd_org+2 hardcore DBR value 007004 6-12 equ fetchout,apnd_org+4 used to reference block fetched by fetch 007006 6-13 equ read_args,apnd_org+6 last block fetched by fetch 007010 6-14 equ fetchin,apnd_org+8 absadr of word to be fetched 007011 6-15 equ sltseg,apnd_org+9 SLT segment number 007012 6-16 equ bosdmp,apnd_org+10 non-zero if BOS itself is to be fetched 007013 6-17 equ pagesw,apnd_org+11 non-zero if paging to be simulated 007014 6-18 equ pmlsw,apnd_org+12 non-zero if PML to be simulated 007016 6-19 equ sstsdw,apnd_org+14 SDW of SST segment 007020 6-20 equ cmpsdw,apnd_org+16 SDW of CMP segment 007022 6-21 equ castap,apnd_org+18 offset of first ASTE in SST segment 6-22 007026 6-23 equ getinit,apnd_org+22 initialize appending package 007027 6-24 equ getsdw,apnd_org+23 fetch an SDW 007030 6-25 equ getwd,apnd_org+24 fetch a word 007031 6-26 equ grab,apnd_org+25 fetch from a list 007032 6-27 equ apnd,apnd_org+26 appending simulation 007033 6-28 equ unapnd,apnd_org+27 to modify a segment 007034 6-29 equ get,apnd_org+28 get a block of data 007035 6-30 equ put,apnd_org+29 write a block of data 007036 6-31 equ comp,apnd_org+30 compare a block of data 007037 6-32 equ fetch,apnd_org+31 to fetch core 007040 6-33 equ unfetch,apnd_org+32 to rewrite fetched buffer 007041 6-34 equ fetch_use_buffer,apnd_org+33 to set SDW to appending buffer 007042 6-35 equ sltsearch,apnd_org+34 get segment # given name 007043 6-36 equ getsltname,apnd_org+35 get name of segment 007044 6-37 equ pd_check,apnd_org+36 check for page on paging device 007045 6-38 equ pd_modify,apnd_org+37 turn on modified bit in pdmap 007046 6-39 equ pd_getptr,apnd_org+38 get pointer to pdmap entry 007047 6-40 equ pvt_to_devt,apnd_org+39 convert pvtx to device type wd 6-41 6-42 " End of include file ...... apnd_equ.incl.alm 6-43 24 include bos_ptw 7-1 " 7-2 " BEGIN INCLUDE FILE ptw.incl.alm 02/14/75 7-3 " 400000 7-4 bool ptw.nulled,400000 "DU address is to be deposited 740000 7-5 bool ptw.add_type,740000 "DL address type, as in add_type.incl.alm 020000 7-6 bool ptw.first,020000 used by PML to decide if a page should go to PD 010000 7-7 bool ptw.er,010000 previous request for this page was in error 010000 7-8 bool ptw.pre_paged,010000 temporary used during post purging and pre paging 001000 7-9 bool ptw.phu,001000 page has been used bit 000400 7-10 bool ptw.phm1,00400 page modified, but reported. 000200 7-11 bool ptw.nypd,00200 page needs pd update 000100 7-12 bool ptw.phm,000100 page has been modified bit 000040 7-13 bool ptw.phu1,000040 page has been used in quantum 000020 7-14 bool ptw.wired,000020 page must remain in core (wired-down) 000010 7-15 bool ptw.os,000010 page is out-of-service (I/O is going on) 000004 7-16 bool ptw.df,000004 directed fault exists if this is 0 000003 7-17 bool ptw.df_no,000003 number of the directed fault 000005 7-18 equ ptw.usage_bits_shift,5 7-19 7-20 " 7-21 " END INCLUDE FILE ptw.incl.alm 7-22 " 25 include sst 8-1 8-2 8-3 "BEGIN INCLUDE FILE sst.incl.alm 8-4 8-5 8-6 "Created 01/14/85 1523.7 est Mon by convert_include_file, 8-7 " Version of 01/09/85 0954.4 est Wed. 8-8 8-9 "Made from >Pool>m>loe>incl>sst.incl.pl1, 8-10 " modified 01/09/85 1148.3 est Wed 8-11 8-12 " 8-13 " Structure sst 8-14 " 001000 8-15 equ sst_size,512 8-16 8-17 000000 8-18 equ sst.space,0 000010 8-19 equ sst.pre_page_time,8 " DOUBLE 000012 8-20 equ sst.post_purge_time,10 " DOUBLE 000014 8-21 equ sst.post_in_core,12 000015 8-22 equ sst.thrashing,13 000016 8-23 equ sst.npfs_misses,14 000017 8-24 equ sst.salv,15 000020 8-25 equ sst.ptl,16 000021 8-26 equ sst.astl,17 000022 8-27 equ sst.astl_event,18 8-28 000023 8-29 equ sst.astl_notify_requested_word,19 400000 8-30 bool sst.astl_notify_requested,400000 " DU 8-31 000024 8-32 equ sst.nused,20 000025 8-33 equ sst.ptwbase,21 000026 8-34 equ sst.tfreep,22 000030 8-35 equ sst.astap,24 000032 8-36 equ sst.ptl_wait_ct,26 000033 8-37 equ sst.astsize,27 000034 8-38 equ sst.cmesize,28 000036 8-39 equ sst.root_astep,30 000040 8-40 equ sst.pts,32 000044 8-41 equ sst.level,36 " LEVEL 2 8-42 000044 8-43 equ sst.ausedp,36 " UPPER 000044 8-44 equ sst.no_aste,36 " LOWER 8-45 000050 8-46 equ sst.atempp,40 " UPPER 000050 8-47 equ sst.atempp1,40 " LOWER 8-48 000051 8-49 equ sst.dm_enabled_word,41 400000 8-50 bool sst.dm_enabled,400000 " DU 8-51 000052 8-52 equ sst.ainitp,42 " UPPER 000052 8-53 equ sst.ainitp1,42 " LOWER 8-54 000053 8-55 equ sst.strsize,43 000054 8-56 equ sst.cmp,44 8-57 000056 8-58 equ sst.usedp,46 " UPPER 8-59 000057 8-60 equ sst.wtct,47 8-61 000060 8-62 equ sst.startp,48 " UPPER 8-63 000061 8-64 equ sst.removep,49 " UPPER 8-65 000062 8-66 equ sst.double_write,50 000063 8-67 equ sst.temp_w_event,51 000064 8-68 equ sst.root_pvtx,52 8-69 000065 8-70 equ sst.nolock_word,53 400000 8-71 bool sst.nolock,400000 " DU 8-72 000066 8-73 equ sst.fc_skips_pinned,54 000067 8-74 equ sst.cl_skips_pinned,55 000070 8-75 equ sst.ast_ht_ptr,56 000072 8-76 equ sst.ast_ht_n_buckets,58 000073 8-77 equ sst.ast_ht_uid_mask,59 000074 8-78 equ sst.meter_ast_locking,60 000075 8-79 equ sst.checksum_filemap,61 000076 8-80 equ sst.page_read_errors,62 000077 8-81 equ sst.page_write_errors,63 000100 8-82 equ sst.cycle_pv_allocation,64 000101 8-83 equ sst.n_trailers,65 000102 8-84 equ sst.synch_activations,66 000103 8-85 equ sst.synch_skips,67 000104 8-86 equ sst.lock_waits,68 000105 8-87 equ sst.total_locks_set,69 000106 8-88 equ sst.pdir_page_faults,70 000107 8-89 equ sst.level_1_page_faults,71 000110 8-90 equ sst.dir_page_faults,72 000111 8-91 equ sst.ring_0_page_faults,73 000112 8-92 equ sst.rqover,74 000113 8-93 equ sst.pc_io_waits,75 000114 8-94 equ sst.steps,76 000115 8-95 equ sst.needc,77 000116 8-96 equ sst.ceiling,78 000117 8-97 equ sst.ctwait,79 000120 8-98 equ sst.wired,80 000121 8-99 equ sst.laps,81 000122 8-100 equ sst.skipw,82 000123 8-101 equ sst.skipu,83 000124 8-102 equ sst.skipm,84 000125 8-103 equ sst.skipos,85 000126 8-104 equ sst.aused,86 000127 8-105 equ sst.damaged_ct,87 000130 8-106 equ sst.deact_count,88 000131 8-107 equ sst.demand_deact_attempts,89 000132 8-108 equ sst.demand_deactivations,90 000133 8-109 equ sst.reads,91 000143 8-110 equ sst.writes,99 000153 8-111 equ sst.short_pf_count,107 000154 8-112 equ sst.loop_locks,108 000156 8-113 equ sst.loop_lock_time,110 " DOUBLE 000160 8-114 equ sst.cpu_sf_time,112 " DOUBLE 000162 8-115 equ sst.total_sf_pf,114 000163 8-116 equ sst.total_sf,115 000164 8-117 equ sst.pre_page_size,116 000165 8-118 equ sst.post_list_size,117 000166 8-119 equ sst.post_purgings,118 000167 8-120 equ sst.post_purge_calls,119 000170 8-121 equ sst.pre_page_calls,120 000171 8-122 equ sst.pre_page_list_size,121 000172 8-123 equ sst.pre_page_misses,122 000173 8-124 equ sst.pre_pagings,123 000174 8-125 equ sst.wire_proc_data,124 " DOUBLE 000214 8-126 equ sst.abs_wired_count,140 000215 8-127 equ sst.system_type,141 000216 8-128 equ sst.wired_copies,142 000217 8-129 equ sst.recopies,143 000220 8-130 equ sst.first_core_block,144 000221 8-131 equ sst.last_core_block,145 000222 8-132 equ sst.fw_retries,146 000223 8-133 equ sst.pvhtp,147 000224 8-134 equ sst.askipsize,148 000230 8-135 equ sst.aneedsize,152 000234 8-136 equ sst.stepsa,156 000235 8-137 equ sst.askipsehs,157 000236 8-138 equ sst.asearches,158 000237 8-139 equ sst.askipslevel,159 000240 8-140 equ sst.askipsinit,160 000241 8-141 equ sst.acost,161 000242 8-142 equ sst.askipslock,162 000243 8-143 equ sst.askipdius,163 000244 8-144 equ sst.alaps,164 000245 8-145 equ sst.updates,165 000246 8-146 equ sst.setfaults_all,166 000247 8-147 equ sst.setfaults_acc,167 000250 8-148 equ sst.total_bf,168 000251 8-149 equ sst.total_bf_pf,169 000252 8-150 equ sst.cpu_bf_time,170 " DOUBLE 000254 8-151 equ sst.asteps,172 000260 8-152 equ sst.ast_locked_at_time,176 " DOUBLE 000262 8-153 equ sst.ast_locked_total_time,178 " DOUBLE 000264 8-154 equ sst.ast_lock_wait_time,180 " DOUBLE 000266 8-155 equ sst.ast_locking_count,182 000267 8-156 equ sst.cleanup_count,183 000270 8-157 equ sst.cleanup_real_time,184 " DOUBLE 000272 8-158 equ sst.tree_count,186 000372 8-159 equ sst.pp_meters,250 8-160 000472 8-161 equ sst.wusedp,314 " UPPER 8-162 000473 8-163 equ sst.write_hunts,315 000474 8-164 equ sst.claim_skip_cme,316 000475 8-165 equ sst.claim_skip_free,317 000476 8-166 equ sst.claim_notmod,318 000477 8-167 equ sst.claim_passed_used,319 000500 8-168 equ sst.claim_skip_ptw,320 000501 8-169 equ sst.claim_writes,321 000502 8-170 equ sst.claim_steps,322 000503 8-171 equ sst.pre_seeks_failed,323 000504 8-172 equ sst.resurrections,324 000505 8-173 equ sst.volmap_seg_page_faults,325 000506 8-174 equ sst.oopv,326 000507 8-175 equ sst.dblw_resurrections,327 000510 8-176 equ sst.sgm_time,328 " DOUBLE 000512 8-177 equ sst.sgm_pf,330 000513 8-178 equ sst.bad_sgms,331 000514 8-179 equ sst.sgm_sgft,332 000515 8-180 equ sst.good_sgms,333 000516 8-181 equ sst.claim_runs,334 000517 8-182 equ sst.activations,335 000520 8-183 equ sst.dir_activations,336 000521 8-184 equ sst.hedge_updatevs,337 000522 8-185 equ sst.hedge_writes,338 000523 8-186 equ sst.evict_recover_data,339 " LEVEL 2 8-187 000523 8-188 equ sst.evict_ptp,339 " UPPER 000523 8-189 equ sst.evict_phmbit,339 " LOWER 8-190 000524 8-191 equ sst.force_swrites,340 000525 8-192 equ sst.force_pwrites,341 000526 8-193 equ sst.fw_none,342 000527 8-194 equ sst.force_updatevs,343 000530 8-195 equ sst.pf_unlock_ptl_time,344 " DOUBLE 000532 8-196 equ sst.pf_unlock_ptl_meterings,346 000533 8-197 equ sst.makeknown_activations,347 000534 8-198 equ sst.backup_activations,348 000535 8-199 equ sst.metering_flags,349 " LEVEL 2 8-200 400000 8-201 bool sst.activate_activated,400000 " DU 8-202 000536 8-203 equ sst.seg_fault_calls,350 000537 8-204 equ sst.stk_truncate_should_didnt,351 000540 8-205 equ sst.stk_truncate_should_did,352 000541 8-206 equ sst.stk_truncate_shouldnt_didnt,353 000542 8-207 equ sst.stk_truncate_shouldnt_did,354 000543 8-208 equ sst.stk_pages_truncated,355 000544 8-209 equ sst.stk_pages_truncated_in_core,356 000545 8-210 equ sst.segmove_lock,357 " LEVEL 2 8-211 000545 8-212 equ sst.pid,357 000546 8-213 equ sst.event,358 8-214 000547 8-215 equ sst.notify_word,359 400000 8-216 bool sst.notify,400000 " DU 8-217 000550 8-218 equ sst.segmove_io_limit,360 000551 8-219 equ sst.segmove_found_synch,361 000552 8-220 equ sst.segmove_synch_disappeared,362 000553 8-221 equ sst.segmove_n_reads,363 000554 8-222 equ sst.segmove_max_tries,364 000555 8-223 equ sst.segmove_astep,365 000556 8-224 equ sst.segmove_pvtx,366 000557 8-225 equ sst.segmove_vtocx,367 000560 8-226 equ sst.segmove_old_addr_astep,368 000561 8-227 equ sst.segmove_new_addr_astep,369 000562 8-228 equ sst.mod_during_write,370 000563 8-229 equ sst.zero_pages,371 000564 8-230 equ sst.trace_sw,372 " LEVEL 2 8-231 000010 8-232 bool sst.pc_trace_pf,000010 " DL 000004 8-233 bool sst.tty_trace,000004 " DL 000002 8-234 bool sst.pc_trace,000002 " DL 000001 8-235 bool sst.sc_trace,000001 " DL 8-236 000565 8-237 equ sst.new_pages,373 8-238 000566 8-239 equ sst.ast_track_word,374 400000 8-240 bool sst.ast_track,400000 " DU 8-241 000567 8-242 equ sst.dirlock_writebehind,375 000570 8-243 equ sst.write_limit,376 8-244 000571 8-245 equ sst.crash_test_segmove_word,377 400000 8-246 bool sst.crash_test_segmove,400000 " DU 8-247 000572 8-248 equ sst.delayed_seg_state_chg,378 000573 8-249 equ sst.audit_seg_state_chg,379 000574 8-250 equ sst.seg_state_chg_delay,380 " DOUBLE 000576 8-251 equ sst.seg_state_change_limit,382 000577 8-252 equ sst.max_seg_state_change_bw,383 000600 8-253 equ sst.audit_seg_state_change_bw,384 000601 8-254 equ sst.seg_state_chg_operation,385 8-255 8-256 "END INCLUDE FILE sst.incl.alm 26 27 include aste 9-1 9-2 9-3 "BEGIN INCLUDE FILE aste.incl.alm 9-4 9-5 9-6 "Created 01/14/85 1523.3 est Mon by convert_include_file, 9-7 " Version of 01/09/85 0954.4 est Wed. 9-8 9-9 "Made from >Pool>m>loe>incl>aste.incl.pl1, 9-10 " modified 01/08/85 1115.0 est Tue 9-11 9-12 " 9-13 " Structure aste 9-14 " 000014 9-15 equ aste_size,12 9-16 000000 9-17 equ aste.fp,0 " UPPER 000000 9-18 equ aste.bp,0 " LOWER 9-19 000001 9-20 equ aste.infl,1 " UPPER 000001 9-21 equ aste.infp,1 " LOWER 9-22 000002 9-23 equ aste.strp,2 " UPPER 000002 9-24 equ aste.par_astep,2 " LOWER 9-25 000003 9-26 equ aste.uid,3 9-27 000004 9-28 equ aste.msl_word,4 000033 9-29 equ aste.msl_shift,27 000777 9-30 bool aste.msl_mask,000777 000004 9-31 equ aste.pvtx_word,4 000022 9-32 equ aste.pvtx_shift,18 000777 9-33 bool aste.pvtx_mask,000777 000004 9-34 equ aste.vtocx,4 " LOWER 9-35 000005 9-36 equ aste.usedf_word,5 400000 9-37 bool aste.usedf,400000 " DU 000005 9-38 equ aste.init_word,5 200000 9-39 bool aste.init,200000 " DU 000005 9-40 equ aste.gtus_word,5 100000 9-41 bool aste.gtus,100000 " DU 000005 9-42 equ aste.gtms_word,5 040000 9-43 bool aste.gtms,040000 " DU 000005 9-44 equ aste.hc_word,5 020000 9-45 bool aste.hc,020000 " DU 000005 9-46 equ aste.hc_sdw_word,5 010000 9-47 bool aste.hc_sdw,010000 " DU 000005 9-48 equ aste.any_access_on_word,5 004000 9-49 bool aste.any_access_on,004000 " DU 000005 9-50 equ aste.write_access_on_word,5 002000 9-51 bool aste.write_access_on,002000 " DU 000005 9-52 equ aste.inhibit_cache_word,5 001000 9-53 bool aste.inhibit_cache,001000 " DU 000005 9-54 equ aste.explicit_deact_ok_word,5 000400 9-55 bool aste.explicit_deact_ok,000400 " DU 000005 9-56 equ aste.deact_error_word,5 000200 9-57 bool aste.deact_error,000200 " DU 000005 9-58 equ aste.hc_part_word,5 000100 9-59 bool aste.hc_part,000100 " DU 000005 9-60 equ aste.fm_damaged_word,5 000040 9-61 bool aste.fm_damaged,000040 " DU 000005 9-62 equ aste.multi_class_word,5 000020 9-63 bool aste.multi_class,000020 " DU 000005 9-64 equ aste.dius_word,5 000002 9-65 bool aste.dius,000002 " DU 000005 9-66 equ aste.nid_word,5 000001 9-67 bool aste.nid,000001 " DU 000005 9-68 equ aste.dmpr_pad_word,5 400000 9-69 bool aste.dmpr_pad,400000 " DL 000005 9-70 equ aste.ehs_word,5 200000 9-71 bool aste.ehs,200000 " DL 000005 9-72 equ aste.nqsw_word,5 100000 9-73 bool aste.nqsw,100000 " DL 000005 9-74 equ aste.dirsw_word,5 040000 9-75 bool aste.dirsw,040000 " DL 000005 9-76 equ aste.master_dir_word,5 020000 9-77 bool aste.master_dir,020000 " DL 000005 9-78 equ aste.volmap_seg_word,5 010000 9-79 bool aste.volmap_seg,010000 " DL 000005 9-80 equ aste.tqsw_word,5 004000 9-81 bool aste.tqsw,004000 " DL 9-82 000006 9-83 equ aste.dtu,6 000007 9-84 equ aste.dtm,7 9-85 000010 9-86 equ aste.quota,8 " UPPER 9-87 000011 9-88 equ aste.used,9 " UPPER 9-89 000012 9-90 equ aste.csl_word,10 000033 9-91 equ aste.csl_shift,27 000777 9-92 bool aste.csl_mask,000777 000012 9-93 equ aste.fmchanged_word,10 000400 9-94 bool aste.fmchanged,000400 " DU 000012 9-95 equ aste.fms_word,10 000200 9-96 bool aste.fms,000200 " DU 000012 9-97 equ aste.npfs_word,10 000100 9-98 bool aste.npfs,000100 " DU 000012 9-99 equ aste.gtpd_word,10 000040 9-100 bool aste.gtpd,000040 " DU 000012 9-101 equ aste.dnzp_word,10 000020 9-102 bool aste.dnzp,000020 " DU 000012 9-103 equ aste.per_process_word,10 000010 9-104 bool aste.per_process,000010 " DU 000012 9-105 equ aste.ddnp_word,10 000004 9-106 bool aste.ddnp,000004 " DU 000012 9-107 equ aste.records_word,10 000011 9-108 equ aste.records_shift,9 000777 9-109 bool aste.records_mask,000777 000012 9-110 equ aste.np_word,10 000000 9-111 equ aste.np_shift,0 000777 9-112 bool aste.np_mask,000777 9-113 000013 9-114 equ aste.ht_fp,11 " UPPER 000013 9-115 equ aste.fmchanged1_word,11 400000 9-116 bool aste.fmchanged1,400000 " DL 000013 9-117 equ aste.damaged_word,11 200000 9-118 bool aste.damaged,200000 " DL 000013 9-119 equ aste.pack_ovfl_word,11 100000 9-120 bool aste.pack_ovfl,100000 " DL 000013 9-121 equ aste.synchronized_word,11 040000 9-122 bool aste.synchronized,040000 " DL 000013 9-123 equ aste.ptsi_word,11 000006 9-124 equ aste.ptsi_shift,6 000003 9-125 bool aste.ptsi_mask,000003 000013 9-126 equ aste.marker_word,11 000000 9-127 equ aste.marker_shift,0 000077 9-128 bool aste.marker_mask,000077 9-129 9-130 " 9-131 " Structure aste_part 9-132 " 000014 9-133 equ aste_part_size,12 9-134 9-135 000000 9-136 equ aste_part.one,0 000001 9-137 equ aste_part.two,1 " DOUBLE 9-138 000013 9-139 equ aste_part.three_word,11 000000 9-140 equ aste_part.three_shift,0 000377 9-141 bool aste_part.three_mask,000377 9-142 9-143 " 9-144 " Structure seg_aste 9-145 " 000014 9-146 equ seg_aste_size,12 9-147 9-148 000010 9-149 equ seg_aste.usage,8 9-150 9-151 "END INCLUDE FILE aste.incl.alm 28 include cmp 10-1 " 10-2 " BEGIN INCLUDE FILE cmp.incl.alm October 1982 10-3 " 000004 10-4 equ cme_size,4 Size of a CME 10-5 000000 10-6 equ cme.fp,0 forward pointer to next core map entry (DU) 000000 10-7 equ cme.bp,0 backward pointer to previous core map entry (DL) 10-8 000001 10-9 equ cme.devadd,1 device address of page in the core block 000001 10-10 equ cme.flags,1 word containing various flags 740000 10-11 bool cme.did_mask,740000 mask for extracting device ID from core map entry 010000 10-12 bool cme.synch_held,010000 page of synch seg held in mem (DL) 004000 10-13 bool cme.io,004000 read/write bit (DL) 001000 10-14 bool cme.er,001000 error on previous I/O 000400 10-15 bool cme.removing,000400 page is being removed 000200 10-16 bool cme.abs_w,000200 page may not be moved 000100 10-17 bool cme.abs_usable,000100 page may be assigned with fixed abs addr 000040 10-18 bool cme.notify_requested,000040 ptw event must be notified on completion 000010 10-19 bool cme.phm_hedge,000010 periodic write scheduler 000007 10-20 bool cme.contr,000007 port number of controller in which core block is located 10-21 000002 10-22 equ cme.ptwp,2 page table word pointer (DU) 000002 10-23 equ cme.astep,2 AST entry ptr (DL) 10-24 000003 10-25 equ cme.pin_counter,3 number times to skip eviction (DU) 000003 10-26 equ cme.synch_page_entryp,3 rel ptr to synch page entry 10-27 10-28 " END INCLUDE FILE cmp.incl.alm 29 30 " 31 " 000000 0a 000111 7420 00 32 stx2 x2 save return address 000001 aa 012300 7020 00 33 tsx2 initint initialize intflt package 000002 0a 000102 0000 00 34 arg cycle depending on mode of invocation, 35 "either exit of cycle on exec flt 000003 aa 012271 7020 00 36 tsx2 init_io set up i/o for printing 000004 aa 012245 7020 00 37 tsx2 ttyinit initialize opr console 000005 0a 000102 0000 00 38 arg cycle req will be like exec flt 39 40 000006 0a 001020 7020 00 41 tsx2 absresolve_init must be done before loading pring 42 000007 0a 002376 2350 00 43 lda =h ptpkg set to load printing package 000010 aa 006000 6360 00 44 eaq pt_org at its rightful address 000011 aa 012206 7020 00 45 tsx2 ldcom load it 000012 0a 000200 7020 00 46 tsx2 fatal die if error 47 000013 aa 006010 7020 00 48 tsx2 initprint initiailize print package 49 000014 aa 000000 1004 00 50 mlr (),() 000015 0a 000114 020044 51 desc6a hdrln,(hdend-hdrln)*6 move in header 000016 aa 006016 020044 52 desc6a pthdr,(hdend-hdrln)*6 53 000017 aa 012267 7020 00 54 tsx2 rdclock get date/time in header 000020 aa 006026 7550 00 55 sta pthdr+(hdend-hdrln)+2 000021 aa 006027 7560 00 56 stq pthdr+(hdend-hdrln)+3 57 58 000022 0a 000111 2220 00 59 ldx2 x2 see if args given 000023 aa 7 00000 2221 12 60 ldx2 mem|0,2 pick up parsed arg pointer 000024 aa 7 00001 2351 12 61 lda mem|1,2 pick up possible first arg 000025 0a 002377 1150 00 62 cmpa =-1 fence is no args 000026 0a 000106 6000 00 63 tze setcycle enter cycle mode if no args 000027 0a 000111 2230 00 64 ldx3 x2 "get address of source line 000030 aa 7 00000 2361 13 65 ldq mem|0,3 "get pointer wd 000031 aa 777777 3760 07 66 anq -1,dl get lower address 000032 aa 000006 4020 07 67 mpy 6,dl convert to chars 000033 aa 0 20000 1005 06 68 mlr (pr,ql),(),fill(020) 000034 aa 700000 020124 69 desc6a mem|0,14*6 000035 aa 012001 020124 70 desc6a line,14*6 71 000036 aa 012200 7020 00 72 tsx2 scan rescan args 73 74 75 000037 aa 000000 6200 00 76 eax0 0 set to move out command name 000040 77 fix_arg_loop: 000040 aa 012041 2350 10 78 lda arg+1,0 000041 aa 012040 7550 10 79 sta arg,0 000042 aa 012061 2350 10 80 lda darg+1,0 000043 aa 012060 7550 10 81 sta darg,0 000044 aa 000001 6200 10 82 eax0 1,0 000045 0a 002377 1150 00 83 cmpa =-1 see if moved fence 000046 0a 000040 6010 00 84 tnz fix_arg_loop no, move more args 85 000047 0a 000126 6270 00 86 eax7 fthdlr we will take faults, could be cache error. 000050 aa 012301 7470 20 87 stx7 wantflt,* 88 000051 89 start: 000051 aa 012040 2350 00 90 lda arg inspect first arg 000052 0a 002400 1150 00 91 cmpa =h dump see if full dump wanted 000053 0a 000235 6000 00 92 tze dump tra if yes 000054 0a 002401 1150 00 93 cmpa =h quit 000055 0a 000111 6000 00 94 tze x2 000056 0a 002402 1150 00 95 cmpa =h cache 000057 0a 000625 6000 00 96 tze cache cache compare and dump 000060 0a 002403 1150 00 97 cmpa =h tape 000061 0a 000122 7170 00 98 xed prtcmd 000062 aa 006001 0000 00 99 arg tapeon 100 000063 0a 002404 1150 00 101 cmpa =h prt 000064 0a 000122 7170 00 102 xed prtcmd 000065 aa 006000 0000 00 103 arg printon 104 000066 0a 002405 1150 00 105 cmpa =h eof 000067 0a 000122 7170 00 106 xed prtcmd 000070 aa 006002 0000 00 107 arg wteof 108 000071 0a 002377 1150 00 109 cmpa =-1 000072 0a 000077 6000 00 110 tze qm no args wrong 000073 aa 012040 2340 00 111 szn arg test for a zero 000074 0a 000216 6000 00 112 tze num this is legal num 000075 aa 012060 2340 00 113 szn darg check for numeric 000076 0a 000216 6010 00 114 tnz num num is ok 000077 aa 012241 7020 00 115 qm: tsx2 erpt unrecognized command 000100 aa 002 136 147 000 116 acc '^g' print ?? 000101 0a 002406 0000 00 117 arg =h!!???? 000102 118 cycle: 000102 0a 000110 2340 00 119 szn cyclesw see if single or multiple command mode 000103 0a 000111 6000 00 120 tze x2 return if not in cycle mode 000104 aa 012202 7020 00 121 tsx2 nextline get next line 000105 0a 000051 7100 00 122 tra start 123 000106 124 setcycle: 000106 0a 000110 5540 00 125 stc1 cyclesw 000107 0a 000102 7100 00 126 tra cycle 127 000110 aa 000000 000000 128 cyclesw: oct 0 129 130 000111 aa 000000 6220 00 131 x2: eax2 *-* restore index 2 000112 aa 000001 3350 07 132 lca 1,dl set fence for next-command protocol 000113 aa 7 00001 7101 12 133 tra mem|1,2 134 000114 aa 014 464 436 331 135 hdrln: bci '1multics absolute core analysis ' 000115 aa 236 220 212 262 000116 aa 464 364 632 520 000117 aa 234 651 252 021 000120 aa 452 143 706 231 000121 aa 622 020 202 020 000122 136 hdend: 137 138 even " s/r to test print control options 000122 aa 000002 6010 04 139 prtcmd: tnz 2,ic 000123 0a 000124 7010 00 140 tsx1 *+1 000124 aa 000000 7020 31 141 tsx2 0,1* 000125 0a 000102 7100 00 142 tra cycle 143 " 000126 0a 002174 4520 01 144 fthdlr: scpr fault_temp,01 get fault reg- could be cache problem 000127 0a 002407 6740 02 145 lcpr =3,02 turn off cache 000130 aa 012241 7020 00 146 tsx2 erpt print out data 000131 aa 034 165 156 145 147 acc 'unexp fault - fault reg = ^w' 000132 aa 170 160 040 146 000133 aa 141 165 154 164 000134 aa 040 055 040 146 000135 aa 141 165 154 164 000136 aa 040 162 145 147 000137 aa 040 075 040 136 000140 aa 167 000 000 000 000141 0a 002174 0000 00 148 arg fault_temp 000142 aa 012241 7020 00 149 tsx2 erpt print out scu data 000143 aa 030 163 143 165 150 acc 'scu data :^w ^w ^w ^w' 000144 aa 040 144 141 164 000145 aa 141 040 072 136 000146 aa 167 040 040 136 000147 aa 167 040 040 136 000150 aa 167 040 040 136 000151 aa 167 000 000 000 151 000152 aa 012120 0000 00 152 arg fltscu 000153 aa 012121 0000 00 153 arg fltscu+1 000154 aa 012122 0000 00 154 arg fltscu+2 000155 aa 012123 0000 00 155 arg fltscu+3 156 000156 aa 012241 7020 00 157 tsx2 erpt 000157 aa 016 136 167 040 158 acc '^w ^w ^w ^w' 000160 aa 040 136 167 040 000161 aa 040 136 167 040 000162 aa 040 136 167 000 000163 aa 012124 0000 00 159 arg fltscu+4 000164 aa 012125 0000 00 160 arg fltscu+5 000165 aa 012126 0000 00 161 arg fltscu+6 000166 aa 012127 0000 00 162 arg fltscu+7 163 " 164 " 165 " Patch next instruction to NOP for debugging. 166 " 167 " 000167 0a 000102 7100 00 168 halt: tra cycle 169 000170 aa 012241 7020 00 170 tsx2 erpt 000171 aa 023 144 157 151 171 acc 'doing a dis/tra *-1' 000172 aa 156 147 040 141 000173 aa 040 144 151 163 000174 aa 057 164 162 141 000175 aa 040 052 055 061 000176 aa 000000 6160 00 172 dis 000177 0a 000176 7100 00 173 tra *-1 174 000200 aa 777777 6220 12 175 fatal: eax2 -1,2 make x2 point to tsx2 fatal 000201 0a 000215 4420 00 176 sxl2 temp_fatal save addr for printing 000202 aa 012241 7020 00 177 tsx2 erpt print out message 000203 aa 034 165 156 145 178 acc 'unexpected fatal error at ^o' 000204 aa 170 160 145 143 000205 aa 164 145 144 040 000206 aa 146 141 164 141 000207 aa 154 040 145 162 000210 aa 162 157 162 040 000211 aa 141 164 040 136 000212 aa 157 000 000 000 000213 0a 000215 0000 00 179 arg temp_fatal 000214 0a 000167 7100 00 180 tra halt 181 000215 182 temp_fatal: 000215 aa 000000 000000 183 oct 0 184 " 185 " 186 " ABS nnnnnnn etc. 187 " 000216 188 num: 000216 aa 012040 2350 00 189 lda arg get arg 000217 0a 001146 7020 00 190 tsx2 absresolve do our thing 000220 0a 000224 7100 00 191 tra num_err out of core bounds 000221 aa 012244 7020 00 192 tsx2 type print on opty 000222 aa 012001 000016 193 zero line,14 might truncate to 14 chars 000223 0a 000102 7100 00 194 tra cycle 195 000224 aa 012241 7020 00 196 num_err: tsx2 erpt 000225 aa 027 141 144 144 197 acc 'address not in core- ^o' 000226 aa 162 145 163 163 000227 aa 040 156 157 164 000230 aa 040 151 156 040 000231 aa 143 157 162 145 000232 aa 055 040 136 157 000233 aa 012040 0000 00 198 arg arg 199 000234 0a 000102 7100 00 200 tra cycle 201 202 203 " 204 " 205 " 206 " ABS DUMP 207 " 208 " use in conjuction with DUMP ABS if desired 209 " 000235 210 dump: 211 212 " First, must determine extent of core 213 000235 aa 0 00000 1005 00 214 mlr (pr),() 000236 aa 601610 000040 215 desc9a com|coreblocks,4*8 000237 0a 000305 000040 216 desc9a a_coreblocks,4*8 217 218 000240 219 coresort: 000240 0a 000315 4500 00 220 stz pass_mod assume no mod this pass 000241 aa 000000 6200 00 221 eax0 0 222 000242 0a 000306 2360 10 223 corelp1: ldq a_coreblocks+1,0 get larger word, if good 000243 0a 000305 1160 10 224 cmpq a_coreblocks,0 subtract hopefully smaller 000244 0a 000251 6030 00 225 trc in_order good, in order 000245 0a 000305 2350 10 226 lda a_coreblocks,0 get higher 000246 0a 000305 7560 10 227 stq a_coreblocks,0 store lower 000247 0a 000306 7550 10 228 sta a_coreblocks+1,0 store higher 000250 0a 000315 5540 00 229 stc1 pass_mod 000251 aa 000001 6200 10 230 in_order: eax0 1,0 000252 aa 000007 1000 03 231 cmpx0 7,du 000253 0a 000242 6040 00 232 tmi corelp1 trail down array 000254 0a 000315 2340 00 233 szn pass_mod see if now in order 000255 0a 000240 6010 00 234 tnz coresort reorder if any switching done 000256 aa 006004 7020 00 235 tsx2 headform skip to top 236 000257 aa 000000 2200 03 237 ldx0 0,du index through coreblocks 238 000260 0a 000305 2350 10 239 dumplp: lda a_coreblocks,0 pick up core word 000261 0a 002377 1150 00 240 cmpa =-1 see if no core there 000262 0a 000301 6000 00 241 tze end_dmplp 000263 aa 777777 3750 07 242 ana -1,dl get number of pages 000264 aa 000004 7710 00 243 arl 4 in 1024's 000265 aa 000000 6210 05 244 eax1 0,al into index 1 000266 0a 000305 2350 10 245 lda a_coreblocks,0 000267 aa 000022 7710 00 246 arl 18 get starting address 000270 aa 000006 7350 00 247 als 6 in words 000271 248 dlp: 000271 0a 001146 7020 00 249 tsx2 absresolve do a page 000272 0a 000317 7100 00 250 tra d_error 000273 0a 000316 7550 00 251 sta dump_temp 000274 aa 006005 7020 00 252 tsx2 print print result 000275 0a 000316 2350 00 253 lda dump_temp 000276 aa 002000 0750 07 254 ada page_size,dl 000277 aa 777777 6210 11 255 eax1 -1,1 see if done 000300 0a 000271 6054 00 256 tpnz dlp 257 000301 258 end_dmplp: 000301 aa 000001 6200 10 259 eax0 1,0 000302 aa 000010 1000 03 260 cmpx0 8,du see if all blocks done 000303 0a 000260 6040 00 261 tmi dumplp 000304 0a 000102 7100 00 262 tra cycle 263 000305 264 a_coreblocks: 000305 265 bss ,8 array or coreblocks words, will be sorted 266 000315 aa 000000 000000 267 pass_mod: dec 0 exchange sort switch 268 000316 269 dump_temp: 000316 aa 000000 000000 270 oct 0 271 000317 aa 012040 7550 00 272 d_error: sta arg 000320 0a 000224 7100 00 273 tra num_err 274 " 275 276 include cache_print include cache printing package 11-1 " 11-2 " 11-3 " Begin include file cache_print.incl.alm 11-4 " 11-5 " Last modified by Sherman D. Sprague 02/11/81 for DPS8 support. 11-6 " 000321 11-7 print_cache_header: 11-8 000321 0a 000333 7420 00 11-9 stx2 pch_x 11-10 000322 aa 020000 1004 00 11-11 mlr (),(),fill(020) "routine to set up header and print it 000323 0a 000334 020140 11-12 desc6a cache_hdr,(chdrend-cache_hdr)*6 000324 aa 006016 020144 11-13 desc6a pthdr,100 11-14 000325 aa 012267 7020 00 11-15 tsx2 rdclock get date/time in their 000326 aa 006036 7550 00 11-16 sta pthdr+16 000327 aa 006037 7560 00 11-17 stq pthdr+17 11-18 000330 aa 006004 7020 00 11-19 tsx2 headform print it 000331 aa 006003 7020 00 11-20 tsx2 space 000332 aa 006005 7020 00 11-21 tsx2 print print another line 000333 aa 000000 7100 00 11-22 pch_x: tra *-* 11-23 000334 11-24 cache_hdr: 000334 aa 012 243 422 020 11-25 bci '1blk level abs addr f/e rro ' 000335 aa 202 020 432 565 000336 aa 254 320 202 020 000337 aa 202 122 622 021 000340 aa 242 451 202 020 000341 aa 266 125 202 051 000342 aa 514 620 202 020 000343 aa 202 020 202 020 11-26 bci ' blk contents ' 000344 aa 202 020 202 243 000345 aa 422 023 464 563 000346 aa 254 563 622 020 000347 aa 202 020 525 252 11-27 bci ' --- multics cache dump ' 000350 aa 202 020 446 443 000351 aa 633 123 622 023 000352 aa 212 330 252 024 000353 aa 644 447 202 020 000354 11-28 chdrend: 11-29 " 000354 11-30 print_cache_block: 11-31 " "This routine prints the cloumn 11-32 "of cache specified by the address in A. 000354 0a 000460 7530 00 11-33 sreg cache_block_save_regs "save regs 000355 0a 000660 3750 00 11-34 ana ccolm1x4 insure a meaningful address 000356 0a 000472 7550 00 11-35 sta cache_block_addr save it 000357 aa 006003 7020 00 11-36 tsx2 space clear line 000360 0a 000472 2350 00 11-37 lda cache_block_addr restore address 11-38 000361 aa 012252 7020 00 11-39 tsx2 octwd convert the address 000362 aa 000014 7360 00 11-40 qls 12 move into qu 000363 aa 012001 7520 74 11-41 stcq line,74 store these digits 11-42 000364 0a 000472 2350 00 11-43 lda cache_block_addr reload address 000365 0a 000503 7020 00 11-44 tsx2 get_cache get actual cache contents 11-45 000366 0a 000556 2350 00 11-46 lda cache_dir get any status word 000367 aa 002000 3150 07 11-47 cana cmr.column_full,dl see if col-full is on 000370 0a 000373 6000 00 11-48 tze *+3 skip store if not 000371 0a 002410 2350 00 11-49 lda =hc-full get marker 000372 aa 012002 7550 00 11-50 sta line+1 11-51 000373 aa 000000 6200 00 11-52 eax0 0 x0 moves along directory 000374 aa 000000 6210 00 11-53 eax1 0 x1 moves along cache contents 11-54 000375 11-55 cache_block_loop: 000375 aa 000013 6230 00 11-56 eax3 11 x3 is a character index for line 000376 0a 000470 7400 00 11-57 stx0 cache_octbuf get level 000377 aa 000013 1004 00 11-58 mlr (),(x3) move that single digit 000400 0a 000470 220001 11-59 desc6a cache_octbuf(2),1 000401 aa 012001 020001 11-60 desc6a line,1 000402 aa 000006 6230 13 11-61 eax3 6,3 allow 5 spaces after it 11-62 000403 0a 000556 2350 10 11-63 lda cache_dir,0 get directory address 000404 aa 777770 3750 03 11-64 ana cmr.address_mask,du isolate address 000405 aa 000014 7710 00 11-65 arl cmr.address_shift position it 000406 0a 000472 2750 00 11-66 ora cache_block_addr make coherent address format 000407 aa 012252 7020 00 11-67 tsx2 octwd convert it 000410 0a 000470 7570 00 11-68 staq cache_octbuf move to memory 000411 aa 000013 1004 00 11-69 mlr (),(x3) 000412 0a 000470 420010 11-70 desc6a cache_octbuf(4),8 move address to line 000413 aa 012001 020010 11-71 desc6a line,8 11-72 000414 aa 000014 6230 13 11-73 eax3 12,3 allow 4 spaces after 11-74 000415 0a 002411 3700 00 11-75 epp4 =hfull " assume full level 000416 0a 000556 2350 10 11-76 lda cache_dir,0 get status word 000417 aa 000002 3150 03 11-77 cana cmr.level_full,du see if level full 000420 0a 000422 6010 00 11-78 tnz *+2 br if full 000421 0a 002412 3700 00 11-79 epp4 =hempty " assume empty 11-80 000422 aa 0 00013 1005 00 11-81 mlr (pr),(x3) move full/empty 000423 aa 400000 020005 11-82 desc6a 4|0,5 000424 aa 012001 020005 11-83 desc6a line,5 11-84 000425 aa 000007 6230 13 11-85 eax3 7,3 allow 3 spaces after 11-86 000426 aa 001400 3750 07 11-87 ana cmr.rro_mask,dl isolate ctr 000427 aa 000010 7710 00 11-88 arl cmr.rro_shift get in lowest a pos 000430 0a 000470 7550 00 11-89 sta cache_octbuf save as octal 000431 aa 000013 1004 00 11-90 mlr (),(x3) 000432 0a 000470 520001 11-91 desc6a cache_octbuf(5),1 000433 aa 012001 020001 11-92 desc6a line,1 move to output line 11-93 000434 aa 000002 6230 13 11-94 eax3 2,3 allow 2 spaces 11-95 000435 aa 000004 6270 00 11-96 eax7 4 count words on level 000436 11-97 cache_put_next: 000436 0a 000562 2350 11 11-98 lda cache_contents,1 get data word 000437 aa 000001 6210 11 11-99 eax1 1,1 move to next word 11-100 000440 aa 012252 7020 00 11-101 tsx2 octwd convert 000441 0a 000470 7570 00 11-102 staq cache_octbuf 11-103 000442 aa 000013 1004 00 11-104 mlr (),(x3) 000443 0a 000470 020014 11-105 desc6a cache_octbuf,12 000444 aa 012001 020014 11-106 desc6a line,12 11-107 000445 aa 000016 6230 13 11-108 eax3 14,3 allow 2 spaces 000446 aa 777777 6270 17 11-109 eax7 -1,7 see if line full 000447 0a 000436 6010 00 11-110 tnz cache_put_next no 000450 aa 006005 7020 00 11-111 tsx2 print print line 000451 aa 006003 7020 00 11-112 tsx2 space clear line 11-113 000452 aa 000001 6200 10 11-114 eax0 1,0 do next level 000453 aa 000004 1000 03 11-115 cmpx0 4,du if there is one 000454 0a 000375 6040 00 11-116 tmi cache_block_loop 11-117 000455 aa 006005 7020 00 11-118 tsx2 print print a blank line 000456 0a 000460 0730 00 11-119 lreg cache_block_save_regs 000457 aa 000000 7100 12 11-120 tra 0,2 return 11-121 11-122 eight 000460 11-123 cache_block_save_regs: 000460 11-124 bss ,8 000470 11-125 cache_octbuf: 000470 11-126 bss ,2 000472 11-127 cache_block_addr: 000472 aa 000000 000000 11-128 oct 0 11-129 " 000473 11-130 dump_all_cache: 11-131 "routine to dump all cache to printer 000473 0a 000502 7420 00 11-132 stx2 dump_all_cache_x2 000474 aa 000000 2350 07 11-133 lda 0,dl start at first block 000475 0a 000321 7020 00 11-134 tsx2 print_cache_header print the cache header 11-135 000476 11-136 dump_all_cache_loop: 000476 0a 000354 7020 00 11-137 tsx2 print_cache_block 000477 aa 000004 0750 07 11-138 ada 4,dl go to next block 000500 0a 000664 1150 00 11-139 cmpa ccolx4 if not done 000501 0a 000476 6040 00 11-140 tmi dump_all_cache_loop 11-141 000502 11-142 dump_all_cache_x2: 000502 aa 000000 7100 00 11-143 tra *-* 11-144 11-145 11-146 " 11-147 include get_cache 12-1 " 12-2 " Begin include file get_cache.incl.alm 12-3 " 12-4 " Bernard Greenberg Feb. 1974 12-5 " 12-6 " Last modified by Sherman D. Sprague 02/11/81 for DPS8 support. 12-7 include cache_mode_reg 13-1 13-2 " 13-3 " Begin Include File cache_mode_reg.incl.alm 13-4 " 13-5 " Created 2/74 by Bernard Greenberg 13-6 " Last modified by BSG 4/1/74 13-7 " 13-8 " The following equates are valid for either 13-9 " cache mode register loading (lcpr --,02) 13-10 " or storing (scpr --,06). 13-11 777770 13-12 bool cmr.address_mask,777770 DU 15 bit directory contents 777760 13-13 bool cmr.camp_addr_mask,777760 DU 14 bit selective clear mask 000014 13-14 equ cmr.address_shift,12 RIGHT LOGICAL into address represented 000004 13-15 bool cmr.dir_parity,000004 DU Directory Parity 000002 13-16 bool cmr.level_full,000002 DU Directory position full 400000 13-17 bool cmr.cache_1_on,400000 DL Lower cache on 200000 13-18 bool cmr.cache_2_on,200000 DL Upper cache on 100000 13-19 bool cmr.operands_from_cache,100000 DL Enable operand fetching from cache 040000 13-20 bool cmr.inst_from_cache,040000 DL Enable instruction fetch from cache 010000 13-21 bool cmr.cache_to_reg_mode,010000 DL Intercept DP OU loads as cache dumps 004000 13-22 bool cmr.store_aside,004000 DL Store through enabled 002000 13-23 bool cmr.column_full,002000 DL Directory column full 001400 13-24 bool cmr.rro_mask,001400 DL Round robin replacement counter 000010 13-25 equ cmr.rro_shift,8 RIGHT LOGICAL shift for rro counter 000003 13-26 bool cmr.luf_reg_mask,000003 DL Mask for lockup_fault reg 13-27 13-28 " 13-29 " End Include File cache_mode_reg.incl.alm 13-30 " 12-8 12-9 " 000503 12-10 get_cache: 12-11 "routine to fill up cache_dir and cache_contents 12-12 "with contents of directory and cache. 12-13 "One column is accessed. 12-14 12-15 "Starting address is passed in A. 000503 0a 000660 3750 00 12-16 ana ccolm1x4 insure good address 12-17 000504 aa 000000 6250 00 12-18 eax5 0 x5 counts along cache contents 000505 0a 000602 7550 00 12-19 sta cache_tempg save cache address 000506 aa 012120 2120 00 12-20 absa fltscu get scuu adddress 000507 aa 000006 7350 00 12-21 als 6 assume in 256 k 000510 0a 000610 7510 70 12-22 stca cache_parity_pair,70 put in scu inst 000511 aa 7 00122 2371 00 12-23 ldaq mem|64+2*9 save parity fault pair 000512 0a 000606 7570 00 12-24 staq cache_save_parity_pair 000513 0a 000610 2370 00 12-25 ldaq cache_parity_pair 000514 aa 7 00122 7571 00 12-26 staq mem|64+2*9 set up our handler 000515 aa 6 02003 2351 00 12-27 lda com|corearea low 12 bits are mod 64 free core 000516 aa 000006 7350 00 12-28 als 6 normalize to real address 000517 0a 000661 0350 00 12-29 adla clstcadd round up to double page 000520 0a 000662 3750 00 12-30 ana cnegcsz and truncate 000521 0a 000602 0350 00 12-31 adla cache_tempg add specified displacement 000522 aa 7 00000 3701 05 12-32 epp xs1,mem|0,al xs1 is 4 12-33 " pr necessary because addr may be greater than 12-34 "fixed bin (14) disp.possible. 000523 aa 777774 6270 00 12-35 eax7 -4 x7 counts levels 000524 0a 000554 4520 06 12-36 scpr cache_dump_mode_off-1,06 save old cache/luf reg (might be on) 000525 0a 000555 2350 00 12-37 lda cache_dump_mode_off get old setting 000526 aa 010000 2750 07 12-38 ora cmr.cache_to_reg_mode,dl put on special mode bit 000527 0a 000554 7550 00 12-39 sta cache_dump_mode_on set for loading control reg 12-40 12-41 000530 12-42 get_cache_loop: 000530 aa 4 00000 2371 00 12-43 ldaq xs1|0 get stuff which will be clobbered 000531 0a 000602 7570 00 12-44 staq cache_tempg 000532 12-45 inhibit on 12-46 "we must not take interrupts while we 12-47 "mess around with possible Multics core. 000532 aa 4 00000 4523 06 12-48 scpr xs1|0,06 get status register/directory entry 000533 aa 4 00001 2353 00 12-49 lda xs1|1 get this status word 000534 0a 000562 7552 17 12-50 sta cache_dir+4,7 store it in directory 000535 0a 000602 2372 00 12-51 ldaq cache_tempg 000536 aa 4 00000 7573 00 12-52 staq xs1|0 restore memory 12-53 "following instruction 12-54 "will put processor in a most anomalous state, 12-55 "and _n_o_t_h_i_n_g must disturb us while in this state. 000537 0a 000554 6742 02 12-56 lcpr cache_dump_mode_on,02 force all OU double loads from cache. 000540 aa 4 00000 2373 00 12-57 ldaq xs1|0 get 2 lower words 000541 0a 000562 7572 15 12-58 staq cache_contents,5 store them. 000542 aa 4 00002 2373 00 12-59 ldaq xs1|2 get 2 upper words 000543 0a 000564 7572 15 12-60 staq cache_contents+2,5 And store them. 000544 0a 000555 6742 02 12-61 lcpr cache_dump_mode_off,02 Restore normalcy in processor. 000545 12-62 get_cache_ignore_parf: 000545 12-63 inhibit off 12-64 000545 aa 000004 6250 15 12-65 eax5 4,5 Set for next 4 word entry. 000546 0a 000663 1500 00 12-66 adwp xs1,cclvincr increment addr to next level 000547 aa 000001 6270 17 12-67 eax7 1,7 000550 0a 000530 6040 00 12-68 tmi get_cache_loop Get more if needed. 000551 0a 000606 2370 00 12-69 ldaq cache_save_parity_pair restore parity fault 000552 aa 7 00122 7571 00 12-70 staq mem|64+2*9 000553 aa 000000 7100 12 12-71 tra 0,2 12-72 12-73 12-74 even 12-75 12-76 " following words must be an even/odd pair 000554 12-77 cache_dump_mode_on: 000554 aa 000000 010003 12-78 zero 0,cmr.cache_to_reg_mode+3 "cache mode reg to set 12-79 "dump mode. 3 is lockup fault setting. 12-80 000555 12-81 cache_dump_mode_off: 000555 aa 000000 000003 12-82 zero 0,3 "set dump mode off. 12-83 12-84 12-85 even 000556 12-86 cache_dir: 000556 12-87 bss ,4 "Cache directory and status words, one 12-88 "for each 4 words in cache_contents. 000562 12-89 cache_contents: 000562 12-90 bss ,16 "Cache contents, 4 words at a time. 000602 12-91 cache_tempg: 000602 aa 000000 000000 12-92 oct 0,0 000603 aa 000000 000000 000604 12-93 cache_fail_temp: 000604 aa 000000 000000 12-94 oct 0,0 000605 aa 000000 000000 000606 12-95 cache_save_parity_pair: 000606 aa 000000 000000 12-96 oct 0,0 save for parity fault vector 000607 aa 000000 000000 000610 12-97 cache_parity_pair: 000610 aa 000000 6570 00 12-98 scu *-* instr to store cu 000611 aa 3 00612 7101 00 12-99 tra pgm|cache_parity_fault 12-100 000612 12-101 cache_parity_fault: 000612 0a 000555 6740 02 12-102 lcpr cache_dump_mode_off,02 STOP THAT CRAZY BIT! 000613 0a 000604 4520 01 12-103 scpr cache_fail_temp,01 get poss cache problem 000614 0a 000604 2350 00 12-104 lda cache_fail_temp 000615 aa 000017 3150 07 12-105 cana =o17,dl check cache bits 000616 0a 000545 6010 00 12-106 tnz get_cache_ignore_parf forget it if so 000617 0a 000606 2370 00 12-107 ldaq cache_save_parity_pair restore fv 000620 aa 7 00122 7571 00 12-108 staq mem|64+9*2 000621 0a 000624 2350 00 12-109 lda cch_gt_nopinst pick up noop 000622 aa 7 00114 7571 00 12-110 staq mem|64+6*2 set up drl to wantflt 000623 aa 000000 0020 00 12-111 drl 0 simulate real handling 12-112 000624 12-113 cch_gt_nopinst: 000624 aa 000000 0110 00 12-114 nop 0 12-115 12-116 " 12-117 " End include file get_cache.incl.alm 12-118 " 277 " 000625 278 cache: 000625 aa 012312 7020 00 279 tsx2 check_cpu_type 000626 aa 000001 1150 07 280 cmpa =1,dl is it a dps8 ? 000627 0a 000665 6010 00 281 tnz cl68 we have a L68 000630 aa 100000 3160 07 282 canq =o100000,dl check for cache 000631 0a 000645 6010 00 283 tnz cdps8_8k we have cache 000632 aa 012241 7020 00 284 tsx2 erpt 000633 aa 040 164 150 145 285 acc 'there is no 8k cache on this cpu' 000634 aa 162 145 040 151 000635 aa 163 040 156 157 000636 aa 040 070 153 040 000637 aa 143 141 143 150 000640 aa 145 040 157 156 000641 aa 040 164 150 151 000642 aa 163 040 143 160 000643 aa 165 000 000 000 000644 0a 000102 7100 00 286 tra cycle 000645 287 cdps8_8k: 000645 aa 003774 2350 07 288 lda 511*4,dl init size variables for 000646 0a 000660 7550 00 289 sta ccolm1x4 8k cache 000647 aa 017777 2350 07 290 lda 8192-1,dl 000650 0a 000661 7550 00 291 sta clstcadd 000651 aa 760000 2350 07 292 lda -8192,dl 000652 0a 000662 7550 00 293 sta cnegcsz 000653 aa 004000 2350 07 294 lda 512*4,dl 000654 0a 000664 7550 00 295 sta ccolx4 000655 aa 004000 2350 03 296 lda =o4000,du 000656 0a 000663 7550 00 297 sta cclvincr 000657 0a 000714 7100 00 298 tra ccont 299 000660 300 ccolm1x4: bss ,1 column -1 * 4 000661 301 clstcadd: bss ,1 last cache address 000662 302 cnegcsz: bss ,1 comp. of cache size 000663 303 cclvincr: bss ,1 cache level incrementor 000664 304 ccolx4: bss ,1 column * 4 305 000665 aa 000400 3160 07 306 cl68: canq =o400,dl check for cache 000666 0a 000702 6010 00 307 tnz cl68_2k we have cache 000667 aa 012241 7020 00 308 tsx2 erpt 000670 aa 040 164 150 145 309 acc 'there is no 2k cache on this cpu' 000671 aa 162 145 040 151 000672 aa 163 040 156 157 000673 aa 040 062 153 040 000674 aa 143 141 143 150 000675 aa 145 040 157 156 000676 aa 040 164 150 151 000677 aa 163 040 143 160 000700 aa 165 000 000 000 000701 0a 000102 7100 00 310 tra cycle 000702 311 cl68_2k: 000702 aa 000774 2350 07 312 lda 127*4,dl init size variables for 000703 0a 000660 7550 00 313 sta ccolm1x4 2k cache 000704 aa 003777 2350 07 314 lda 2048-1,dl 000705 0a 000661 7550 00 315 sta clstcadd 000706 aa 774000 2350 07 316 lda -2048,dl 000707 0a 000662 7550 00 317 sta cnegcsz 000710 aa 001000 2350 07 318 lda 128*4,dl 000711 0a 000664 7550 00 319 sta ccolx4 000712 aa 001000 2350 03 320 lda =o1000,du 000713 0a 000663 7550 00 321 sta cclvincr 000714 322 ccont: 000714 0a 000321 7020 00 323 tsx2 print_cache_header get necessary hdr out 000715 aa 000000 2350 07 324 lda 0,dl init cacheaddr 000716 0a 001001 7550 00 325 clp: sta cacheaddr 000717 0a 000354 7020 00 326 tsx2 print_cache_block print the normal cache block 000720 aa 777774 6200 00 327 eax0 -4 count levels 000721 aa 000000 6210 00 328 eax1 0 count contents 000722 0a 000562 2350 10 329 clp2: lda cache_dir+4,0 look at ctl word 000723 aa 000002 3150 03 330 cana cmr.level_full,du see if stuff there 331 " 332 " 333 " 334 " Change following instruction to 335 " 336 " tze clp2end 337 " 338 " to cause empty cache blocks not to be checked. 339 " 000724 0a 000767 0110 00 340 nop clp2end ignore no-fulls 341 342 000725 aa 777770 3750 03 343 ana cmr.address_mask,du isolate addr 000726 aa 000014 7710 00 344 arl cmr.address_shift 000727 0a 001001 0750 00 345 ada cacheaddr 000730 0a 001002 7550 00 346 sta cadr_temp 000731 0a 001146 7020 00 347 tsx2 absresolve analyze contents 000732 0a 001003 7100 00 348 tra cnocore notify printed output of no core 000733 aa 006005 7020 00 349 tsx2 print print out analysis 000734 0a 000562 2370 11 350 ldaq cache_contents,1 look at cache 000735 0a 001530 1170 00 351 cmpaq contents see if looks like core 000736 0a 000742 6010 00 352 tnz cnogo 353 000737 0a 000564 2370 11 354 ldaq cache_contents+2,1 000740 0a 001532 1170 00 355 cmpaq contents+2 000741 0a 000767 6000 00 356 tze clp2end this is ok 357 000742 aa 006003 7020 00 358 cnogo: tsx2 space clear out line 000743 0a 002413 2350 00 359 lda =hdiffer 000744 0a 002414 2360 00 360 ldq =hs- cor 000745 aa 012001 7550 00 361 sta line print out core contents 000746 aa 012002 7560 00 362 stq line+1 000747 0a 002415 2350 00 363 lda =he = " 000750 aa 012003 7550 00 364 sta line+2 365 000751 aa 777774 6270 00 366 eax7 -4 count words 000752 0a 001530 6260 00 367 eax6 contents print core, not cache 000753 aa 012004 6250 00 368 eax5 line+3 count output 000754 0a 002416 2350 00 369 clp3: lda =h " 000755 aa 000000 7550 15 370 sta 0,5 store delim 000756 aa 000000 2350 16 371 lda 0,6 get first word 000757 aa 012252 7020 00 372 tsx2 octwd convert 000760 aa 000001 7550 15 373 sta 1,5 store to line 000761 aa 000002 7560 15 374 stq 2,5 000762 aa 000003 6250 15 375 eax5 3,5 move on along line 000763 aa 000001 6260 16 376 eax6 1,6 move along contents 000764 aa 000001 6270 17 377 eax7 1,7 move along count 000765 0a 000754 6040 00 378 tmi clp3 000766 aa 006005 7020 00 379 tsx2 print print "different" line 380 000767 381 clp2end: 000767 aa 000004 6210 11 382 eax1 4,1 move along cache contents 000770 aa 000001 6200 10 383 eax0 1,0 move count 000771 0a 000722 6040 00 384 tmi clp2 loop along blocks 385 000772 aa 006003 7020 00 386 tsx2 space 000773 aa 006005 7020 00 387 tsx2 print 388 000774 0a 001001 2350 00 389 lda cacheaddr 000775 aa 000004 0750 07 390 ada 4,dl go to next block address 000776 0a 000664 1150 00 391 cmpa ccolx4 see if whole cache scanned 000777 0a 000716 6040 00 392 tmi clp 001000 0a 000102 7100 00 393 tra cycle done; 394 001001 395 cacheaddr: 001001 aa 000000 000000 396 oct 0 001002 397 cadr_temp: 001002 aa 000000 000000 398 oct 0 temp for full cache address 001003 aa 006003 7020 00 399 cnocore: tsx2 space blank buffer 001004 aa 000000 1004 00 400 mlr (),() move in message 001005 0a 001015 020015 401 desc6a ncomes,13 001006 aa 012001 020015 402 desc6a line,13 001007 0a 001002 2350 00 403 lda cadr_temp 001010 aa 012252 7020 00 404 tsx2 octwd convert address to octal 001011 aa 012004 7550 00 405 sta line+3 001012 aa 012005 7560 00 406 stq line+4 001013 aa 006005 7020 00 407 tsx2 print 001014 0a 000767 7100 00 408 tra clp2end 409 001015 aa 454 620 626 423 410 ncomes: bci 'no such core:' 001016 aa 302 023 465 125 001017 aa 150 000 000 000 411 412 " 413 414 include absresolve 14-1 001020 14-2 absresolve_init: 001020 0a 001060 7420 00 14-3 stx2 ar_initx 14-4 001021 0a 002417 2350 00 14-5 lda =h apnd 001022 aa 007000 6360 00 14-6 eaq apnd_org load append package 001023 aa 012206 7020 00 14-7 tsx2 ldcom 001024 0a 001061 7100 00 14-8 tra error_i error from ldcom 14-9 001025 aa 012210 7020 00 14-10 tsx2 cvinit init address conversion 001026 aa 6 01570 2371 00 14-11 ldaq com|dbr get dbr 001027 aa 007000 7570 00 14-12 staq cmdbr set for get pack 001030 aa 000100 2350 03 14-13 lda 64,du pass lth of apnd buffer 001031 aa 007026 7020 00 14-14 tsx2 getinit init apnd 14-15 001032 0a 002420 2350 00 14-16 lda =h sstn 001033 aa 006000 6360 00 14-17 eaq sstn_org load filling-up package 001034 aa 012206 7020 00 14-18 tsx2 ldcom THIS WILL WIPE OUT PRINTER PACK 001035 0a 001061 7100 00 14-19 tra error_i 001036 aa 006000 7020 00 14-20 tsx2 sstn_org fill up nametable if necessary 14-21 001037 0a 001634 7020 00 14-22 tsx2 initsstnt set up pathname resolution 14-23 14-24 001040 aa 007016 2350 00 14-25 lda sstsdw get sst abs addr 001041 aa 000014 7710 00 14-26 arl sdw.add_shift 001042 0a 001076 7550 00 14-27 sta sst_aa 14-28 001043 aa 000055 6360 00 14-29 eaq sst.cmp+1 locate core map 001044 aa 007032 7020 00 14-30 tsx2 apnd access lower wd of sst.cmp 001045 aa 007016 0000 00 14-31 arg sstsdw from SST... 001046 0a 001061 7100 00 14-32 tra error_i error from apnd 001047 aa 007004 2350 20 14-33 lda fetchout,* get that word. 001050 aa 000022 7710 00 14-34 arl 18 move to lower 001051 0a 001075 7550 00 14-35 sta cm_relbase save rel to sst 14-36 001052 aa 000037 6360 00 14-37 eaq sst.root_astep+1 get root_rel_astep 001053 aa 007032 7020 00 14-38 tsx2 apnd 001054 aa 007016 0000 00 14-39 arg sstsdw 001055 0a 001061 7100 00 14-40 tra error_i 001056 aa 007004 2350 20 14-41 lda fetchout,* 001057 0a 001077 7550 00 14-42 sta root_astep 14-43 14-44 001060 aa 000000 7100 00 14-45 ar_initx: tra *-* 14-46 001061 aa 012241 7020 00 14-47 error_i: tsx2 erpt 001062 aa 042 143 141 156 14-48 acc 'cant initialize variables from sst' 001063 aa 164 040 151 156 001064 aa 151 164 151 141 001065 aa 154 151 172 145 001066 aa 040 166 141 162 001067 aa 151 141 142 154 001070 aa 145 163 040 146 001071 aa 162 157 155 040 001072 aa 163 163 164 000 001073 0a 000200 7020 00 14-49 tsx2 fatal 14-50 " 14-51 " 14-52 " CONSTANTS 14-53 " 001074 aa 000000 000000 14-54 addr: oct 0 address being resolved 001075 aa 000000 000000 14-55 cm_relbase: oct 0 rel base of core map 001076 aa 000000 000000 14-56 sst_aa: oct 0 absolute sst base 001077 aa 000000 000000 14-57 root_astep: oct 0 rel-astep of root 001100 aa 000000 000000 14-58 astep: oct 0 rel-astep of segment 001101 aa 000000 000000 14-59 ptw_aa: oct 0 abs addr of ptw 001102 aa 000000 000000 14-60 ptw: oct 0 page table word 001103 aa 000000 000000 14-61 segno: oct 0 seg number of interest 001104 aa 000000 000000 14-62 sst_ptwp: oct 0 ptr to ptw, rel to sst 14-63 001105 aa 000000 0110 03 14-64 eight 001106 aa 000000 0110 03 001107 aa 000000 0110 03 001110 14-65 ar_regs: bss ,8 save for user's registers 001120 14-66 aste: bss ,12 image of aste 001134 14-67 cme: bss ,4 copy of core map entry 001140 14-68 pdme: bss ,4 copy of pdme when cme rws'ing 002000 14-69 equ page_size,1024 equ for page-size 000012 14-70 equ page_power,10 001144 aa 000000 000000 14-71 pgno_t: oct 0 temp 14-72 001145 aa 000000 000000 14-73 gt1: oct 0 fill_aste temp 000010 14-74 bool name_offset,10 there is no dir_entry.incl.alm 000014 14-75 bool ast_size,14 14-76 " 14-77 " 001146 14-78 absresolve: 14-79 " 14-80 " lda absaddr 14-81 " tsx2 absresolve 14-82 " tra no_such_core 14-83 " .. ok 'line' filled with resolution in BCD 14-84 001146 0a 001110 7530 00 14-85 sreg ar_regs save registers 001147 0a 002421 3750 00 14-86 ana =o77777774 adjust to 4 wd blk 001150 0a 001074 7550 00 14-87 sta addr hold argument 001151 aa 006003 7020 00 14-88 tsx2 space clear out line 001152 0a 001074 2350 00 14-89 lda addr restore arg 001153 0a 001511 7020 00 14-90 tsx2 verify_core get contents 001154 0a 001257 7100 00 14-91 tra ar_x return if no go 001155 0a 001111 2220 00 14-92 ldx2 ar_regs+1 incr return adr 001156 aa 000001 6220 12 14-93 eax2 1,2 001157 0a 001111 7420 00 14-94 stx2 ar_regs+1 14-95 001160 0a 001074 2350 00 14-96 lda addr get address 001161 aa 012252 7020 00 14-97 tsx2 octwd convert 001162 aa 000030 7370 00 14-98 lls 6*4 get 4 chars out 001163 0a 002422 2760 00 14-99 orq =h00 " fill out end 001164 aa 012001 7550 00 14-100 sta line put address in line 001165 aa 012002 7560 00 14-101 stq line+1 14-102 14-103 " 14-104 " Try to access core map entry. 14-105 " 001166 0a 001074 2360 00 14-106 ldq addr get address sought 001167 aa 000012 7720 00 14-107 qrl page_power get page number 001170 aa 000002 7360 00 14-108 qls 2 make into cmap index 001171 0a 001075 0360 00 14-109 adlq cm_relbase relativize to sst 001172 aa 000022 7360 00 14-110 qls 18 to upper 14-111 001173 aa 007034 7020 00 14-112 tsx2 get get the cme 001174 aa 007020 0000 00 14-113 arg cmpsdw 001175 0a 001134 000004 14-114 zero cme,4 001176 0a 001502 7100 00 14-115 tra f1_er 14-116 14-117 14-118 " 14-119 " If cme.ptwp exists, core is used in post-25-5 pc, 14-120 " regardless of threadedness. 14-121 14-122 " 14-123 001177 0a 001136 2200 00 14-124 ldx0 cme+cme.ptwp 001200 0a 001205 6010 00 14-125 tnz have_ptwp 14-126 001201 0a 001134 2340 00 14-127 szn cme+cme.fp No ptw. Could be unpaged, unused or deconfigured. 001202 0a 001465 6040 00 14-128 tmi unpaged_unclear "unused core", i.e., deconfigured. 001203 0a 001350 6000 00 14-129 tze unpaged not threaded, not deconf. Try unpaged. 001204 0a 001471 7100 00 14-130 tra unused "free page" 14-131 14-132 " 14-133 " If rws'ing, ptwp is really a pdmep 14-134 " 001205 14-135 have_ptwp: 14-136 " lxl1 cme+cme.flags support for PD removed 9/83 Sherman D. Sprague... 14-137 " canx1 cme.rws,du 14-138 " tze no_rws 14-139 " 14-140 " lda =hrws " get rws flag 14-141 " sta line+4 move into line 14-142 " ldq cme+cme.pdmep get pdme ptr 14-143 " 14-144 " tsx2 get get the pdme 14-145 " arg sstsdw from the sst. 14-146 " zero pdme,4 14-147 " tra f1_er 14-148 " 14-149 " 14-150 " ldx0 pdme+pdme.ptwp get ptwp if active 14-151 " tnz no_rws really is a ptwp 14-152 " ldaq nacmes 14-153 " sta line+6 14-154 " stq line+7 14-155 " tra ar_x exit 14-156 " 14-157 "nacmes: bci 'not active ' end remove-PD-support 9/83 14-158 14-159 001205 14-160 no_rws: 14-161 14-162 " 14-163 " Have a real ptwp. Must be active. Get aste. 14-164 " 001205 0a 001104 7400 00 14-165 stx0 sst_ptwp save rel ptr to ptw 001206 0a 001104 2360 00 14-166 ldq sst_ptwp set up in q. 14-167 14-168 " 14-169 " In post - 25-5 pc, we have aste in cme. 14-170 " 001207 0a 001136 7200 00 14-171 lxl0 cme+cme.astep 001210 0a 001212 6000 00 14-172 tze old_cme oh well. 001211 aa 000014 6360 10 14-173 eaq ast_size,0 001212 14-174 old_cme: 001212 0a 001272 7020 00 14-175 tsx2 fill_aste_given_ptwp find aste base 001213 0a 001100 7550 00 14-176 sta astep 14-177 " 14-178 " If has a parent, must be a hierarchy segment, can do pathname. 14-179 " 001214 0a 001122 2350 00 14-180 lda aste+aste.par_astep get par pointer 001215 aa 777777 3150 07 14-181 cana -1,dl see if par there 001216 0a 001312 6010 00 14-182 tnz hierarchy do pathname deal 14-183 14-184 " 14-185 " If has no parent, could be the root. 14-186 " 001217 0a 001100 2350 00 14-187 lda astep is this root? 001220 0a 001077 1150 00 14-188 cmpa root_astep 001221 0a 001312 6000 00 14-189 tze hierarchy do pathname 14-190 14-191 " 14-192 " Paged non-hierarchy segment. Try for global hardcore. 14-193 " 001222 0a 001100 2350 00 14-194 lda astep get pt addr 001223 aa 000014 6350 01 14-195 eaa ast_size,au 001224 aa 000022 7710 00 14-196 arl 18 001225 0a 001076 0350 00 14-197 adla sst_aa 001226 0a 001335 7020 00 14-198 tsx2 search_my_dseg_paged find it if there 001227 0a 001261 7100 00 14-199 tra paged_unclear somebody elses DS or PRDS 001230 0a 001103 7550 00 14-200 sta segno save seg number 14-201 14-202 " 14-203 " Known hardcore seg, not in hierarchy, or my DS or PRDS 14-204 " 001231 aa 007043 7020 00 14-205 tsx2 getsltname get slt name 001232 aa 012006 020152 14-206 desc6a line+5,136-(6*5) 001233 0a 001442 7100 00 14-207 tra error_1 error hard to accept here 14-208 001234 14-209 paged_data: 14-210 " 14-211 " Come here to print rel addrs for paged segs 14-212 " 001234 0a 001104 2350 00 14-213 lda sst_ptwp get sst-relative ptw addr 001235 0a 001100 1350 00 14-214 sbla astep deduct aste 001236 aa 000014 1350 03 14-215 sbla ast_size,du not to big, now. 001237 aa 000022 7710 00 14-216 arl 18 lower 001240 0a 001144 7550 00 14-217 sta pgno_t hold it right there 001241 aa 012252 7020 00 14-218 tsx2 octwd convert it out 001242 aa 000044 7370 00 14-219 lls 36 put in a 001243 aa 012261 7020 00 14-220 tsx2 bzel blank leading zeros 001244 aa 012002 7510 07 14-221 stca line+1,07 store page number 14-222 001245 0a 001144 2360 00 14-223 ldq pgno_t get page number 001246 aa 000012 7360 00 14-224 qls page_power 001247 0a 001144 7560 00 14-225 stq pgno_t 14-226 001250 0a 001074 2350 00 14-227 lda addr get desired addr 001251 aa 001777 3750 07 14-228 ana page_size-1,dl get page offset 001252 0a 001144 0350 00 14-229 adla pgno_t get full address 14-230 001253 14-231 any_data: 14-232 " 14-233 " Come here to print rel addr for any segment 001253 aa 012252 7020 00 14-234 tsx2 octwd convert to octal 001254 aa 000022 7370 00 14-235 lls 6*3 position 001255 aa 012003 7510 07 14-236 stca line+2,07 move to line 001256 aa 012004 7520 70 14-237 stcq line+3,70 14-238 001257 0a 001110 0730 00 14-239 ar_x: lreg ar_regs 001260 aa 000000 7100 12 14-240 tra 0,2 return to caller 14-241 001261 14-242 paged_unclear: "Unidentifiable paged seg, prob DS or PRDS 001261 0a 002423 2350 00 14-243 lda =hastep= 001262 aa 012006 7550 00 14-244 sta line+5 print rel_astep on line 001263 0a 001100 2350 00 14-245 lda astep 001264 aa 000022 7710 00 14-246 arl 18 001265 aa 012252 7020 00 14-247 tsx2 octwd 001266 aa 000044 7370 00 14-248 lls 36 move into a 001267 aa 012261 7020 00 14-249 tsx2 bzel prettify it 001270 aa 012007 7550 00 14-250 sta line+6 001271 0a 001234 7100 00 14-251 tra paged_data do rel addr printing 14-252 " 14-253 " 14-254 " subroutine to get astep given ptwp 14-255 " 14-256 14-257 " eaq rel_ptwp 14-258 " tsx2 get_astep_given_ptwp 14-259 " sta rel_astep,upper 14-260 14-261 " Also conveniently fills "aste" 14-262 14-263 001272 14-264 fill_aste_given_ptwp: 001272 0a 001311 7420 00 14-265 stx2 gagp_x save return 14-266 14-267 " Clever strategy by Noel M. fetches lower ast-candidates until they look right! 14-268 001273 aa 777774 3760 03 14-269 anq =o777774,du ASTE's must be mod 4 001274 aa 777764 6360 02 14-270 eaq -ast_size,qu try this as an aste 001275 0a 001145 7560 00 14-271 gp_loop: stq gt1 keep it if it turns out right 14-272 001276 aa 007034 7020 00 14-273 tsx2 get 001277 aa 007016 0000 00 14-274 arg sstsdw 001300 0a 001120 000014 14-275 zero aste,ast_size fill the aste buffer 001301 0a 001502 7100 00 14-276 tra f1_er 14-277 001302 0a 001133 2350 00 14-278 lda aste+aste.marker_word test 001303 aa 000002 3150 07 14-279 cana =o2,dl 001304 0a 001310 6010 00 14-280 tnz gp_got this must be it! 14-281 001305 0a 001145 2360 00 14-282 ldq gt1 try 4 lower 001306 aa 777774 6360 02 14-283 eaq -4,qu 001307 0a 001275 7100 00 14-284 tra gp_loop 14-285 001310 0a 001145 2350 00 14-286 gp_got: lda gt1 return goodness 14-287 001311 aa 000000 7100 00 14-288 gagp_x: tra *-* 14-289 14-290 " 14-291 " 14-292 " Hierarchy segment. Get a pathname from the novel SSTN package. 14-293 " 14-294 " 001312 14-295 hierarchy: 14-296 001312 0a 001100 2350 00 14-297 lda astep get the astep 001313 aa 777777 3750 03 14-298 ana -1,du just to be safe. 001314 aa 000014 6350 01 14-299 eaa ast_size,au pt base 001315 aa 000006 7710 00 14-300 arl 6 shift to add place 001316 aa 007016 0350 00 14-301 adla sstsdw make an sdw-first-half 001317 0a 002424 2360 00 14-302 ldq =v15/1,3/sdw.read 14-303 001320 0a 001755 7020 00 14-304 tsx2 getsstntname magic!!! 001321 aa 012006 020152 14-305 desc6a line+5,136-(6*5) 001322 0a 001324 7100 00 14-306 tra hierarchy_fail 001323 0a 001234 7100 00 14-307 tra paged_data process this paged seg now. 14-308 001324 14-309 hierarchy_fail: 001324 aa 000000 1004 00 14-310 mlr (),() 001325 0a 001330 020025 14-311 desc6a hfailmess,21 001326 aa 012006 020152 14-312 desc6a line+5,136-(6*5) 001327 0a 001234 7100 00 14-313 tra paged_data 14-314 001330 14-315 hfailmess: 001330 aa 522 023 214 545 14-316 bci '- cannot get pathname ' 001331 aa 466 320 272 563 001332 aa 204 721 633 045 001333 aa 214 425 202 020 001334 aa 200 000 000 000 14-317 " 14-318 " 14-319 " Search a dseg for a paged sdw 14-320 " 14-321 14-322 " 14-323 " lda absaddr 14-324 " tsx2 search_my_dseg_paged (absolute match req'd) 14-325 " tra not_found 14-326 " sta segno (upper) 14-327 14-328 001335 14-329 search_my_dseg_paged: 001335 0a 001401 7550 00 14-330 sta dssr save searching quantity 001336 0a 001403 7070 00 14-331 tsx7 smds trynext an sdw 001337 aa 200000 3160 07 14-332 canq sdw.unpaged,dl see if unpaged 001340 aa 000000 6010 17 14-333 tnz 0,7 dont like it- go back 001341 aa 000014 7710 00 14-334 arl sdw.add_shift isolate addr 001342 0a 001401 1150 00 14-335 cmpa dssr see if it is the one I seek 001343 aa 000000 6010 17 14-336 tnz 0,7 no - go back 001344 0a 001103 2350 00 14-337 lda segno get number wanted 001345 aa 000022 7350 00 14-338 als 18 move to au 001346 0a 001434 2220 00 14-339 ldx2 dssr_x get exit 001347 aa 000001 7100 12 14-340 tra 1,2 14-341 14-342 " 14-343 " 14-344 " Search dseg for an unpaged address 14-345 " 001350 0a 001074 2350 00 14-346 unpaged: lda addr 001351 0a 001401 7550 00 14-347 sta dssr save search quantity 001352 0a 001465 6220 00 14-348 eax2 unpaged_unclear init return address if not found 001353 0a 001403 7070 00 14-349 tsx7 smds try an sdw 001354 aa 200000 3160 07 14-350 canq sdw.unpaged,dl see if paged 001355 aa 000000 6000 17 14-351 tze 0,7 dont want paged, go back 001356 aa 000014 7710 00 14-352 arl sdw.add_shift get sdw address 001357 0a 001401 1150 00 14-353 cmpa dssr is it bgger than mine? 001360 aa 000000 6054 17 14-354 tpnz 0,7 if so, dont like it 001361 0a 001402 7550 00 14-355 sta ds_temp save base addr 001362 aa 377770 3760 03 14-356 anq sdw.bound,du 001363 aa 000025 7720 00 14-357 qrl 36-15 get bounds 001364 aa 000004 7360 00 14-358 qls 4 adjust to real size 001365 0a 001402 0760 00 14-359 adq ds_temp compute end 001366 aa 000020 0760 07 14-360 adq 16,dl adjust for anomaly 001367 0a 001401 1160 00 14-361 cmpq dssr is it in this seg? 001370 aa 000000 6044 17 14-362 tmoz 0,7 dont like it if my addr bigger than seg end 14-363 001371 0a 001103 2350 00 14-364 lda segno 001372 aa 000022 7350 00 14-365 als 18 move to au 001373 aa 007043 7020 00 14-366 tsx2 getsltname 001374 aa 012006 020152 14-367 desc6a line+5,136-(6*5) 001375 0a 001442 7100 00 14-368 tra error_1 001376 0a 001074 2350 00 14-369 lda addr get address 001377 0a 001402 1750 00 14-370 sba ds_temp subtract seg base 001400 0a 001253 7100 00 14-371 tra any_data print out rel offset 001401 aa 000000 000000 14-372 dssr: oct 0 save for comparison quantity 001402 aa 000000 000000 14-373 ds_temp: oct 0 save for seg base 14-374 " 14-375 " 14-376 " This routine coroutines with its caller, whose first return address 14-377 " is the routine used to determine if he likes a proposed descriptor. 14-378 " Failure returns to this routine. 14-379 " 14-380 " 14-381 " 14-382 " tsx2 smds 14-383 " (decide if sdw meets requirement) 14-384 " tnz 0,7 if does not (SDW in AQ) 14-385 " .. ok 14-386 " 14-387 001403 14-388 smds: 001403 0a 001434 7420 00 14-389 stx2 dssr_x save exit 001404 0a 001424 7470 00 14-390 stx7 smd_call save comparison routine 001405 0a 001103 4500 00 14-391 stz segno init seg number 14-392 001406 aa 007000 2370 00 14-393 ldaq cmdbr get the dbr value 001407 aa 000004 2750 07 14-394 ora sdw.df,dl make it look like something 001410 0a 001436 7570 00 14-395 staq dbrt save for apnd 001411 aa 000000 6210 00 14-396 eax1 0 count seg address 001412 aa 000000 6230 00 14-397 eax3 0 count bufadr 14-398 001413 aa 000000 6360 11 14-399 smd_lp: eaq 0,1 get seg address 001414 aa 007032 7020 00 14-400 tsx2 apnd get some words 001415 0a 001436 0000 00 14-401 arg dbrt sdw is dbr 001416 0a 001454 7100 00 14-402 tra error_2 001417 aa 000000 6230 00 14-403 eax3 0 scan buffer 14-404 001420 aa 007005 7430 00 14-405 smdl1: stx3 fetchout+1 ready to look.... 001421 aa 007004 2370 20 14-406 ldaq fetchout,* 001422 0a 001440 1170 00 14-407 cmpaq fraud_sdw ignore sdws for all of core 001423 0a 001425 6000 00 14-408 tze ignore_fraud 001424 aa 000000 7070 00 14-409 smd_call: tsx7 *-* propose it to caller 001425 14-410 ignore_fraud: 001425 0a 001103 0540 00 14-411 aos segno didnt like it 001426 aa 000002 6230 13 14-412 eax3 2,3 try next addr in dseg 001427 aa 000100 1030 03 14-413 cmpx3 64,du see if new buf needed 001430 0a 001420 6040 00 14-414 tmi smdl1 do more if more in this buffer 001431 aa 000100 6210 11 14-415 eax1 64,1 increment address being sought 001432 aa 002000 1010 03 14-416 cmpx1 =o2000,du stop after first page 001433 0a 001413 6040 00 14-417 tmi smd_lp 001434 aa 000000 7100 00 14-418 dssr_x: tra *-* exit if not found 001435 aa 000000 0110 03 14-419 even 001436 aa 000000 000000 14-420 dbrt: oct 0,0 temp for dbr 001437 aa 000000 000000 001440 14-421 fraud_sdw: 001440 aa 000000 000004 14-422 oct 000000000004,777775300000 sdw for undefined segments 001441 aa 777775 300000 14-423 001442 aa 012241 7020 00 14-424 error_1: tsx2 erpt 001443 aa 031 143 141 156 14-425 acc 'cant get slt name, seg ^o' 001444 aa 164 040 147 145 001445 aa 164 040 163 154 001446 aa 164 040 156 141 001447 aa 155 145 054 040 001450 aa 163 145 147 040 001451 aa 136 157 000 000 001452 0a 001103 0000 00 14-426 arg segno 001453 0a 000200 7020 00 14-427 tsx2 fatal 001454 aa 012241 7020 00 14-428 error_2: tsx2 erpt 001455 aa 026 143 141 156 14-429 acc 'cant search ds, dbr ^w' 001456 aa 164 040 163 145 001457 aa 141 162 143 150 001460 aa 040 144 163 054 001461 aa 040 144 142 162 001462 aa 040 136 167 000 001463 aa 007000 0000 00 14-430 arg cmdbr 001464 0a 000200 7020 00 14-431 tsx2 fatal 14-432 " 14-433 001465 14-434 unpaged_unclear: 001465 0a 001476 2370 00 14-435 ldaq upuc 001466 aa 012007 7550 00 14-436 sta line+6 001467 aa 012010 7560 00 14-437 stq line+7 001470 0a 001257 7100 00 14-438 tra ar_x 14-439 001471 14-440 unused: 001471 0a 001500 2370 00 14-441 ldaq uu 001472 aa 012007 7550 00 14-442 sta line+6 001473 aa 012010 7560 00 14-443 stq line+7 001474 0a 001257 7100 00 14-444 tra ar_x 001475 aa 000000 0110 03 14-445 even 001476 aa 644 564 622 524 14-446 upuc: bci 'unused core ' 001477 aa 202 346 512 520 001500 aa 265 125 252 047 14-447 uu: bci 'free page ' 001501 aa 212 725 202 020 14-448 " 14-449 " 001502 aa 012241 7020 00 14-450 f1_er: tsx2 erpt 001503 aa 020 146 145 164 14-451 acc 'fetch/apnd error' 001504 aa 143 150 057 141 001505 aa 160 156 144 040 001506 aa 145 162 162 157 001507 aa 162 000 000 000 001510 0a 000102 7100 00 14-452 tra cycle 14-453 001511 14-454 verify_core: 001511 0a 001515 7420 00 14-455 stx2 vc_x 001512 aa 000014 7350 00 14-456 als 12 to upper 001513 aa 007010 7550 00 14-457 sta fetchin 14-458 001514 aa 007037 7020 00 14-459 tsx2 fetch try to get words 001515 aa 000000 7100 00 14-460 vc_x: tra *-* 001516 aa 007004 3700 20 14-461 epp xs1,fetchout,* point at word 001517 aa 4 00000 2371 00 14-462 ldaq xs1|0 001520 0a 001530 7570 00 14-463 staq contents 001521 aa 4 00002 2371 00 14-464 ldaq xs1|2 001522 0a 001532 7570 00 14-465 staq contents+2 001523 0a 001515 2220 00 14-466 ldx2 vc_x 001524 aa 000001 7100 12 14-467 tra 1,2 14-468 001525 aa 000000 0110 03 14-469 eight 001526 aa 000000 0110 03 001527 aa 000000 0110 03 001530 14-470 contents: bss ,4 14-471 001534 14-472 bss patchroom,64 14-473 14-474 include sstn_equ 15-1 15-2 " Begin include file ...... sstn_equ.incl.alm 15-3 " Created 5/11/75 by Noel I. Morris 15-4 " Modified 8/79 by R.J.C. Kissel to use expanded BOS. 15-5 006000 15-6 bool sstn_org,6000 15-7 15-8 15-9 " End of include file ...... sstn_equ.incl.alm 15-10 14-475 14-476 include sstnt 16-1 16-2 16-3 " BEGIN INCLUDE FILE sstnt.incl.alm 16-4 000000 16-5 equ sstnt.valid_word,0 400000 16-6 bool sstnt.valid,400000 "DU 16-7 000001 16-8 equ sstnt.multics_or_bos,1 16-9 000002 16-10 equ sstnt.fill_time,2 16-11 000010 16-12 equ sstnt.ast_sizes,8 16-13 000014 16-14 equ sstnt.ast_name_offsets,12 16-15 000020 16-16 equ sstnt.ast_offsets,16 16-17 000030 16-18 equ sstnt.names,24 16-19 000011 16-20 equ sstnt_name_length,9 16-21 16-22 "END INCLUDE FILE sstnt.incl.alm 14-477 14-478 14-479 include bos_sstnt_man 17-1 " 17-2 " Begin include file ...... bos_sstnt_man.incl.alm 17-3 17-4 " 17-5 " SST Name Table management for BOS. 17-6 " 17-7 " 04/17/75 by Bernard Greenberg, with help from Richard G. Bratt. 17-8 " 17-9 17-10 " 17-11 " tsx2 initsstnt to set up package 17-12 " 17-13 001634 17-14 initsstnt: 001634 0a 001674 7420 00 17-15 stx2 ssni.x2 save exit 17-16 001635 0a 001717 4500 00 17-17 stz ssn.valid assume table not valid 17-18 001636 aa 007016 2370 00 17-19 ldaq sstsdw get SDW for SST segment 001637 0a 002425 3750 00 17-20 ana =o777777770000 set up base and bounds 001640 0a 001714 7550 00 17-21 sta ssn.sstbase 001641 aa 000025 7720 00 17-22 qrl 36-15 isolate bounds 001642 aa 000001 0360 07 17-23 adlq 1,dl 001643 aa 000020 7360 00 17-24 qls 4+12 16 to 1 001644 0a 001715 7560 00 17-25 stq ssn.sstbase+1 relocate top of SST 17-26 001645 aa 007042 7020 00 17-27 tsx2 sltsearch look up name table 001646 0a 001721 0000 00 17-28 arg ssn.sstntname 001647 0a 001675 7100 00 17-29 tra ssni.fail 001650 aa 007027 7020 00 17-30 tsx2 getsdw 001651 0a 001675 7100 00 17-31 tra ssni.fail 001652 0a 001675 7100 00 17-32 tra ssni.fail 001653 0a 001712 7570 00 17-33 staq ssn.sstnt_sdw 17-34 001654 aa 000036 6360 00 17-35 eaq sst.root_astep get root astep 001655 aa 007032 7020 00 17-36 tsx2 apnd 001656 aa 007016 0000 00 17-37 arg sstsdw 001657 0a 001675 7100 00 17-38 tra ssni.fail 001660 aa 007004 2370 20 17-39 ldaq fetchout,* 001661 0a 001716 7560 00 17-40 stq ssn.root_astep save root astep 17-41 17-42 001662 aa 000000 6360 00 17-43 eaq 0 get sstnt header 001663 aa 007034 7020 00 17-44 tsx2 get 001664 0a 001712 0000 00 17-45 arg ssn.sstnt_sdw 001665 0a 001725 000030 17-46 zero ssn.sstnt,sstnt.names buffer for this 001666 0a 001675 7100 00 17-47 tra ssni.fail 17-48 001667 0a 001725 2350 00 17-49 lda ssn.sstnt+sstnt.valid_word 001670 0a 001702 6000 00 17-50 tze sstnt_not_valid 001671 0a 001717 7550 00 17-51 sta ssn.valid 17-52 001672 aa 012256 6350 51 17-53 eaa asgetab,i get addr of ASCII to GEBCD table 001673 0a 002044 7550 00 17-54 sta gpn.tab 3rd desc of MVT cnnot be ID 17-55 001674 aa 000000 7100 00 17-56 ssni.x2: tra *-* 17-57 17-58 " 17-59 " Error exits. 17-60 " 17-61 001675 17-62 ssni.fail: 001675 aa 012241 7020 00 17-63 tsx2 erpt 001676 aa 010 156 157 040 17-64 acc "no sstnt" 001677 aa 163 163 164 156 001700 aa 164 000 000 000 001701 0a 001674 7100 00 17-65 tra ssni.x2 17-66 001702 17-67 sstnt_not_valid: 001702 aa 012241 7020 00 17-68 tsx2 erpt 001703 aa 020 163 163 164 17-69 acc "sstnt not filled" 001704 aa 156 164 040 156 001705 aa 157 164 040 146 001706 aa 151 154 154 145 001707 aa 144 000 000 000 001710 0a 001674 7100 00 17-70 tra ssni.x2 17-71 17-72 " 17-73 " Global constants for sstnt management 17-74 " 001711 aa 000000 0110 03 17-75 even 001712 17-76 ssn.sstnt_sdw: 001712 17-77 bss ,2 sdw for sst name table 001714 17-78 ssn.sstbase: 001714 aa 000000 000000 17-79 dec 0 base of SST 001715 aa 000000 000000 17-80 dec 0 top of SST 001716 17-81 ssn.root_astep: 001716 aa 000000 0000 00 17-82 arg 0 astep of root, upper 001717 17-83 ssn.valid: 001717 aa 000000 000000 17-84 dec 0 n/z if table valid 001720 aa 160 000 000 000 17-85 ssn.gthan:bci ">00000" a greater than 001721 17-86 ssn.sstntname: 001721 aa 000000 000012 17-87 dec 10 001722 aa 163 163 164 137 17-88 aci "sst_names_ " 001723 aa 156 141 155 145 001724 aa 163 137 040 040 001725 17-89 ssn.sstnt: 001725 17-90 bss ,sstnt.names buffer for name table header 17-91 17-92 " 17-93 17-94 " 17-95 " ldaq sdw 17-96 " tsx2 getsstntname to get pathname put where 17-97 " desc6a where(offset),length describes. 17-98 " tra not_reasonable_for_pathname 17-99 " 17-100 001755 17-101 getsstntname: 001755 0a 002102 7420 00 17-102 stx2 gpn.x2 save return 001756 0a 001717 2340 00 17-103 szn ssn.valid valid sstnt? 001757 0a 002102 6000 00 17-104 tze gpn.fail 001760 aa 200000 3160 07 17-105 canq sdw.unpaged,dl is it paged? 001761 0a 002102 6010 00 17-106 tnz gpn.not_pn no path here 001762 0a 002425 3750 00 17-107 ana =o777777770000 isolate address 001763 0a 001714 1350 00 17-108 sbla ssn.sstbase 001764 0a 002102 6040 00 17-109 tmi gpn.not_pn 001765 0a 001715 1150 00 17-110 cmpa ssn.sstbase+1 001766 0a 002102 6050 00 17-111 tpl gpn.not_pn 001767 aa 000006 7350 00 17-112 als 6 001770 aa 777764 6360 01 17-113 eaq -ast_size,au get astep in qu 001771 0a 002104 7560 00 17-114 stq gpn.astep 17-115 001772 aa 007034 7020 00 17-116 tsx2 get get the aste 001773 aa 007016 0000 00 17-117 arg sstsdw 001774 0a 002105 000014 17-118 zero gpn.aste,ast_size 001775 0a 002102 7100 00 17-119 tra gpn.not_pn 17-120 001776 0a 002102 2220 00 17-121 ldx2 gpn.x2 restore X2 001777 aa 000000 2360 12 17-122 ldq 0,2 get descriptor 002000 0a 002100 7560 00 17-123 stq gpn.desc set it 002001 aa 007777 3760 07 17-124 anq =o7777,dl extract length from descriptor 002002 0a 002122 7560 00 17-125 stq gpn.offset and set initial offset into buffer 002003 0a 002121 4500 00 17-126 stz gpn.curlen no chars yet. 17-127 002004 0a 002107 7270 00 17-128 lxl7 gpn.aste+aste.par_astep is there a parent? 002005 0a 002012 6010 00 17-129 tnz gpn.yes_pn 17-130 002006 0a 002104 2360 00 17-131 ldq gpn.astep is this the root? 002007 0a 001716 1160 00 17-132 cmpq ssn.root_astep 002010 0a 002047 6000 00 17-133 tze gpn.isroot 002011 0a 002102 7100 00 17-134 tra gpn.not_pn if not, error 17-135 002012 17-136 gpn.yes_pn: 17-137 17-138 " 17-139 17-140 " 17-141 " This segment is a legitimate descendent of the root. 17-142 " Cons together pathname. 17-143 002012 17-144 gpn.loop: 002012 0a 002104 2360 00 17-145 ldq gpn.astep get astep 002013 aa 000022 7720 00 17-146 qrl 18 002014 aa 000003 6270 00 17-147 eax7 3 figure out ptsi by pool 002015 0a 001745 1160 17 17-148 gpn.1: cmpq ssn.sstnt+sstnt.ast_offsets,7 002016 0a 002022 6050 00 17-149 tpl gpn.got_ptsi 002017 aa 777777 6270 17 17-150 eax7 -1,7 002020 0a 002102 6040 00 17-151 tmi gpn.fail messed up if minus 002021 0a 002015 7100 00 17-152 tra gpn.1 smaller pool 17-153 002022 17-154 gpn.got_ptsi: 002022 0a 001745 1360 17 17-155 sblq ssn.sstnt+sstnt.ast_offsets,7 002023 aa 000000 2350 07 17-156 lda 0,dl set up for divide 002024 0a 001735 5060 17 17-157 div ssn.sstnt+sstnt.ast_sizes,7 figure out # in pool 002025 0a 001741 0360 17 17-158 adlq ssn.sstnt+sstnt.ast_name_offsets,7 figure out name # 002026 aa 000011 4020 07 17-159 mpy sstnt_name_length,dl 002027 aa 000030 6360 06 17-160 eaq sstnt.names,ql address name in table 17-161 002030 aa 007034 7020 00 17-162 tsx2 get fetch the name 002031 0a 001712 0000 00 17-163 arg ssn.sstnt_sdw 002032 0a 002162 000011 17-164 zero gpn.namebuf,sstnt_name_length 002033 0a 002102 7100 00 17-165 tra gpn.fail 17-166 17-167 " 17-168 " See if new entry name will fit. 17-169 " 002034 0a 002162 3360 00 17-170 lcq gpn.namebuf is there anything there? 002035 0a 002102 6000 00 17-171 tze gpn.fail no, fail on whole name 002036 0a 002122 0360 00 17-172 adlq gpn.offset subtract from current length 002037 0a 002047 6044 00 17-173 tmoz gpn.isroot too big, ignore entry name 17-174 002040 0a 002162 2350 00 17-175 lda gpn.namebuf get length 002041 aa 000046 1604 40 17-176 mvt (rl),(ql,rl) translate to GEBCD while at it 002042 0a 002163 000005 17-177 desc9a gpn.namebuf+1,al source is buffer 002043 0a 002126 020005 17-178 desc6a gpn.linebuf,al destination is line image 002044 aa 000000 0000 00 17-179 gpn.tab: arg *-* 002045 0a 002121 0550 00 17-180 asa gpn.curlen move char count 002046 0a 002122 7560 00 17-181 stq gpn.offset save new offset 17-182 002047 17-183 gpn.isroot: 002047 0a 002122 2360 00 17-184 ldq gpn.offset offset in QL 002050 aa 000001 1760 07 17-185 sbq 1,dl step back 1 for ">" 002051 0a 002073 6040 00 17-186 tmi gpn.done exit if no room for ">" 002052 aa 000006 1004 00 17-187 mlr (),(ql) 002053 0a 001720 020001 17-188 desc6a ssn.gthan,1 002054 0a 002126 020001 17-189 desc6a gpn.linebuf,1 002055 0a 002121 0540 00 17-190 aos gpn.curlen 002056 0a 002122 7560 00 17-191 stq gpn.offset save offset 17-192 17-193 " 17-194 " 17-195 " If there is a parent, cons on his name 17-196 " 17-197 002057 0a 002104 2360 00 17-198 ldq gpn.astep get astep of this seg 002060 aa 000002 6360 02 17-199 eaq aste.par_astep,qu point to parent word 002061 aa 007032 7020 00 17-200 tsx2 apnd get the rep 002062 aa 007016 0000 00 17-201 arg sstsdw 002063 0a 002102 7100 00 17-202 tra gpn.fail 17-203 002064 aa 007004 2350 20 17-204 lda fetchout,* 002065 aa 000022 7350 00 17-205 als 18 move to upper 002066 0a 002073 6000 00 17-206 tze gpn.done exit if was root 002067 0a 001716 1150 00 17-207 cmpa ssn.root_astep father the root? 002070 0a 002073 6000 00 17-208 tze gpn.done 002071 0a 002104 7550 00 17-209 sta gpn.astep 002072 0a 002012 7100 00 17-210 tra gpn.loop do the father 17-211 17-212 002073 17-213 gpn.done: 002073 0a 002102 2220 00 17-214 ldx2 gpn.x2 002074 0a 002122 2360 00 17-215 ldq gpn.offset get offset of pathname 002075 0a 002121 2350 00 17-216 lda gpn.curlen get current lngth 002076 aa 020000 1004 46 17-217 mlr (ql,rl),(),fill(020) whoosh 002077 0a 002126 020005 17-218 desc6a gpn.linebuf,al 002100 aa 000000 0000 00 17-219 gpn.desc: arg 0 17-220 002101 aa 000002 7100 12 17-221 tra 2,2 17-222 17-223 " 17-224 " Failure routines 17-225 " 17-226 002102 17-227 gpn.x2: 002102 17-228 gpn.fail: 002102 17-229 gpn.not_pn: 002102 aa 000000 6220 00 17-230 eax2 *-* 002103 aa 000001 7100 12 17-231 tra 1,2 17-232 17-233 " 17-234 " Work areas 17-235 " 002104 aa 000000 0000 00 17-236 gpn.astep:arg 0 astep of segment 002105 17-237 gpn.aste: bss ,ast_size ast image 002121 17-238 gpn.curlen: 002121 aa 000000 0000 00 17-239 arg 0 chars in linebuf 002122 17-240 gpn.offset: 002122 aa 000000 0000 00 17-241 arg 0 offset in linebuf 002123 aa 000000 0110 03 17-242 even 002124 17-243 gpn.linebufp: 002124 aa 077777 000043 17-244 its -1,1 pointer to last stored char 002125 aa 000001 000000 002126 17-245 bss gpn.linebuf,168/6 002162 17-246 gpn.namebuf: 002162 17-247 bss ,sstnt_name_length 17-248 17-249 " End of include file ...... bos_sstnt_man.incl.alm 17-250 14-480 415 002173 aa 000000 0110 03 416 even 002174 417 fault_temp: 002174 418 bss ,2 002176 419 patch_room: 002176 420 bss ,128 421 end LITERALS 002376 aa 204763 474227 002377 aa 777777 777777 002400 aa 202024 644447 002401 aa 202050 643163 002402 aa 202321 233025 002403 aa 202063 214725 002404 aa 202020 475163 002405 aa 202020 254626 002406 aa 777717 171717 002407 aa 000000 000003 002410 aa 235226 644343 002411 aa 266443 432020 002412 aa 254447 637020 002413 aa 243126 262551 002414 aa 625220 234651 002415 aa 252075 202020 002416 aa 202020 202020 002417 aa 202021 474524 002420 aa 202062 626345 002421 aa 000077 777774 002422 aa 000020 202020 002423 aa 216263 254775 002424 aa 000014 000000 002425 aa 777777 770000 NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 002426 5a 000003 000000 002427 5a 000016 600000 002430 aa 000000 000000 002431 55 000007 000002 002432 5a 000002 400003 002433 55 000006 000007 002434 aa 003 141 142 163 002435 55 000002 000003 002436 6a 000000 400002 002437 55 000012 000003 002440 aa 014 163 171 155 symbol_table 002441 aa 142 157 154 137 002442 aa 164 141 142 154 002443 aa 145 000 000 000 DEFINITIONS HASH TABLE 002444 aa 000000 000015 002445 aa 000000 000000 002446 aa 000000 000000 002447 aa 000000 000000 002450 aa 000000 000000 002451 aa 000000 000000 002452 aa 000000 000000 002453 5a 000007 000000 002454 aa 000000 000000 002455 aa 000000 000000 002456 aa 000000 000000 002457 aa 000000 000000 002460 aa 000000 000000 002461 aa 000000 000000 NO EXTERNAL NAMES NO TRAP POINTER WORDS TYPE PAIR BLOCKS 002462 aa 000001 000000 002463 aa 000000 000000 INTERNAL EXPRESSION WORDS LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 002426 000000 000002 aa 000000 000000 000003 aa 000000 000000 000004 aa 000000 000000 000005 aa 000000 000000 000006 22 000010 000010 000007 a2 000000 000000 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 131035 000007 aa 723073 626567 000010 aa 141154 155040 000011 aa 040040 040040 000012 aa 000024 000040 000013 aa 000034 000040 000014 aa 000044 000100 000015 aa 000010 000002 000016 aa 000064 000000 000017 aa 000000 000651 000020 aa 000000 000431 000021 aa 000621 000616 000022 aa 000627 000431 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 056141 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 000022 000066 aa 000176 000071 000067 aa 310157 121575 000070 aa 000000 131035 000071 aa 723074 600000 000072 aa 000215 000041 000073 aa 245432 560220 000074 aa 000000 110555 000075 aa 260135 200000 000076 aa 000226 000040 000077 aa 245432 560205 000100 aa 000000 111341 000101 aa 220414 400000 000102 aa 000236 000040 000103 aa 245432 560252 000104 aa 000000 107733 000105 aa 111404 200000 000106 aa 000246 000044 000107 aa 245432 560213 000110 aa 000000 112162 000111 aa 321563 400000 000112 aa 000257 000040 000113 aa 245432 560217 000114 aa 000000 111024 000115 aa 524460 600000 000116 aa 000267 000042 000117 aa 245432 560203 000120 aa 000000 111221 000121 aa 055103 400000 000122 aa 000300 000041 000123 aa 245432 560177 000124 aa 000000 110673 000125 aa 145162 200000 000126 aa 000311 000026 000127 aa 305736 051501 000130 aa 000000 113324 000131 aa 322064 400000 000132 aa 000317 000027 000133 aa 305736 045553 000134 aa 000000 113324 000135 aa 322064 200000 000136 aa 000325 000026 000137 aa 305736 045751 000140 aa 000000 111347 000141 aa 432071 000000 000142 aa 000333 000045 000143 aa 245432 560216 000144 aa 000000 107733 000145 aa 111400 600000 000146 aa 000345 000043 000147 aa 245432 560223 000150 aa 000000 107733 000151 aa 111402 000000 000152 aa 000356 000041 000153 aa 305736 045674 000154 aa 000000 102101 000155 aa 047512 400000 000156 aa 000367 000044 000157 aa 245432 560212 000160 aa 000000 112162 000161 aa 321566 600000 000162 aa 000400 000042 000163 aa 245432 560300 000164 aa 000000 106615 000165 aa 362652 200000 000166 aa 000411 000030 000167 aa 305736 051464 000170 aa 000000 102611 000171 aa 327745 600000 000172 aa 000417 000047 000173 aa 245432 560206 000174 aa 000000 110232 000175 aa 252245 600000 000176 aa 076165 163145 >user_dir_dir>SysMaint>Schroth>work>make_listings>abs.alm 000177 aa 162137 144151 000200 aa 162137 144151 000201 aa 162076 123171 000202 aa 163115 141151 000203 aa 156164 076123 000204 aa 143150 162157 000205 aa 164150 076167 000206 aa 157162 153076 000207 aa 155141 153145 000210 aa 137154 151163 000211 aa 164151 156147 000212 aa 163076 141142 000213 aa 163056 141154 000214 aa 155040 040040 000215 aa 076154 144144 >ldd>bos>include>bos_sdw.incl.alm 000216 aa 076142 157163 000217 aa 076151 156143 000220 aa 154165 144145 000221 aa 076142 157163 000222 aa 137163 144167 000223 aa 056151 156143 000224 aa 154056 141154 000225 aa 155040 040040 000226 aa 076154 144144 >ldd>bos>include>bosequ.incl.alm 000227 aa 076142 157163 000230 aa 076151 156143 000231 aa 154165 144145 000232 aa 076142 157163 000233 aa 145161 165056 000234 aa 151156 143154 000235 aa 056141 154155 000236 aa 076154 144144 >ldd>bos>include>pt_equ.incl.alm 000237 aa 076142 157163 000240 aa 076151 156143 000241 aa 154165 144145 000242 aa 076160 164137 000243 aa 145161 165056 000244 aa 151156 143154 000245 aa 056141 154155 000246 aa 076154 144144 >ldd>bos>include>bos_common.incl.alm 000247 aa 076142 157163 000250 aa 076151 156143 000251 aa 154165 144145 000252 aa 076142 157163 000253 aa 137143 157155 000254 aa 155157 156056 000255 aa 151156 143154 000256 aa 056141 154155 000257 aa 076154 144144 >ldd>bos>include>bos_tv.incl.alm 000260 aa 076142 157163 000261 aa 076151 156143 000262 aa 154165 144145 000263 aa 076142 157163 000264 aa 137164 166056 000265 aa 151156 143154 000266 aa 056141 154155 000267 aa 076154 144144 >ldd>bos>include>apnd_equ.incl.alm 000270 aa 076142 157163 000271 aa 076151 156143 000272 aa 154165 144145 000273 aa 076141 160156 000274 aa 144137 145161 000275 aa 165056 151156 000276 aa 143154 056141 000277 aa 154155 040040 000300 aa 076154 144144 >ldd>bos>include>bos_ptw.incl.alm 000301 aa 076142 157163 000302 aa 076151 156143 000303 aa 154165 144145 000304 aa 076142 157163 000305 aa 137160 164167 000306 aa 056151 156143 000307 aa 154056 141154 000310 aa 155040 040040 000311 aa 076154 144144 >ldd>incl>sst.incl.alm 000312 aa 076151 156143 000313 aa 154076 163163 000314 aa 164056 151156 000315 aa 143154 056141 000316 aa 154155 040040 000317 aa 076154 144144 >ldd>incl>aste.incl.alm 000320 aa 076151 156143 000321 aa 154076 141163 000322 aa 164145 056151 000323 aa 156143 154056 000324 aa 141154 155040 000325 aa 076154 144144 >ldd>incl>cmp.incl.alm 000326 aa 076151 156143 000327 aa 154076 143155 000330 aa 160056 151156 000331 aa 143154 056141 000332 aa 154155 040040 000333 aa 076154 144144 >ldd>bos>include>cache_print.incl.alm 000334 aa 076142 157163 000335 aa 076151 156143 000336 aa 154165 144145 000337 aa 076143 141143 000340 aa 150145 137160 000341 aa 162151 156164 000342 aa 056151 156143 000343 aa 154056 141154 000344 aa 155040 040040 000345 aa 076154 144144 >ldd>bos>include>get_cache.incl.alm 000346 aa 076142 157163 000347 aa 076151 156143 000350 aa 154165 144145 000351 aa 076147 145164 000352 aa 137143 141143 000353 aa 150145 056151 000354 aa 156143 154056 000355 aa 141154 155040 000356 aa 076154 144144 >ldd>incl>cache_mode_reg.incl.alm 000357 aa 076151 156143 000360 aa 154076 143141 000361 aa 143150 145137 000362 aa 155157 144145 000363 aa 137162 145147 000364 aa 056151 156143 000365 aa 154056 141154 000366 aa 155040 040040 000367 aa 076154 144144 >ldd>bos>include>absresolve.incl.alm 000370 aa 076142 157163 000371 aa 076151 156143 000372 aa 154165 144145 000373 aa 076141 142163 000374 aa 162145 163157 000375 aa 154166 145056 000376 aa 151156 143154 000377 aa 056141 154155 000400 aa 076154 144144 >ldd>bos>include>sstn_equ.incl.alm 000401 aa 076142 157163 000402 aa 076151 156143 000403 aa 154165 144145 000404 aa 076163 163164 000405 aa 156137 145161 000406 aa 165056 151156 000407 aa 143154 056141 000410 aa 154155 040040 000411 aa 076154 144144 >ldd>incl>sstnt.incl.alm 000412 aa 076151 156143 000413 aa 154076 163163 000414 aa 164156 164056 000415 aa 151156 143154 000416 aa 056141 154155 000417 aa 076154 144144 >ldd>bos>include>bos_sstnt_man.incl.alm 000420 aa 076142 157163 000421 aa 076151 156143 000422 aa 154165 144145 000423 aa 076142 157163 000424 aa 137163 163164 000425 aa 156164 137155 000426 aa 141156 056151 000427 aa 156143 154056 000430 aa 141154 155040 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number 1146 absresolve abs: 190, 249, 347, absresolve: 78. 1020 absresolve_init abs: 41, absresolve: 2. 1074 addr absresolve: 54, 87, 89, 96, 106, 227, 346, 369. 12233 amaxio bos_tv: 48. 12224 amdvt bos_tv: 41. 12225 amfirst bos_tv: 42. 12226 amlast bos_tv: 43. 100 amptwptr bos_common: 11. 0 amptwregs bos_common: 10. 400 amsdwptr bos_common: 13. 200 amsdwregs bos_common: 12. 1253 any_data absresolve: 231, 371. 1300 aphist bos_common: 17. 7032 apnd apnd_equ: 27, absresolve: 30, 38, 400, bos_sstnt_man: 36, 200. 7000 apnd_org apnd_equ: 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, absresolve: 6. 12040 arg abs: 78, 79, 90, 111, 189, 198, 272, bos_tv: 14, 15. 12222 argbos bos_tv: 39. 17 arglen bosequ: 17, bos_tv: 15, 16, 17. 12223 argmul bos_tv: 40. 12201 arg_count bos_tv: 22. 1060 ar_initx absresolve: 3, 45. 1110 ar_regs absresolve: 65, 85, 92, 94, 239. 1257 ar_x absresolve: 91, 239, 438, 444. 12255 asge bos_tv: 66. 12256 asgetab bos_tv: 67, bos_sstnt_man: 53. 1120 aste absresolve: 66, 180, 275, 278. 4000 aste.any_access_on aste: 49. 5 aste.any_access_on_word aste: 48. 0 aste.bp aste: 18. 777 aste.csl_mask aste: 92. 33 aste.csl_shift aste: 91. 12 aste.csl_word aste: 90. 200000 aste.damaged aste: 118. 13 aste.damaged_word aste: 117. 4 aste.ddnp aste: 106. 12 aste.ddnp_word aste: 105. 200 aste.deact_error aste: 57. 5 aste.deact_error_word aste: 56. 40000 aste.dirsw aste: 75. 5 aste.dirsw_word aste: 74. 2 aste.dius aste: 65. 5 aste.dius_word aste: 64. 400000 aste.dmpr_pad aste: 69. 5 aste.dmpr_pad_word aste: 68. 20 aste.dnzp aste: 102. 12 aste.dnzp_word aste: 101. 7 aste.dtm aste: 84. 6 aste.dtu aste: 83. 200000 aste.ehs aste: 71. 5 aste.ehs_word aste: 70. 400 aste.explicit_deact_ok aste: 55. 5 aste.explicit_deact_ok_word aste: 54. 400 aste.fmchanged aste: 94. 400000 aste.fmchanged1 aste: 116. 13 aste.fmchanged1_word aste: 115. 12 aste.fmchanged_word aste: 93. 200 aste.fms aste: 96. 12 aste.fms_word aste: 95. 40 aste.fm_damaged aste: 61. 5 aste.fm_damaged_word aste: 60. 0 aste.fp aste: 17. 40000 aste.gtms aste: 43. 5 aste.gtms_word aste: 42. 40 aste.gtpd aste: 100. 12 aste.gtpd_word aste: 99. 100000 aste.gtus aste: 41. 5 aste.gtus_word aste: 40. 20000 aste.hc aste: 45. 100 aste.hc_part aste: 59. 5 aste.hc_part_word aste: 58. 10000 aste.hc_sdw aste: 47. 5 aste.hc_sdw_word aste: 46. 5 aste.hc_word aste: 44. 13 aste.ht_fp aste: 114. 1 aste.infl aste: 20. 1 aste.infp aste: 21. 1000 aste.inhibit_cache aste: 53. 5 aste.inhibit_cache_word aste: 52. 200000 aste.init aste: 39. 5 aste.init_word aste: 38. 77 aste.marker_mask aste: 128. 0 aste.marker_shift aste: 127. 13 aste.marker_word aste: 126, absresolve: 278. 20000 aste.master_dir aste: 77. 5 aste.master_dir_word aste: 76. 777 aste.msl_mask aste: 30. 33 aste.msl_shift aste: 29. 4 aste.msl_word aste: 28. 20 aste.multi_class aste: 63. 5 aste.multi_class_word aste: 62. 1 aste.nid aste: 67. 5 aste.nid_word aste: 66. 100 aste.npfs aste: 98. 12 aste.npfs_word aste: 97. 777 aste.np_mask aste: 112. 0 aste.np_shift aste: 111. 12 aste.np_word aste: 110. 100000 aste.nqsw aste: 73. 5 aste.nqsw_word aste: 72. 100000 aste.pack_ovfl aste: 120. 13 aste.pack_ovfl_word aste: 119. 2 aste.par_astep aste: 24, absresolve: 180, bos_sstnt_man: 128, 199. 10 aste.per_process aste: 104. 12 aste.per_process_word aste: 103. 3 aste.ptsi_mask aste: 125. 6 aste.ptsi_shift aste: 124. 13 aste.ptsi_word aste: 123. 777 aste.pvtx_mask aste: 33. 22 aste.pvtx_shift aste: 32. 4 aste.pvtx_word aste: 31. 10 aste.quota aste: 86. 777 aste.records_mask aste: 109. 11 aste.records_shift aste: 108. 12 aste.records_word aste: 107. 2 aste.strp aste: 23. 40000 aste.synchronized aste: 122. 13 aste.synchronized_word aste: 121. 4000 aste.tqsw aste: 81. 5 aste.tqsw_word aste: 80. 3 aste.uid aste: 26. 11 aste.used aste: 88. 400000 aste.usedf aste: 37. 5 aste.usedf_word aste: 36. 10000 aste.volmap_seg aste: 79. 5 aste.volmap_seg_word aste: 78. 4 aste.vtocx aste: 34. 2000 aste.write_access_on aste: 51. 5 aste.write_access_on_word aste: 50. 1100 astep absresolve: 58, 176, 187, 194, 214, 245, 297. 0 aste_part.one aste: 136. 377 aste_part.three_mask aste: 141. 0 aste_part.three_shift aste: 140. 13 aste_part.three_word aste: 139. 1 aste_part.two aste: 137. 14 aste_part_size aste: 133. 14 aste_size aste: 15. 14 ast_size absresolve: 75, 173, 195, 215, 270, 275, 299, bos_sstnt_man: 113, 118, 237. 305 a_coreblocks abs: 216, 223, 224, 226, 227, 228, 239, 245, 264. 1573 bar bos_common: 26. 2 bf bosequ: 9. 7012 bosdmp apnd_equ: 16. 12217 bosmul bos_tv: 36. 12214 bosphy bos_tv: 33. 2012 bos_dvt bos_common: 53. 12261 bzel bos_tv: 70, absresolve: 220, 249. 625 cache abs: 96, 278. 1001 cacheaddr abs: 325, 345, 389, 395. 472 cache_block_addr cache_print: 35, 37, 43, 66, 127. 375 cache_block_loop cache_print: 55, 116. 460 cache_block_save_regs cache_print: 33, 119, 123. 562 cache_contents abs: 350, 354, cache_print: 98, get_cache: 58, 60, 89. 556 cache_dir abs: 329, cache_print: 46, 63, 76, get_cache: 50, 86. 555 cache_dump_mode_off get_cache: 36, 37, 61, 81, 102. 554 cache_dump_mode_on get_cache: 39, 56, 77. 604 cache_fail_temp get_cache: 93, 103, 104. 334 cache_hdr cache_print: 12, 24. 470 cache_octbuf cache_print: 57, 59, 68, 70, 89, 91, 102, 105, 125. 612 cache_parity_fault get_cache: 99, 101. 610 cache_parity_pair get_cache: 22, 25, 97. 436 cache_put_next cache_print: 97, 110. 606 cache_save_parity_pair get_cache: 24, 69, 95, 107. 602 cache_tempg get_cache: 19, 31, 44, 51, 91. 1002 cadr_temp abs: 346, 397, 403. 7022 castap apnd_equ: 21. 624 cch_gt_nopinst get_cache: 109, 113. 663 cclvincr abs: 297, 303, 321, get_cache: 66. 660 ccolm1x4 abs: 289, 300, 313, cache_print: 34, get_cache: 16. 664 ccolx4 abs: 295, 304, 319, 391, cache_print: 139. 714 ccont abs: 298, 322. 645 cdps8_8k abs: 283, 287. 354 chdrend cache_print: 12, 28. 12312 check_cpu_type abs: 279, bos_tv: 95. 12311 check_special_status bos_tv: 94. 12274 check_status bos_tv: 81. 12310 check_status_no_stat bos_tv: 93. 665 cl68 abs: 281, 306. 702 cl68_2k abs: 307, 311. 716 clp abs: 325, 392. 722 clp2 abs: 329, 384. 767 clp2end abs: 340, 356, 381, 408. 754 clp3 abs: 369, 378. 661 clstcadd abs: 291, 301, 315, get_cache: 29. 7000 cmdbr apnd_equ: 10, absresolve: 12, 393, 430. 2032 cmdlst bos_common: 68. 1134 cme absresolve: 67, 114, 124, 127, 171. 100 cme.abs_usable cmp: 17. 200 cme.abs_w cmp: 16. 2 cme.astep cmp: 23, absresolve: 171. 0 cme.bp cmp: 7. 7 cme.contr cmp: 20. 1 cme.devadd cmp: 9. 740000 cme.did_mask cmp: 11. 1000 cme.er cmp: 14. 1 cme.flags cmp: 10. 0 cme.fp cmp: 6, absresolve: 127. 4000 cme.io cmp: 13. 40 cme.notify_requested cmp: 18. 10 cme.phm_hedge cmp: 19. 3 cme.pin_counter cmp: 25. 2 cme.ptwp cmp: 22, absresolve: 124. 400 cme.removing cmp: 15. 10000 cme.synch_held cmp: 12. 3 cme.synch_page_entryp cmp: 26. 4 cme_size cmp: 4. 7020 cmpsdw apnd_equ: 20, absresolve: 113. 777770 cmr.address_mask abs: 343, cache_print: 64, cache_mode_reg: 12. 14 cmr.address_shift abs: 344, cache_print: 65, cache_mode_reg: 14. 400000 cmr.cache_1_on cache_mode_reg: 17. 200000 cmr.cache_2_on cache_mode_reg: 18. 10000 cmr.cache_to_reg_mode get_cache: 38, 78, cache_mode_reg: 21. 777760 cmr.camp_addr_mask cache_mode_reg: 13. 2000 cmr.column_full cache_print: 47, cache_mode_reg: 23. 4 cmr.dir_parity cache_mode_reg: 15. 40000 cmr.inst_from_cache cache_mode_reg: 20. 2 cmr.level_full abs: 330, cache_print: 77, cache_mode_reg: 16. 3 cmr.luf_reg_mask cache_mode_reg: 26. 100000 cmr.operands_from_cache cache_mode_reg: 19. 1400 cmr.rro_mask cache_print: 87, cache_mode_reg: 24. 10 cmr.rro_shift cache_print: 88, cache_mode_reg: 25. 4000 cmr.store_aside cache_mode_reg: 22. 1075 cm_relbase absresolve: 35, 55, 109. 662 cnegcsz abs: 293, 302, 317, get_cache: 30. 1003 cnocore abs: 348, 399. 742 cnogo abs: 352, 358. 6 com abs: 215, bosequ: 14, get_cache: 27, absresolve: 11. 7036 comp apnd_equ: 31. 3000 conf bos_common: 85, 86. 20 confl bos_common: 87. 12272 connect_iom bos_tv: 79. 1530 contents abs: 351, 355, 367, absresolve: 463, 465, 470. 2003 corearea bos_common: 47, get_cache: 27. 1610 coreblocks abs: 215, bos_common: 30. 242 corelp1 abs: 223, 232. 240 coresort abs: 219, 234. 700 cuhist bos_common: 15. 2027 curtcmd bos_common: 66. 12270 cvclock bos_tv: 77. 12210 cvinit bos_tv: 29, absresolve: 10. 12227 cvnamla bos_tv: 44. 102 cycle abs: 34, 38, 118, 126, 142, 168, 194, 200, 262, 286, 310, 393, absresolve: 452. 110 cyclesw abs: 119, 125, 128. 2024 d355_state bos_common: 63. 12060 darg abs: 80, 81, 113, bos_tv: 15, 16. 1570 dbr bos_common: 24, absresolve: 11. 1436 dbrt absresolve: 395, 401, 420. 2000 dir bos_common: 43, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 76. 600 dirlen bos_common: 70, 76. 2014 diskchanno bos_common: 55. 12236 disk_brief bos_tv: 51. 271 dlp abs: 248, 256. 0 ds bosequ: 7. 1401 dssr absresolve: 330, 335, 347, 353, 361, 372. 1434 dssr_x absresolve: 339, 389, 418. 1402 ds_temp absresolve: 355, 359, 370, 373. 235 dump abs: 92, 210. 260 dumplp abs: 239, 261. 473 dump_all_cache cache_print: 130. 476 dump_all_cache_loop cache_print: 136, 140. 502 dump_all_cache_x2 cache_print: 132, 142. 316 dump_temp abs: 251, 253, 269. 317 d_error abs: 250, 272. 12100 earg bos_tv: 16, 17. 7000 econf bos_common: 86, 90. 1100 eishist bos_common: 16. 301 end_dmplp abs: 241, 258. 12243 erbuf bos_tv: 56. 12242 ercv bos_tv: 55. 12241 erpt abs: 115, 146, 149, 157, 170, 177, 196, 284, 308, bos_tv: 54, absresolve: 47, 424, 428, 450, bos_sstnt_man: 63, 68. 1442 error_1 absresolve: 207, 368, 424. 1454 error_2 absresolve: 402, 428. 1061 error_i absresolve: 8, 19, 32, 40, 47. 1502 f1_er absresolve: 115, 276, 450. 200 fatal abs: 46, 175, absresolve: 49, 427, 431. 1576 faultreg bos_common: 28. 2174 fault_temp abs: 144, 148, 417. 2023 fdump_state bos_common: 62. 7037 fetch apnd_equ: 32, absresolve: 459. 7010 fetchin apnd_equ: 14, absresolve: 457. 7004 fetchout apnd_equ: 12, absresolve: 33, 41, 405, 406, 461, bos_sstnt_man: 39, 204. 7041 fetch_use_buffer apnd_equ: 34. 5 fgb bosequ: 13. 1272 fill_aste_given_ptwp absresolve: 175, 264. 12305 find_disk bos_tv: 90. 12307 find_part bos_tv: 92. 12306 find_root bos_tv: 91. 2000 firmware_bit bosequ: 20. 40 fix_arg_loop abs: 77, 84. 12120 fltscu abs: 152, 153, 154, 155, 159, 160, 161, 162, bos_tv: 17, get_cache: 20. 1440 fraud_sdw absresolve: 407, 421. 126 fthdlr abs: 86, 144. 1311 gagp_x absresolve: 265, 288. 12253 geas bos_tv: 64. 12254 geastab bos_tv: 65. 7034 get apnd_equ: 29, absresolve: 112, 273, bos_sstnt_man: 44, 116, 162. 12264 getconf bos_tv: 73. 7026 getinit apnd_equ: 23, absresolve: 14. 12265 getmore bos_tv: 74. 12273 getmpc bos_tv: 80. 12266 getperiph bos_tv: 75. 12313 getportinfo bos_tv: 96. 12250 getprt bos_tv: 61. 7027 getsdw apnd_equ: 24, bos_sstnt_man: 30. 12207 getsec bos_tv: 28. 7043 getsltname apnd_equ: 36, absresolve: 205, 366. 1755 getsstntname absresolve: 304, bos_sstnt_man: 101. 7030 getwd apnd_equ: 25. 503 get_cache cache_print: 44, get_cache: 10. 545 get_cache_ignore_parf get_cache: 62, 106. 530 get_cache_loop get_cache: 42, 68. 12275 get_special_interrupt bos_tv: 82. 12276 get_status_interrupt bos_tv: 83. 2015 gpn.1 bos_sstnt_man: 148, 152. 2105 gpn.aste bos_sstnt_man: 118, 128, 237. 2104 gpn.astep bos_sstnt_man: 114, 131, 145, 198, 209, 236. 2121 gpn.curlen bos_sstnt_man: 126, 180, 190, 216, 238. 2100 gpn.desc bos_sstnt_man: 123, 219. 2073 gpn.done bos_sstnt_man: 186, 206, 208, 213. 2102 gpn.fail bos_sstnt_man: 104, 151, 165, 171, 202, 228. 2022 gpn.got_ptsi bos_sstnt_man: 149, 154. 2047 gpn.isroot bos_sstnt_man: 133, 173, 183. 2126 gpn.linebuf bos_sstnt_man: 178, 189, 218, 245. 2124 gpn.linebufp bos_sstnt_man: 243. 2012 gpn.loop bos_sstnt_man: 144, 210. 2162 gpn.namebuf bos_sstnt_man: 164, 170, 175, 177, 246. 2102 gpn.not_pn bos_sstnt_man: 106, 109, 111, 119, 134, 229. 2122 gpn.offset bos_sstnt_man: 125, 172, 181, 184, 191, 215, 240. 2044 gpn.tab bos_sstnt_man: 54, 179. 2102 gpn.x2 bos_sstnt_man: 102, 121, 214, 227. 2012 gpn.yes_pn bos_sstnt_man: 129, 136. 1310 gp_got absresolve: 280, 286. 1275 gp_loop absresolve: 271, 284. 7031 grab apnd_equ: 26. 1145 gt1 absresolve: 73, 271, 282, 286. 167 halt abs: 168, 180. 1205 have_ptwp absresolve: 125, 135. 7002 hcdbr apnd_equ: 11. 122 hdend abs: 51, 52, 55, 56, 136. 114 hdrln abs: 51, 52, 55, 56, 135. 6004 headform abs: 235, pt_equ: 12, cache_print: 19. 12304 hexwd bos_tv: 89. 1330 hfailmess absresolve: 311, 315. 1312 hierarchy absresolve: 182, 189, 295. 1324 hierarchy_fail absresolve: 306, 309. 1425 ignore_fraud absresolve: 408, 410. 12300 initint abs: 33, bos_tv: 85. 6010 initprint abs: 48, pt_equ: 15. 1634 initsstnt absresolve: 22, bos_sstnt_man: 14. 12271 init_io abs: 36, bos_tv: 78. 2021 inputsw bos_common: 60. 12302 intno bos_tv: 87. 1572 intrpts bos_common: 25. 12303 intrpts1 bos_tv: 88. 251 in_order abs: 225, 230. 2011 iom_mbbase bos_common: 52. 2010 iom_mxbase bos_common: 51. 12237 itaper bos_tv: 52. 12240 itapew bos_tv: 53. 12206 ldcom abs: 45, bos_tv: 27, absresolve: 7, 18. 12001 line abs: 70, 193, 361, 362, 364, 368, 402, 405, 406, bos_tv: 13, 14, cache_print: 41, 50, 60, 71, 83, 92, 106, absresolve: 100, 101, 206, 221, 236, 237, 244, 250, 305, 312, 367, 436, 437, 442, 443. 12257 ljust bos_tv: 68. 12220 lookup_devmodel bos_tv: 37. 1620 lowport_cfg bos_common: 34. 1530 low_order_port bos_common: 20. 2716 macroargs bos_common: 78. 2600 macrobuf bos_common: 76, 77, 85. 2700 macroline bos_common: 77, 78. 2022 macroloc bos_common: 61. 12205 makefil bos_tv: 26. 12221 makesdw bos_tv: 38. 1550 mcm bos_common: 23. 1532 mctime bos_common: 21. 7 mem abs: 60, 61, 65, 69, 133, bosequ: 15, get_cache: 23, 26, 32, 70, 108, 110. 1574 modereg bos_common: 27. 12216 mulbos bos_tv: 35. 10 name_offset absresolve: 74. 1015 ncomes abs: 401, 410. 12202 nextline abs: 121, bos_tv: 23. 12203 nlraw bos_tv: 24. 1205 no_rws absresolve: 160. 216 num abs: 112, 114, 188. 224 num_err abs: 191, 196, 273. 12252 octwd abs: 372, 404, bos_tv: 63, cache_print: 39, 67, 101, absresolve: 97, 218, 234, 247. 1212 old_cme absresolve: 172, 174. 500 ouhist bos_common: 14. 12000 pagectl bos_tv: 12, 13. 1234 paged_data absresolve: 209, 251, 307, 313. 1261 paged_unclear absresolve: 199, 242. 7013 pagesw apnd_equ: 17. 12 page_power absresolve: 70, 107, 224. 2000 page_size abs: 254, absresolve: 69, 228. 315 pass_mod abs: 220, 229, 233, 267. 1534 patchroom absresolve: 472. 2176 patch_room abs: 419. 333 pch_x cache_print: 9, 22. 1140 pdme absresolve: 68. 7044 pd_check apnd_equ: 37. 7046 pd_getptr apnd_equ: 39. 7045 pd_modify apnd_equ: 38. 3 pgm bosequ: 10, get_cache: 99. 1144 pgno_t absresolve: 71, 217, 223, 225, 229. 12215 phyadd bos_tv: 34. 12213 phybos bos_tv: 32. 7014 pmlsw apnd_equ: 18. 6005 print abs: 252, 349, 379, 387, 407, pt_equ: 13, cache_print: 21, 111, 118. 6000 printon abs: 103, pt_equ: 8. 354 print_cache_block abs: 326, cache_print: 30, 137. 321 print_cache_header abs: 323, cache_print: 7, 134. 6011 print_edited pt_equ: 16. 1500 prs bos_common: 18. 122 prtcmd abs: 98, 102, 106, 139. 6014 ptbfirst pt_equ: 17. 6006 ptblock pt_equ: 14. 6016 pthdr abs: 52, 55, 56, pt_equ: 19, cache_print: 13, 16, 17. 1600 ptrlen bos_common: 29. 6015 ptsegno pt_equ: 18. 1102 ptw absresolve: 60. 740000 ptw.add_type bos_ptw: 5. 4 ptw.df bos_ptw: 16. 3 ptw.df_no bos_ptw: 17. 10000 ptw.er bos_ptw: 7. 20000 ptw.first bos_ptw: 6. 400000 ptw.nulled bos_ptw: 4. 200 ptw.nypd bos_ptw: 11. 10 ptw.os bos_ptw: 15. 100 ptw.phm bos_ptw: 12. 400 ptw.phm1 bos_ptw: 10. 1000 ptw.phu bos_ptw: 9. 40 ptw.phu1 bos_ptw: 13. 10000 ptw.pre_paged bos_ptw: 8. 5 ptw.usage_bits_shift bos_ptw: 18. 20 ptw.wired bos_ptw: 14. 1101 ptw_aa absresolve: 59. 6000 pt_org abs: 44, pt_equ: 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19. 12251 punch bos_tv: 62. 7035 put apnd_equ: 30. 7047 pvt_to_devt apnd_equ: 40. 77 qm abs: 110, 115. 2020 quietsw bos_common: 59. 12267 rdclock abs: 54, bos_tv: 76, cache_print: 15. 12211 rdev bos_tv: 30. 2016 rdrchanno bos_common: 57. 12234 rdsec bos_tv: 49. 12246 readcd bos_tv: 59. 12247 readtty bos_tv: 60. 2030 readysw bos_common: 67. 7006 read_args apnd_equ: 13. 12232 rec_per_dev_list bos_tv: 47. 1520 regs bos_common: 19. 12260 rjust bos_tv: 69. 1077 root_astep absresolve: 42, 57, 188. 4000 runcom_bit bosequ: 19. 12200 scan abs: 72, bos_tv: 21. 1540 scu bos_common: 22. 14 sdw.add_shift bos_sdw: 4, absresolve: 26, 334, 352. 377770 sdw.bound bos_sdw: 12, absresolve: 356. 40000 sdw.cache bos_sdw: 20. 4 sdw.df bos_sdw: 9, absresolve: 394. 37777 sdw.entry_bound bos_sdw: 21. 100000 sdw.entry_bound_sw bos_sdw: 19. 2 sdw.execute bos_sdw: 14. 3 sdw.fault_code bos_sdw: 10. 400000 sdw.privileged bos_sdw: 17. 7000 sdw.r1 bos_sdw: 5. 700 sdw.r2 bos_sdw: 6. 70 sdw.r3 bos_sdw: 7. 4 sdw.read bos_sdw: 13, absresolve: 302. 200000 sdw.unpaged bos_sdw: 18, absresolve: 332, 350, bos_sstnt_man: 105. 1 sdw.write bos_sdw: 15. 12204 search bos_tv: 25. 1335 search_my_dseg_paged absresolve: 198, 329. 12230 sect_per_cyl_list bos_tv: 45. 12231 sect_per_dev_list bos_tv: 46. 7000 seg6length bos_common: 90. 1103 segno absresolve: 61, 200, 337, 364, 391, 411, 426. 10 seg_aste.usage aste: 149. 14 seg_aste_size aste: 146. 106 setcycle abs: 63, 124. 2004 setuparea bos_common: 49. 2025 skipsw bos_common: 64. 7042 sltsearch apnd_equ: 35, bos_sstnt_man: 27. 7011 sltseg apnd_equ: 15. 1420 smdl1 absresolve: 405, 414. 1403 smds absresolve: 331, 349, 388. 1424 smd_call absresolve: 390, 409. 1413 smd_lp absresolve: 399, 417. 6003 space abs: 358, 386, 399, pt_equ: 11, cache_print: 20, 36, 112, absresolve: 88. 1720 ssn.gthan bos_sstnt_man: 85, 188. 1716 ssn.root_astep bos_sstnt_man: 40, 81, 132, 207. 1714 ssn.sstbase bos_sstnt_man: 21, 25, 78, 108, 110. 1725 ssn.sstnt bos_sstnt_man: 46, 49, 89, 148, 155, 157, 158. 1721 ssn.sstntname bos_sstnt_man: 28, 86. 1712 ssn.sstnt_sdw bos_sstnt_man: 33, 45, 76, 163. 1717 ssn.valid bos_sstnt_man: 17, 51, 83, 103. 1675 ssni.fail bos_sstnt_man: 29, 31, 32, 38, 47, 62. 1674 ssni.x2 bos_sstnt_man: 15, 56, 65, 70. 214 sst.abs_wired_count sst: 126. 241 sst.acost sst: 141. 400000 sst.activate_activated sst: 201. 517 sst.activations sst: 182. 52 sst.ainitp sst: 52. 52 sst.ainitp1 sst: 53. 244 sst.alaps sst: 144. 230 sst.aneedsize sst: 135. 236 sst.asearches sst: 138. 243 sst.askipdius sst: 143. 235 sst.askipsehs sst: 137. 240 sst.askipsinit sst: 140. 224 sst.askipsize sst: 134. 237 sst.askipslevel sst: 139. 242 sst.askipslock sst: 142. 30 sst.astap sst: 35. 254 sst.asteps sst: 151. 21 sst.astl sst: 26. 22 sst.astl_event sst: 27. 400000 sst.astl_notify_requested sst: 30. 23 sst.astl_notify_requested_word sst: 29. 33 sst.astsize sst: 37. 72 sst.ast_ht_n_buckets sst: 76. 70 sst.ast_ht_ptr sst: 75. 73 sst.ast_ht_uid_mask sst: 77. 260 sst.ast_locked_at_time sst: 152. 262 sst.ast_locked_total_time sst: 153. 266 sst.ast_locking_count sst: 155. 264 sst.ast_lock_wait_time sst: 154. 400000 sst.ast_track sst: 240. 566 sst.ast_track_word sst: 239. 50 sst.atempp sst: 46. 50 sst.atempp1 sst: 47. 600 sst.audit_seg_state_change_bw sst: 253. 573 sst.audit_seg_state_chg sst: 249. 126 sst.aused sst: 104. 44 sst.ausedp sst: 43. 534 sst.backup_activations sst: 198. 513 sst.bad_sgms sst: 178. 116 sst.ceiling sst: 96. 75 sst.checksum_filemap sst: 79. 476 sst.claim_notmod sst: 166. 477 sst.claim_passed_used sst: 167. 516 sst.claim_runs sst: 181. 474 sst.claim_skip_cme sst: 164. 475 sst.claim_skip_free sst: 165. 500 sst.claim_skip_ptw sst: 168. 502 sst.claim_steps sst: 170. 501 sst.claim_writes sst: 169. 267 sst.cleanup_count sst: 156. 270 sst.cleanup_real_time sst: 157. 67 sst.cl_skips_pinned sst: 74. 34 sst.cmesize sst: 38. 54 sst.cmp sst: 56, absresolve: 29. 252 sst.cpu_bf_time sst: 150. 160 sst.cpu_sf_time sst: 114. 400000 sst.crash_test_segmove sst: 246. 571 sst.crash_test_segmove_word sst: 245. 117 sst.ctwait sst: 97. 100 sst.cycle_pv_allocation sst: 82. 127 sst.damaged_ct sst: 105. 507 sst.dblw_resurrections sst: 175. 130 sst.deact_count sst: 106. 572 sst.delayed_seg_state_chg sst: 248. 132 sst.demand_deactivations sst: 108. 131 sst.demand_deact_attempts sst: 107. 567 sst.dirlock_writebehind sst: 242. 520 sst.dir_activations sst: 183. 110 sst.dir_page_faults sst: 90. 400000 sst.dm_enabled sst: 50. 51 sst.dm_enabled_word sst: 49. 62 sst.double_write sst: 66. 546 sst.event sst: 213. 523 sst.evict_phmbit sst: 189. 523 sst.evict_ptp sst: 188. 523 sst.evict_recover_data sst: 186. 66 sst.fc_skips_pinned sst: 73. 220 sst.first_core_block sst: 130. 525 sst.force_pwrites sst: 192. 524 sst.force_swrites sst: 191. 527 sst.force_updatevs sst: 194. 526 sst.fw_none sst: 193. 222 sst.fw_retries sst: 132. 515 sst.good_sgms sst: 180. 521 sst.hedge_updatevs sst: 184. 522 sst.hedge_writes sst: 185. 121 sst.laps sst: 99. 221 sst.last_core_block sst: 131. 44 sst.level sst: 41. 107 sst.level_1_page_faults sst: 89. 104 sst.lock_waits sst: 86. 154 sst.loop_locks sst: 112. 156 sst.loop_lock_time sst: 113. 533 sst.makeknown_activations sst: 197. 577 sst.max_seg_state_change_bw sst: 252. 535 sst.metering_flags sst: 199. 74 sst.meter_ast_locking sst: 78. 562 sst.mod_during_write sst: 228. 115 sst.needc sst: 95. 565 sst.new_pages sst: 237. 400000 sst.nolock sst: 71. 65 sst.nolock_word sst: 70. 400000 sst.notify sst: 216. 547 sst.notify_word sst: 215. 44 sst.no_aste sst: 44. 16 sst.npfs_misses sst: 23. 24 sst.nused sst: 32. 101 sst.n_trailers sst: 83. 506 sst.oopv sst: 174. 76 sst.page_read_errors sst: 80. 77 sst.page_write_errors sst: 81. 113 sst.pc_io_waits sst: 93. 2 sst.pc_trace sst: 234. 10 sst.pc_trace_pf sst: 232. 106 sst.pdir_page_faults sst: 88. 532 sst.pf_unlock_ptl_meterings sst: 196. 530 sst.pf_unlock_ptl_time sst: 195. 545 sst.pid sst: 212. 14 sst.post_in_core sst: 21. 165 sst.post_list_size sst: 118. 167 sst.post_purge_calls sst: 120. 12 sst.post_purge_time sst: 20. 166 sst.post_purgings sst: 119. 372 sst.pp_meters sst: 159. 170 sst.pre_page_calls sst: 121. 171 sst.pre_page_list_size sst: 122. 172 sst.pre_page_misses sst: 123. 164 sst.pre_page_size sst: 117. 10 sst.pre_page_time sst: 19. 173 sst.pre_pagings sst: 124. 503 sst.pre_seeks_failed sst: 171. 20 sst.ptl sst: 25. 32 sst.ptl_wait_ct sst: 36. 40 sst.pts sst: 40. 25 sst.ptwbase sst: 33. 223 sst.pvhtp sst: 133. 133 sst.reads sst: 109. 217 sst.recopies sst: 129. 61 sst.removep sst: 64. 504 sst.resurrections sst: 172. 111 sst.ring_0_page_faults sst: 91. 36 sst.root_astep sst: 39, absresolve: 37, bos_sstnt_man: 35. 64 sst.root_pvtx sst: 68. 112 sst.rqover sst: 92. 17 sst.salv sst: 24. 1 sst.sc_trace sst: 235. 555 sst.segmove_astep sst: 223. 551 sst.segmove_found_synch sst: 219. 550 sst.segmove_io_limit sst: 218. 545 sst.segmove_lock sst: 210. 554 sst.segmove_max_tries sst: 222. 561 sst.segmove_new_addr_astep sst: 227. 553 sst.segmove_n_reads sst: 221. 560 sst.segmove_old_addr_astep sst: 226. 556 sst.segmove_pvtx sst: 224. 552 sst.segmove_synch_disappeared sst: 220. 557 sst.segmove_vtocx sst: 225. 536 sst.seg_fault_calls sst: 203. 576 sst.seg_state_change_limit sst: 251. 574 sst.seg_state_chg_delay sst: 250. 601 sst.seg_state_chg_operation sst: 254. 247 sst.setfaults_acc sst: 147. 246 sst.setfaults_all sst: 146. 512 sst.sgm_pf sst: 177. 514 sst.sgm_sgft sst: 179. 510 sst.sgm_time sst: 176. 153 sst.short_pf_count sst: 111. 124 sst.skipm sst: 102. 125 sst.skipos sst: 103. 123 sst.skipu sst: 101. 122 sst.skipw sst: 100. 0 sst.space sst: 18. 60 sst.startp sst: 62. 114 sst.steps sst: 94. 234 sst.stepsa sst: 136. 543 sst.stk_pages_truncated sst: 208. 544 sst.stk_pages_truncated_in_core sst: 209. 542 sst.stk_truncate_shouldnt_did sst: 207. 541 sst.stk_truncate_shouldnt_didnt sst: 206. 540 sst.stk_truncate_should_did sst: 205. 537 sst.stk_truncate_should_didnt sst: 204. 53 sst.strsize sst: 55. 102 sst.synch_activations sst: 84. 103 sst.synch_skips sst: 85. 215 sst.system_type sst: 127. 63 sst.temp_w_event sst: 67. 26 sst.tfreep sst: 34. 15 sst.thrashing sst: 22. 250 sst.total_bf sst: 148. 251 sst.total_bf_pf sst: 149. 105 sst.total_locks_set sst: 87. 163 sst.total_sf sst: 116. 162 sst.total_sf_pf sst: 115. 564 sst.trace_sw sst: 230. 272 sst.tree_count sst: 158. 4 sst.tty_trace sst: 233. 245 sst.updates sst: 145. 56 sst.usedp sst: 58. 505 sst.volmap_seg_page_faults sst: 173. 120 sst.wired sst: 98. 216 sst.wired_copies sst: 128. 174 sst.wire_proc_data sst: 125. 143 sst.writes sst: 110. 473 sst.write_hunts sst: 163. 570 sst.write_limit sst: 243. 57 sst.wtct sst: 60. 472 sst.wusedp sst: 161. 563 sst.zero_pages sst: 229. 14 sstnt.ast_name_offsets sstnt: 14, bos_sstnt_man: 158. 20 sstnt.ast_offsets sstnt: 16, bos_sstnt_man: 148, 155. 10 sstnt.ast_sizes sstnt: 12, bos_sstnt_man: 157. 2 sstnt.fill_time sstnt: 10. 1 sstnt.multics_or_bos sstnt: 8. 30 sstnt.names sstnt: 18, bos_sstnt_man: 46, 90, 160. 400000 sstnt.valid sstnt: 6. 0 sstnt.valid_word sstnt: 5, bos_sstnt_man: 49. 11 sstnt_name_length sstnt: 20, bos_sstnt_man: 159, 164, 247. 1702 sstnt_not_valid bos_sstnt_man: 50, 67. 6000 sstn_org absresolve: 17, 20, sstn_equ: 6. 7016 sstsdw apnd_equ: 19, absresolve: 25, 31, 39, 274, 301, bos_sstnt_man: 19, 37, 117, 201. 1076 sst_aa absresolve: 27, 56, 197. 1104 sst_ptwp absresolve: 62, 165, 166, 213. 1000 sst_size sst: 15. 51 start abs: 89, 122. 2000 storlen bos_common: 36. 12262 stripa bos_tv: 71. 12263 stripg bos_tv: 72. 2015 tapechanno bos_common: 56. 6001 tapeon abs: 99, pt_equ: 9. 215 temp_fatal abs: 176, 179, 182. 1 tmp bosequ: 8. 2017 ttychanno bos_common: 58. 12245 ttyinit abs: 37, bos_tv: 58. 2026 ttypmtsw bos_common: 65. 12200 tv_org bos_tv: 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96. 12244 type abs: 192, bos_tv: 57. 7033 unapnd apnd_equ: 28. 7040 unfetch apnd_equ: 33. 2013 unitgroup bos_common: 54. 1350 unpaged absresolve: 129, 346. 1465 unpaged_unclear absresolve: 128, 348, 434. 1471 unused absresolve: 130, 440. 1476 upuc absresolve: 435, 446. 2002 useable bos_common: 46. 2001 used bos_common: 45. 2005 utilarea bos_common: 50. 12000 utilorg bosequ: 22, bos_tv: 12, 19. 1500 uu absresolve: 441, 447. 1515 vc_x absresolve: 455, 460, 466. 1511 verify_core absresolve: 90, 454. 12301 wantflt abs: 87, bos_tv: 86. 12212 wdev bos_tv: 31. 6002 wteof abs: 107, pt_equ: 10. 12235 wtsec bos_tv: 50. 111 x2 abs: 32, 59, 64, 94, 120, 131. 12277 xio_wait bos_tv: 84. 4 xs1 bosequ: 11, get_cache: 32, 43, 48, 49, 52, 57, 59, 66, absresolve: 461, 462, 464. 5 xs2 bosequ: 12. 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