Trailing-Edge
-
PDP-10 Archives
-
decuslib10-08
-
43,50512/intv.mac
There are no other files named intv.mac in the archive.
TITLE INTV
TWOSEG
V.INTV==:100,,1
D.INTV==:^D281177
IFNDEF INTMAX,<INTMAX==:30> ;# of conditions that can be enabled
SEARCH UUOSYM
P=17
T=5 ;Register that BLISS does a JSP on in prologue
LALL
DEFINE DSPBLD(N)=<
INT'N::
TRNA
AOS INTVEC+1+<N*4>
PUSH P,INTTBL+N
JRST INTER
>
DEFINE VECBLD(N)=<
EXP INT'N,0,PS.VPO,0
>
RELOC 0
INTTBL::
BLOCK INTMAX
INTVEC::
INTBAS::
XX==0
REPEAT INTMAX,<
VECBLD(\XX)
XX==XX+1
>
INTMAP::
EXP 1 ;TTY slot is always in use
BLOCK <<<INTMAX+35>/36>-1> ;Bitmap for vector slots in use
RELOC 400000
XX==0
REPEAT INTMAX,<
DSPBLD(\XX)
XX==XX+1
>
INTER::
EXCH T,(P) ;save register for BLISS that it cannot save for itself
PUSH P,T ;now put argument back on stack
PUSHJ P,INTSIG## ;Call BLISS routine to figure it out
POP P,T ;Throw away argument
POP P,T ;Restore that register
DEBRK.
JRST 4,. ;Huh
JRST 4,. ;What?
END