Trailing-Edge
-
PDP-10 Archives
-
bb-m836d-bm
-
tools/rmtcon/reloc.kcm
There are 3 other files named reloc.kcm in the archive. Click here to see a list.
SUBTTL *RELOC* [KC10] RELOCATABLE CONTROL AND DISPATCH STORAGE
EXTERN START,STARTA,PGMNAM,MODCHK,SUBINI
DDTLNK=:0 ;Ddt linkage address (no ddt)
; ************************************************************
; Program starting addresses
; These addresses call various special start routines and or options
; Normal start address is 140 all others are special.
; ************************************************************
BEGIN:: JRST MODCHK ;Mode check starting address
$START::JRST START ;Stand-alone start
DIAGMN::JRST $START ;Diagnostic monitor start
SYSEXR::JRST $START ;System exerciser start
IFNDEF SADR1,<SADR1=BEGIN>
SFSTRT::JRST SADR1 ;Special feature start
IFNDEF SADR2,<SADR2=BEGIN>
PFSTRT::JRST SADR2 ;Power fail restart
IFNDEF SADR3,<SADR3=BEGIN>
REENTR::JRST SADR3 ;Reenter start
DDTSRT::JRST $START ;Ddt start
SBINIT::JRST SUBINI ;Pmgint linkage
RETURN::0 ;Return address storage
ITRCNT::1 ;Program iterations
IFNDEF ABTADR,<ABTADR=0>
ABORT:: ABTADR ;Abort routine address
IFNDEF TLTADR,<TLTADR=0>
TOTALS::TLTADR ;Totals routine address
0 ;Reserved
0
0
; ************************************************************
; Special program dispatch addresses
; ************************************************************
BEGEND::ENDPASS ;End of pass
$BEND1::JRST STARTA ;Keep running program
$BEND2::EOPROG ;End of program - no return
CPOPJ1::AOS (P) ;Skip return
CPOPJ:: RTN ;Non-skip regular return
; ************************************************************
; Program fixed parameter area
; ************************************************************
IFNDEF PAREA1,<PAREA1=0>
RANDBS::PAREA1 ;Random base number
P%NAME::PGMNAM ;Pointer to programs name
P%VER:: MCNVER,,DECVER ;Mcn & dec version level
$EMODE::EXCASB ;Exec allowed if -1
$UMODE::USRASB ;User allowed if -1
$MMAP:: MEMMAP ;Allow memory rtns if -1
; ************************************************************
; Uuo dispatch table
; ************************************************************
XLIST
IFNDEF LUUO1,<LUUO1=U%ERR>
IFNDEF LUUO2,<LUUO2=U%ERR>
IFNDEF LUUO3,<LUUO3=U%ERR>
IFNDEF LUUO4,<LUUO4=U%ERR>
IFNDEF LUUO5,<LUUO5=U%ERR>
IFNDEF LUUO6,<LUUO6=U%ERR>
IFNDEF LUUO7,<LUUO7=U%ERR>
IFNDEF LUUO10,<LUUO10=U%ERR>
IFNDEF LUUO11,<LUUO11=U%ERR>
IFNDEF LUUO12,<LUUO12=U%ERR>
IFNDEF LUUO13,<LUUO13=U%ERR>
IFNDEF LUUO14,<LUUO14=U%ERR>
IFNDEF LUUO15,<LUUO15=U%ERR>
IFNDEF LUUO16,<LUUO16=U%ERR>
IFNDEF LUUO17,<LUUO17=U%ERR>
IFNDEF LUUO20,<LUUO20=U%ERR>
IFNDEF LUUO21,<LUUO21=U%ERR>
IFNDEF LUUO22,<LUUO22=U%ERR>
IFNDEF LUUO23,<LUUO23=U%ERR>
IFNDEF LUUO24,<LUUO24=U%ERR>
IFNDEF LUUO25,<LUUO25=U%ERR>
IFNDEF LUUO26,<LUUO26=U%ERR>
IFNDEF LUUO27,<LUUO27=U%ERR>
IFNDEF LUUO30,<LUUO30=U%ERR>
IFNDEF LUUO31,<LUUO31=U%ERR>
IFNDEF LUUO32,<LUUO32=U%ERR>
IFNDEF LUUO33,<LUUO33=U%ERR>
LIST
U%DTBL::LUUO1,,U%ERR
LUUO3,,LUUO2
LUUO5,,LUUO4
LUUO7,,LUUO6
LUUO11,,LUUO10
LUUO13,,LUUO12
LUUO15,,LUUO14
LUUO17,,LUUO16
LUUO21,,LUUO20
LUUO23,,LUUO22
LUUO25,,LUUO24
LUUO27,,LUUO26
LUUO31,,LUUO30
LUUO33,,LUUO32
; ************************************************************
; 'Comnd' command parsing parameters
; ************************************************************
INIT:: 014000,,000000 ;.Cmini - 'comnd' initialization
0
CFM:: 010000,,000000 ;.Cmcfm - 'comnd' confirm
0
; ************************************************************
; Program variable parameter area
; ************************************************************
USER:: 0 ;0 = Exec, -1 = user mode flag
MONTYP::0 ;0 = Tops10, -1 = tops20
MONFLG::0 ;Diag monitor special user flag
MONCTL::0 ;Diag mon/sys exr flag
MONTEN::0 ;-1= Loaded by 10
SERNBR::0 ;Processor serial number
CONSW:: 0 ;Console switch settings
PASCNT::0 ;Program pass count
RUNFLG::0 ;Program run flag
TESTPC::0 ;Subtest pc
TESTNBR::0 ;Subtest number
CLOCKF::0 ;Clock ticked flag
CLKCNT::0 ;Clock tick counter
TIMERF::0 ;Interval timer ticked flag
TMRCNT::0 ;Interval timer tick counter
PVPAGI::0 ;If n=0, override "INHPAG" switch action
CSHFLG::0 ;Allow cache if 0
CSHMEM::0 ;Cache memory segments if zero
$ONETM::0 ;Subroutine initialization flag
PG%END::0 ;If n=0, xct'd by 'eopuuo' before ending prog
S%TOGGLE::0 ;If n=0, use c(consw) for switches
SWPTAB::0 ;0 = No prompt, adr = adr of sixbit prompt table
CC%FLG::0 ;Control-c flag
CY%FLG::0 ;Control-y flag
CD%FLG::0 ;Control-d flag
CC%PRE::0 ;^C check pre-routine
CC%POST::0 ;^C check post-routine
CY%PRE::0 ;^Y pre-routine
CY%POST::0 ;^Y post-routine
CY%ACT::0 ;^Y activated flag
C%PSTK::0 ;Saved parser stack pointer
C%CCADR::0 ;^C transfer address
; ************************************************************
; Error handler parameters
; ************************************************************
ERRPC:: 0 ;Error pc
ERRNBR::0 ;Error [test#,,error#]
ERRTLS::0 ;Error totals
ERMORE::0 ;Additional error handler linkage
REPTU:: 0 ;Repeat uuo iterations
SCOPE:: 0 ;Error handler scope loop flag
E%LUUO::0 ;Error luuo
E%ERPC::0 ;Error pc
E%FMT:: 0 ;Error format, 0=pc, -1=#
E%ERFLG::0 ;Error flag, -1=use repeat ac's
E%CORFL::0 ; " CORRECT FLAG
E%COREC::0 ; " CORRECT DATA
E%ACTFL::0 ; " ACTUAL FLAG
E%ACTUL::0 ; " ACTUAL DATA
E%DISCR::0 ; " DISCREPENCY DATA
E%ERH1::0 ;If n=0, xct'd at start of %eruuo
E%ERH2::0 ;If n=0, xct'd at end of %eruuo
E%ERH3::0 ;If n=0, xct'd after "PC" of %eruuo
; ************************************************************
; Processor interrupt control storage
; ************************************************************
ITRCH1::0 ;Pc & flags of current interrupt
0
0 ;New pc and flags
0
I%AC0:: 0 ;Interrupt saved ac0
I%SVPI::0 ;Interrupt saved pi
I%SVAPR::0 ;Interrupt saved apr
I%ITRX::0 ;Additional interrupt linkage
I%ITRY::0 ; "
I%PWRX::0 ;Additional power fail linkage
I%PWRY::0 ; "
I%LEVTAB::0 ;Tops-20 software interrupt levtab address
I%CHNTAB::0 ;Tops-20 software interrupt chntab address
BLOCK 3 ;Unused (was old i%lxpc)
; ************************************************************
; Uuo control
; ************************************************************
U%USRTN::0 ;Additional users uuo routine
U%RTX:: 0 ;Additional uuo linkage
U%ERR:: 0 ;Inited as (jrst $uoerx)
U%SVUUO::0 ;Current users uuo
U%SVUPC::0 ;Pc of current users uuo
U%UUO:: 0 ;If n=0, xct'd at start of $uortn
M%MUUO::0 ;If n=0, xct'd at start of muuoer
; ************************************************************
; Memory managment storage
; ************************************************************
MAPNEW::0 ;Memory mapping control flag, -1 = 32m mapping
MEMTOT::0 ;Total memory size in k (1024.)
MEMLOW::0 ;Lowest usable memory
MEMSIZ::BLOCK ^D41 ;Memory segment pointer table
; ************************************************************
; Print control storage
; ************************************************************
P%FLAG::0 ;Print flag, -1 while in print routine
P%ENABLE::0 ;Print enable, -cnt of allowed output lines
P%FORCE::0 ;Set for forced printout
P%FRCALL::0 ;Print force all override
P%FCRLF::0 ;Print free cr/lf flag (at column 80)
P%OPTR::0 ;Byte pointer for output buffer
P%OUTP::0 ;Starting address of output buffer
P%LFGO::0 ;Continue after line feed
P%NOTYP::0 ;Prevent terminal output
P%XOFF::0 ;Xoff flag
P%SAV:: 0 ;Print temporary save word
P%PNT:: 0 ;Print misc control flag
P%CARCT::0 ;Print character position count
P%DISF::0 ;Print disabled flag
P%INHIBIT::0 ;Print inhibit (control-o)
P%TINH::0 ;Inhibit print input checks
P%SPACE::0 ;Print space control
P%TABF::0 ;Tab conversion flag
P%DVOFF::0 ;Logical device inited flag
P%RADIX::0 ;Decimal print radix (^d10)
P%RADLC::0 ;Decimal print leading char (space)
P%RADCNT::0 ;Decimal print leading char count (^d10)
P%PAX1::0 ;If n=0, xct'd after printing cr/lf
P%UERR::0 ;If n=0, xct'd at end of user mode error
; ************************************************************
; Typein control storage
; ************************************************************
T%TWAIT::0 ;Type-in wait time
T%TIMW::0 ;Time waited
T%CHAR::0 ;Actual typed in char
T%CHRIN::0 ;Upper cased & parity stripped char
T%NUMB::0 ;Typed in number
T%DIGIT::0 ;-1 If any digit typed
T%NEG:: 0 ;Negate flag
T%CNV:: 0 ;Decimal convert flag
T%CDADR::0 ;Control-d dispatch address
T%IPTR::0 ;Typein input byte pointer
T%INP:: 0 ;Address of typein input buffer
T%TAX1::0 ;If n=0, xct'd at start of altmode switch call
T%TAX2::0 ;If n=0, xct'd at end of altmode switch call
T%TAX3::0 ;If n=0, xct'd at end of altmode ^d
; ************************************************************
; User mode output file information
; ************************************************************
P%DSKF::0 ;Print on the disk
P%T20:: 0 ;Print tops-20 file name style
P%T20P::0 ;Print tops-20 pointer to file name
P%DJFN::0 ;Print tops-20 logical device jfn
P%OHDR::BLOCK 3 ;Logical file output buffer header
P%OUTNM::0 ;File name
P%OUTEX::0 ;File name extension
BLOCK 2
; ************************************************************
; Power fail ac save storage
; ************************************************************
POWER:: BLOCK ^D16
; ************************************************************
; Pushdown list control information
; ************************************************************
$PSHER::0 ;Inited as (jrst psherr)
PLIST:: 0 ;Base pointer (plist-pliste,,plist)
PLISTS::BLOCK 200
PLISTE::0 ;End of pushdown list
; ************************************************************
; Special future expansion room
; ************************************************************
$ATOM:: 0 ;Adr of command atom buffer
$GTJFNB::0 ;Adr of file name block
$IPAG:: 0 ;Adr of input page
T%TERM::0 ;Terminal type
T%TWD:: 0 ;Terminal width
T%TLEN::0 ;Terminal length
C%FIRST::0 ;If n=0, xct'd before first parse
U%SVPC::0 ;Pc of luuo
I%L1FL::0 ;Tops-20 level 1 interrupt flags
I%L1PC::0 ;Tops-20 level 1 interrupt pc
I%L2FL::0 ;Tops-20 level 2 interrupt flags
I%L2PC::0 ;Tops-20 level 2 interrupt pc
I%L3FL::0 ;Tops-20 level 3 interrupt flags
I%L3PC::0 ;Tops-20 level 3 interrupt pc
; ************************************************************
; End of fixed storage
; ************************************************************
ENDFIX::0 ;End of fixed storage
END