software: Added more and more
[pdp8.git] / sw / f4 / FRTSRC / onqib.ra
CommitLineData
7af5ad59
PH
1/
2/ VERSION 5A 4/28/77 PT
3/
4 FIELD1 ONQI
5 0
6 JMP SETINT /SET UP #INT INITIALLY
7 ISZ ONQI /BUMP ARG POINTER
8 ISZ INTQ+1 /BUMP INTERRUPT Q POINTER
9 IOF /**
10 DCA% INTQ+1 /STICK IOT ONTO INT Q
11 TAD XSKP /FOLLOWED BY A SKIP
12 ISZ INTQ+1
13 DCA% INTQ+1 /ONTO INT Q
14 ISZ ONQI /SKIP FIRST WORD OF ADDR
15 ISZ INTQ+1
16ONQISW, TAD% ONQI /GET INT HANDLER ADDRESS
17 ISZ ONQI
18 DCA% INTADR+1 /ONTO ADDRESS STACK
19 TAD INTADR+1 /NOW MAKE JMS%
20 AND L177
21 TAD L4600
22 DCA% INTQ+1 /ONTO INT Q
23 ISZ INTADR+1
24 ION /::
25 ISZ IQSIZE /ROOM FOR MORE ?
26 JMP% ONQI /YES
27 TAD .-1 /NO, CLOSE OUT THESUBR
28 DCA ONQI+1
29 JMP% ONQI
30SETINT, TAD ONQISW /DO THIS PART ONLY ONCE
31 DCA ONQI+1
32 CDF
33 IOF /**
34 TAD XSKP /FIX UP #INT
35 DCA% XINT+1
36 ISZ XINT+1
37 TAD INTQ+1
38 DCA% XINT+1
39 ISZ XINT+1
40 TAD CIFCDF
41 DCA% XINT+1
42 ION /**
43CIFCDF, CDF CIF 10
44 JMP ONQI+1 /BACK TO ONQI
45 EXTERN #INT
46XINT, ADDR #INT
47INTQ, ADDR IHANDL
48INTADR, ADDR IHADRS
49IQSIZE, -5
50XSKP, SKP
51L177, 177
52L4600, 4600
53 CDF CIF
54 JMP% IHANDL
55IHANDL, 0
56 REPEAT 16
57 JMP IHANDL-2
58IHADRS, 0;0;0;0;0
59
60 ENTRY ONQB
61ONQB, 0
62 JMP SETBAK /SETUP #IDLE
63 TAD% ONQB /GET ADDRESS OF IDLE JOB
64ONQBSW, ISZ ONQB
65 DCA% BAKADR+1 /STORE ONTO BACKROUND JOB Q
66 TAD BAKADR+1 /MAKE A JMS%
67 ISZ BAKADR+1
68 AND L177
69 TAD L4600
70 ISZ BAKQ+1
71 DCA% BAKQ+1
72 ISZ BQSIZE /MORE ROOM ?
73 JMP% ONQB /YES
74 TAD .-1 /NO, CLOSE THE DOOR
75 DCA ONQB+1
76 JMP% ONQB
77SETBAK, TAD ONQBSW /CLOSE OFF #IDLE INITIALIZATION
78 DCA ONQB+1
79 CDF
80 TAD XSKP /FIX UP #IDLE
81 DCA% XIDLE+1
82 TAD BAKQ+1
83 ISZ XIDLE+1
84 DCA% XIDLE+1
85 ISZ XIDLE+1
86 TAD CIFCDF
87 DCA% XIDLE+1
88 CIF CDF 10
89 JMP ONQB+1
90 EXTERN #IDLE
91XIDLE, ADDR #IDLE
92BAKQ, ADDR BAKRND
93BAKADR, ADDR BHADRS
94BQSIZE, -5
95 CDF CIF
96 JMP% BAKRND
97BAKRND, 0
98 REPEAT 6
99 JMP BAKRND-2
100BHADRS, 0;0;0;0;0
101 END
102\f