| 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 |
| 16 | ONQISW, 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 |
| 30 | SETINT, 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 /** |
| 43 | CIFCDF, CDF CIF 10 |
| 44 | JMP ONQI+1 /BACK TO ONQI |
| 45 | EXTERN #INT |
| 46 | XINT, ADDR #INT |
| 47 | INTQ, ADDR IHANDL |
| 48 | INTADR, ADDR IHADRS |
| 49 | IQSIZE, -5 |
| 50 | XSKP, SKP |
| 51 | L177, 177 |
| 52 | L4600, 4600 |
| 53 | CDF CIF |
| 54 | JMP% IHANDL |
| 55 | IHANDL, 0 |
| 56 | REPEAT 16 |
| 57 | JMP IHANDL-2 |
| 58 | IHADRS, 0;0;0;0;0 |
| 59 | |
| 60 | ENTRY ONQB |
| 61 | ONQB, 0 |
| 62 | JMP SETBAK /SETUP #IDLE |
| 63 | TAD% ONQB /GET ADDRESS OF IDLE JOB |
| 64 | ONQBSW, 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 |
| 77 | SETBAK, 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 |
| 91 | XIDLE, ADDR #IDLE |
| 92 | BAKQ, ADDR BAKRND |
| 93 | BAKADR, ADDR BHADRS |
| 94 | BQSIZE, -5 |
| 95 | CDF CIF |
| 96 | JMP% BAKRND |
| 97 | BAKRND, 0 |
| 98 | REPEAT 6 |
| 99 | JMP BAKRND-2 |
| 100 | BHADRS, 0;0;0;0;0 |
| 101 | END |
| 102 | \f |