mirror of
https://github.com/PDP-10/its.git
synced 2026-01-13 15:27:28 +00:00
174 lines
6.4 KiB
Plaintext
174 lines
6.4 KiB
Plaintext
'<PCODE "INFERI">
|
||
|
||
<PACKAGE "INFERIOR">
|
||
|
||
<ENTRY INF-RUN INF-READY INF-LOAD INF-KILL INF-START INF-CONTIN INF-RESULT
|
||
INF-WORD INF? INF-HANDLER INF-ACT GET-ICHAN INF-LIST CURRENT-INF>
|
||
|
||
<ENTRY *BREAK-HANDLER *VALUE-HANDLER ^Z-HANDLER VALRET-STRING PASS-JCL-DOWN>
|
||
|
||
<ENTRY INF-INT-DEBUG? INF-BREAK? INF-DIRS ACTION-INTERRUPTS NO-ACTION-INTERRUPTS
|
||
NO-ACTION-MESSAGES>
|
||
|
||
<ENTRY INF INF-JNAME INF-UCHAN INF-ICHAN INF-INDEX INF-SADDR INF-JCL INF-STATUS>
|
||
|
||
<ENTRY *VALUE *BREAK *BREAK-16 :KILL FINISHED *BREAK-12 AOBJN DDTWRITE ^Z-TYPED
|
||
PIRQC WANTS-TTY IOC-ERROR PROCEEDABLE>
|
||
|
||
<USE "INFASS">
|
||
|
||
<NEWTYPE INF VECTOR '<VECTOR STRING [2 <OR FALSE CHANNEL>] [2 FIX] STRING>>
|
||
|
||
<AND? <SETG INF-JNAME 1> <SETG INF-UCHAN 2> <SETG INF-ICHAN 3> <SETG INF-INDEX 4
|
||
> <SETG INF-SADDR 5> <SETG INF-JCL 6> <SETG INF-STATUS 7>>
|
||
|
||
<MANIFEST INF-JNAME INF-UCHAN INF-ICHAN INF-INDEX INF-SADDR INF-JCL INF-STATUS>
|
||
|
||
<SETG S-TO-6 %<RSUBR!- '[ %<PCODE!- "INFERI" 0> S-TO-6 #DECL ("VALUE" FIX
|
||
STRING) USET "" T "TS " %<RGLOC INF-DIRS T> SNM (STRING) NM1 "TS" NM2 %<RGLOC
|
||
CURRENT-INF T> %<RGLOC INF-IHEADER T> %<RGLOC INF-IHANDLER T> INF-ACT (
|
||
ACTIVATION) %<TYPE-W INF VECTOR> OUTCHAN %<RGLOC NULL T> " [" "JOB " ": " LIST
|
||
"ERROR " "] " %<RGLOC INF-LIST T> %<TYPE-C INF VECTOR> DEV "DSK" "READB"
|
||
INF-IHANDLER "INFERIOR" %<RGLOC INF-HANDLER T> INFERIOR!-INTERRUPTS INTERRUPT %<
|
||
RGLOC TUV T> CANT-GET-READ-CHANNEL-TO-INFERIOR %<RGLOC INF-INT-DEBUG? T> RUNNING
|
||
PIRQC PROCEEDABLE ^Z-TYPED %<RGLOC NO-ACTION-INTERRUPTS T> %<RGLOC
|
||
NO-ACTION-MESSAGES T> WANTS-TTY IOC-ERROR *BREAK %<RGLOC UCH T> %<RGLOC
|
||
INF-BREAK? T> DDTWRITE *BREAK-12 AOBJN :KILL FINISHED BACK *BREAK-16 "INPUT" ">"
|
||
*VALUE %<RGLOC JCL-UV T> () ("INF-LOAD: Premature end of file.") (
|
||
"INF-LOAD: .CALL LOAD failed.") ("NO CHANNELS AVAILABLE.") "PRINTB" "USR"]>>
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,S-TO-6 PGLUE ![805306367 -1 -1 -256 0!]>>
|
||
|
||
|
||
<SETG INF-UV-STR %<RSUBR-ENTRY '[S-TO-6 INF-UV-STR #DECL ("VALUE" STRING UVECTOR
|
||
FIX)] 23>>
|
||
|
||
<SETG INF-INT-DEBUG? <>>
|
||
|
||
<SETG INF-BREAK? <>>
|
||
|
||
<SETG INF-LIST ()>
|
||
|
||
<SETG CURRENT-INF <>>
|
||
|
||
<SETG INF-DIRS '["" "SYS" "SYS1" "SYS2"]>
|
||
|
||
<GDECL (INF-LIST) <LIST [REST FIX INF]> (CURRENT-INF) <OR INF FALSE> (INF-DIRS)
|
||
<VECTOR [REST STRING]>>
|
||
|
||
<AND? <SETG RUPC 0> <SETG RTTY 2> <SETG RFLS 3> <SETG RUSTP 7> <SETG RPIRQC 8> <
|
||
SETG RSV40 11> <SETG RUIND 19> <SETG ROPTIO 44> <SETG RXJNAM 61>>
|
||
|
||
<MANIFEST RUPC RTTY RFLS RUSTP RPIRQC RSV40 RUIND ROPTIO RXJNAM>
|
||
|
||
<SETG INF-RUN %<RSUBR-ENTRY '[S-TO-6 INF-RUN #DECL ("VALUE" ANY STRING
|
||
"OPTIONAL" STRING STRING <OR ATOM FALSE> <OR ATOM FALSE>)] 37>>
|
||
|
||
<SETG INF-READY %<RSUBR-ENTRY '[S-TO-6 INF-READY #DECL ("VALUE" <OR FALSE INF>
|
||
STRING "OPTIONAL" STRING STRING)] 82>>
|
||
|
||
<SETG INF-START %<RSUBR-ENTRY '[S-TO-6 INF-START #DECL ("VALUE" ANY "OPTIONAL" <
|
||
OR INF FALSE> <OR ATOM FALSE> <OR ATOM FALSE>)] 182>>
|
||
|
||
<SETG INF-CONTIN %<RSUBR-ENTRY '[S-TO-6 INF-CONTIN #DECL ("VALUE" ANY "OPTIONAL"
|
||
<OR INF FALSE> <OR ATOM FALSE> <OR ATOM FALSE>)] 230>>
|
||
|
||
<SETG INF-HANDLER %<RSUBR-ENTRY '[S-TO-6 INF-HANDLER #DECL ("VALUE" ANY FIX)]
|
||
368>>
|
||
|
||
<SETG INF-RESULT %<RSUBR-ENTRY '[S-TO-6 INF-RESULT #DECL ("VALUE" <OR FALSE
|
||
STRING> INF ANY "OPTIONAL" <OR ATOM FALSE> CHANNEL)] 439>>
|
||
|
||
<SETG INF-KILL %<RSUBR-ENTRY '[S-TO-6 INF-KILL #DECL ("VALUE" <OR FALSE INF>
|
||
"OPTIONAL" <OR FALSE INF>)] 602>>
|
||
|
||
<SETG INF? %<RSUBR-ENTRY '[S-TO-6 INF? #DECL ("VALUE" <OR FALSE INF> <OR INF FIX
|
||
>)] 737>>
|
||
|
||
<SETG INF-LOAD %<RSUBR-ENTRY '[S-TO-6 INF-LOAD #DECL ("VALUE" <OR FALSE INF>
|
||
STRING STRING "OPTIONAL" STRING <OR FIX FALSE>)] 784>>
|
||
|
||
<SETG TUV ![0 0!]>
|
||
|
||
<GDECL (TUV) <UVECTOR [2 FIX]>>
|
||
|
||
<SETG INF-WORD %<RSUBR-ENTRY '[S-TO-6 INF-WORD #DECL ("VALUE" <OR FALSE <
|
||
PRIMTYPE WORD>> INF FIX "OPTIONAL" <PRIMTYPE WORD>)] 1012>>
|
||
|
||
<SETG GET-ICHAN %<RSUBR-ENTRY '[S-TO-6 GET-ICHAN #DECL ("VALUE" ANY INF)] 1108>>
|
||
|
||
<SETG NO-ACTION-INTERRUPTS '![4 16 32 512 2048 8192 16384 262144 8388608
|
||
16777216 33554432 134217728!]>
|
||
|
||
<SETG ACTION-INTERRUPTS '![2 128 256 1024 268435456!]>
|
||
|
||
<SETG NO-ACTION-MESSAGES ["Bad interrupt location" "Display MPV"
|
||
"Illegal instruction" "Illegal user address" "One-proceed breakpoint"
|
||
"Memory protection violation" "MAR" "Restriction violation" "System UUO trap"
|
||
"Pure page trap" "Attempt to write into read-only memory" "Parity error"]>
|
||
|
||
<GDECL (ACTION-INTERRUPTS NO-ACTION-INTERRUPTS) <UVECTOR [REST FIX]> (
|
||
NO-ACTION-MESSAGES) <VECTOR [REST STRING]>>
|
||
|
||
<SETG ^Z-HANDLER %<RSUBR-ENTRY '[S-TO-6 ^Z-HANDLER #DECL ("VALUE" ANY INF
|
||
"OPTIONAL" <OR ACTIVATION FALSE>)] 1158>>
|
||
|
||
\
|
||
|
||
<AND? <SETG AC-FIELD <BITS 4 23>> <SETG *BREAK #WORD *045000000000*> <SETG
|
||
*VALUE #WORD *043200000000*> <SETG *LOGOUT #WORD *042000000033*>>
|
||
|
||
<MANIFEST AC-FIELD *BREAK *VALUE *LOGOUT>
|
||
|
||
<SETG *BREAK-HANDLER %<RSUBR-ENTRY '[S-TO-6 *BREAK-HANDLER #DECL ("VALUE" ANY <
|
||
PRIMTYPE WORD> INF <PRIMTYPE WORD> <OR ACTIVATION FALSE>)] 1388>>
|
||
|
||
<SETG INF-FILE-NAMES %<RSUBR-ENTRY '[S-TO-6 INF-FILE-NAMES #DECL ("VALUE" <OR
|
||
FALSE <PRIMTYPE WORD>> INF FIX "OPTIONAL" STRING STRING STRING STRING)] 1731>>
|
||
|
||
<SETG VALUE? %<RSUBR-ENTRY '[S-TO-6 VALUE? #DECL ("VALUE" ANY ATOM ANY)] 1845>>
|
||
|
||
<SETG *VALUE-HANDLER %<RSUBR-ENTRY '[S-TO-6 *VALUE-HANDLER #DECL ("VALUE" <OR
|
||
FALSE <LIST ATOM <OR FIX STRING>>> <PRIMTYPE WORD> INF)] 1871>>
|
||
|
||
<SETG VALRET-STRING %<RSUBR-ENTRY '[S-TO-6 VALRET-STRING #DECL ("VALUE" STRING
|
||
FIX INF)] 1925>>
|
||
|
||
\
|
||
|
||
<SETG JCL-UV <IUVECTOR 20 0>>
|
||
|
||
<GDECL (JCL-UV) <UVECTOR [REST FIX]>>
|
||
|
||
<SETG PASS-JCL-DOWN %<RSUBR-ENTRY '[S-TO-6 PASS-JCL-DOWN #DECL ("VALUE" <OR
|
||
FALSE STRING> INF FIX)] 2018>>
|
||
|
||
<ENDPACKAGE>
|
||
|
||
<PACKAGE "INFASS">
|
||
|
||
<ENTRY ATTY DTTY UCLOSE USET INF-LOAD-FILE INF-CREATE INF-GET-NUM>
|
||
|
||
<SETG ATTY %<RSUBR-ENTRY '[S-TO-6!-IINFERIOR!-INFERIOR!-PACKAGE ATTY #DECL (
|
||
"VALUE" <OR CHANNEL <FALSE [REST]>> CHANNEL)] 2197>>
|
||
|
||
<SETG DTTY %<RSUBR-ENTRY '[S-TO-6!-IINFERIOR!-INFERIOR!-PACKAGE DTTY #DECL (
|
||
"VALUE" <OR CHANNEL <FALSE [REST]>> CHANNEL)] 2216>>
|
||
|
||
<SETG INF-LOAD-FILE %<RSUBR-ENTRY '[S-TO-6!-IINFERIOR!-INFERIOR!-PACKAGE
|
||
INF-LOAD-FILE #DECL ("VALUE" <OR WORD <FALSE STRING>> CHANNEL CHANNEL)] 2235>>
|
||
|
||
<SETG INF-CREATE %<RSUBR-ENTRY '[S-TO-6!-IINFERIOR!-INFERIOR!-PACKAGE INF-CREATE
|
||
#DECL ("VALUE" <OR CHANNEL <FALSE STRING>> STRING)] 2270>>
|
||
|
||
<SETG INF-GET-NUM %<RSUBR-ENTRY '[S-TO-6!-IINFERIOR!-INFERIOR!-PACKAGE
|
||
INF-GET-NUM #DECL ("VALUE" FIX CHANNEL)] 2383>>
|
||
|
||
<SETG UCLOSE %<RSUBR-ENTRY '[S-TO-6!-IINFERIOR!-INFERIOR!-PACKAGE UCLOSE #DECL (
|
||
"VALUE" CHANNEL CHANNEL)] 2401>>
|
||
|
||
<SETG USET %<RSUBR-ENTRY '[S-TO-6!-IINFERIOR!-INFERIOR!-PACKAGE USET #DECL (
|
||
"VALUE" FIX <OR CHANNEL FALSE> <PRIMTYPE WORD> "OPTIONAL" <PRIMTYPE WORD>)] 2415
|
||
>>
|
||
|
||
<ENDPACKAGE>
|