|
|
DataMuseum.dkPresents historical artifacts from the history of: Philips Data Systems |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Philips Data Systems Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 11144 (0x2b88)
Notes: pts_type(SC)
Names: »INTVMO.SC«
└─⟦18bf30ff4⟧ Bits:30009692 Philips computer tape "600409"
└─⟦this⟧ »BDKMON/INTVMO.SC«
└─⟦71472ef1e⟧ Bits:30009661 Philips computer tape "600103"
└─⟦this⟧ »BDKMON/INTVMO.SC«
IDENT INTVMO REL=7.2 DATE=77-09-09
UPDATE #0 77-09-09
*
***************************************************
*
* PHILIPS TERMINAL SYSTEM PTS
*
* INTVMO = INTERRUPT VECTORS AND SYSTEM START
* MONITOR AND APPLICATION ON SEP CAS
*
* LEVEL #2 77-09-09
*
* RELEASE #7 77-09-09
*
***************************************************
*
*
* THIS MODULE CONTAINS HARDWARE INTERRUPT VECTORS,
* COMMUNICATION VECTOR TABLE,STACK AREA
* AND MONITOR INITIALIZATION.
*
*
EJECT
ENTRY CVTMSZ MEMORY SIZE
ENTRY CVTSTB STACK BASE
ENTRY CVTSBA ADDRESS TO START OF BUFFER POOL
ENTRY CVTEBA ADDRESS TO END OF BUFFER POOL
ENTRY CVTINP INTERPRETER ADDRESS TABLE
ENTRY CVTDK START UP DISC
ENTRY CVTAPA APPLICATION ADDRESS
ENTRY CVTAPS APPLICATION START ADDRESS
ENTRY CVTCLK REAL TIME CLOCK
ENTRY LOOP IDLE LOOP
ENTRY INIM40 MONCON ENTRY
ENTRY CVTLSB SEGMENT LOAD BLOCK TABLE ADDRESS
ENTRY FREPAR FREE PARTITION POINTER
ENTRY PARLEN PARTITION LENGTH
ENTRY NUMPAR NUMBER OF PARTITIONS
EXTRN IHPFAR POWER FAIL / AUTO RESTART
EXTRN IHLKM LKM INTERRUPT
EXTRN IHRTC REAL TIME CLOCK
EXTRN IHTC CASSETTE TAPE
EXTRN IHSOP SYSTEM OPERATORS PANEL
EXTRN IHLCUT LINE COMMUNICATION OUTPUT
EXTRN CHLT1 LOCAL CHANNEL UNIT NO. 1
EXTRN IHSLCU TRUNKLINJE INT.ADR.
EXTRN ILLINT ILLEGAL INTERRUPT
EXTRN TCTAB
EXTRN TTB:ID TASK IDENTIFICATION
EXTRN TTB:ST TASK STATUS AND LEVEL
EXTRN PRUN TTAB FOR RUNNING PROGRAM
EXTRN INIMON MONITOR INITIALIZATION ROUTINE
EXTRN BUG BUGGER
EXTRN PFINIT INIT AFTER MASTER CLEAR
EXTRN IH1501 INTERRUPT TRUNK LINE INPUT
EXTRN IH1502 INTERRUPT TRUNK LINE OUTPUT
EXTRN IHMI01,IHMI02,IHMI03,IHMI04,IHMI05,IHMI06,IHMI07,IHMI08,IHMI09
EXTRN IHMU01,IHMU02,IHMU03,IHMU04,IHMU05,IHMU06,IHMU07,IHMU08,IHMU09
EXTRN IHMI10,IHMU10,IHMI11,IHMU11
*
CHCR EQU /0E CHCR DEVICE ADDRESS
SOP EQU /2E SOP DEVICE ADDRESS
X:A EQU 0
SEGLEN EQU X:A SEGMENT LENGTH IN BYTES
X:B EQU 0
NUMPAR EQU X:B NUMBER OF PARTITIONS
* BY SETTING X:A NOT EQUAL TO ZERO, UNLOAD IS NOT
* PERFORMED ON CASSETTE AFTER THE APPLICATION LOADING
*
X:C EQU 0
UNLOAD EQU 0
REL0 EQU *
EJECT
*
* INTERRUPT VECTORS
*
DATA IHPFAR 0
DATA IHLKM 1
DATA IHRTC 2
DATA ILLINT 3
DATA ILLINT 4
DATA ILLINT 5
DATA ILLINT 6
DATA ILLINT
DATA IHTC 8
DATA IHSOP 9
DATA ILLINT 10
DATA ILLINT 11
DATA IH1501 12
DATA IH1502 13
DATA IHMI01
DATA IHMU01
DATA IHMI02
DATA IHMU02
DATA IHMI03
DATA IHMU03
DATA IHMI04
DATA IHMU04
DATA IHMI05
DATA IHMU05
DATA CHLT1 24
DATA ILLINT
DATA ILLINT 26
DATA ILLINT
DATA IHMI06
DATA IHMU06
DATA IHMI07
DATA IHMU07
DATA IHMI08
DATA IHMU08
DATA IHMI09
DATA IHMU09
DATA IHMI10 36
DATA IHMU10 37
DATA IHMI11 38
DATA IHMU11 39
DATA ILLINT
DATA ILLINT
DATA ILLINT 42
DATA ILLINT 43
DATA ILLINT
DATA ILLINT 45
DATA IHSLCU 46
DATA ILLINT 47
DATA ILLINT 48
DATA ILLINT 49
DATA ILLINT 50
DATA ILLINT 51
DATA ILLINT 52
DATA ILLINT 53
DATA ILLINT 54
DATA ILLINT 55
DATA ILLINT 56
DATA ILLINT 57
DATA ILLINT 58
DATA ILLINT 59
DATA ILLINT 60
DATA ILLINT 61
DATA ILLINT 62
DATA TRAP TRAP ROUTINE
HLT
EJECT
*
* SYSTEM HALTS
*
HLT
TRAP HLT TRAPPED INSTRUCTION
*
* COMMUNICATION VECTOR TABLE
*
CVTMSZ DATA 0 MEMORY SIZE
CVTSTB DATA STB STACK BASE
CVTSBA DATA 0 START OF BUFFER AREA
CVTEBA DATA 0 END OF BUFFER AREA
CVTINP DATA 0 INTERPPRETER TABLE ADDRESS
RF INIT
RF BUGG
CVTAPA DATA 0 APPLICATION ADDRESS
CVTAPS DATA 0 APPLICATON START ADDRESS
CVTCLK DATA 0 REAL TIME CLOCK
CVTLSB EQU *
CVTDK EQU *
FREPAR EQU *
PARLEN EQU *
EJECT
*
* INIMON AND BUGGER ENTRIES
*
INIT LDKL A1,INIMON INITIALIZE AND START APPL
RF BRANCH
BUGG LDKL A13,/90 START BUGGER
LDKL A14,-8
AD A14,CVTAPA
LDKL A1,BUG
BRANCH ABR(NZ) A1
HLT
EJECT
*
* SUBROUTINE TO EXECUTE CHCR COMMAND
*
CHCREX CIO A1,1,CHCR
SST A3,CHCR
RB(NA) *-2
RTN A8
EJECT
*
* INITIALIZATION ENTRY
*
INIM LDK A6,CHCREX-REL0 LOAD CHCREX SUBR ADDRESS
LDR A8,P AND STACK BASE
ST A9,CVTAPA SAVE APPL ADDRESS
ADR A14,A9 CALC APPL LINK BASE
*
* COMPUTE MEMORY SIZE
*
LDKL A1,/5555
LDKL A2,4094
INIM30 SUKL A2,4096
LDR* A3,A2 SAVE CONTENTS
STR A1,A2 CHECK IF MEMORY
CWR* A1,A2
RB(NE) INIM30
STR A3,A2 RESTORE CONTENTS
ADK A2,2
ST A2,CVTMSZ MEMORY SIZE TO CVT
SUK A2,2
ST A2,CVTEBA END OF BUFFER POOL
EJECT
*
* UNLOAD MONITOR CAS AND SELECT APPL CAS
*
LDK A1,/F UNLOAD
CFR A8,A6
INIM10 CIO A1,1,SOP READ SOP SWITCHES
INR A1,0,SOP
RB(NA) *-2
SRL A1,8
ANK A1,3
RB(Z) INIM10 ILLEGAL SWITCH
ANK A1,1 SELECT
CFR A8,A6
LDK A1,2 LOCK
CFR A8,A6
ANK A3,1
RB(NZ) INIM10 NO CASSETTE
LDK A1,8 SEARCH BOT
CFR A8,A6
LDK A1,/C SEARCH TAPE MARK
CFR A8,A6
EJECT
*
* LOAD APPLICATION
*
LDKL A1,/0400 IND LOAD ON SOP
OTR A1,0,SOP
LDKL A12,INIM20 INSTRUCTION AFTER APL
ABR A2 PERFORM APL
INIM20 LDK A1,/F UNLOAD CASSETTE
CFR A8,A6
ST A9,CVTSBA SET ADDRESS TO BEGINNING OF BUFFER POOL
ST A13,CVTAPS SAVE START ADDRESS
*
* CHECK IF BUGGER IN CORE
*
LDKL A13,INIM40
LDKL A1,BUG
ABR(NZ) A1 START BUGGER
EJECT
*
* INITIALIZE STACK
*
INIM40 LD A15,CVTSTB LOAD STACK BASE
LDKL A1,LOOP
STR A1,A15
LDKL A1,/FC00
STR A1,A15 ADJUST STACK FOR LOOP
SUKL A15,28
LDK A1,0
STR A1,A15
EJECT
*
* FIND FIRST USER TASK
*
LD A1,TCTAB TCTAB ADDRESS
LDR* A4,A1 TCTAB LENGTH
INIM50 ADK A1,2
SUK A4,2
RF(NZ) INIM60
HLT NO USER TASK FOUND
INIM60 LDR* A5,A1 TTAB ADDRESS
LD A2,TTB:ID,A5 TASK IDENTIFICATION
RB(N) INIM50 MONITOR TASK
ST A5,PRUN SET TTAB FOR RUNNING PROGRAM
CMR A5
LD A7,TTB:ST,A5 GET USER LEVEL
SRC A7,6
EJECT
*
* START SYSTEM
*
LDKL A13,WAITIS
STR A13,A15 STORE USER START ADDRESS
STR A7,A15 AND LEVEL ON STACK
ABL PFINIT INITIALIZE DEVICES
RES 57
STB EQU *-2 STACK BASE
*
* IDLE LOOP
*
LOOP RB *
WAITIS EQU *
LDKL A8,10
LKM
DATA 6
ABI CVTAPS
END INIM