File: ONQIB.LS of Disk: V50/Source/Source-Listing-RALF-1
(Source file text)
RALF V50A 8-APR-92 PAGE 1 /ON INTERRUPT QUEUE + ON BACKGROUND QUEUE ROUTINES / / / VERSION 50A 27-MAY-80 WVDM / / FIELD1 ONQI /PDP8-CODE 00000 0000 0 00001 5231 JMP SETINT /SET UP #INT INITIALLY 00002 2200 ISZ ONQI /BUMP ARG POINTER 00003 2253 ISZ INTQ+1 /BUMP INTERRUPT Q POINTER 00004 6002 IOF /** 00005 3653 DCA% INTQ+1 /STICK IOT ONTO INT Q 00006 1257 TAD XSKP /FOLLOWED BY A SKIP 00007 2253 ISZ INTQ+1 00010 3653 DCA% INTQ+1 /ONTO INT Q 00011 2200 ISZ ONQI /SKIP FIRST WORD OF ADDR 00012 2253 ISZ INTQ+1 00013 1600 ONQISW, TAD% ONQI /GET INT HANDLER ADDRESS 00014 2200 ISZ ONQI 00015 3655 DCA% INTADR+1 /ONTO ADDRESS STACK 00016 1255 TAD INTADR+1 /NOW MAKE JMS% 00017 0260 AND L177 00020 1261 TAD L4600 00021 3653 DCA% INTQ+1 /ONTO INT Q 00022 2255 ISZ INTADR+1 00023 6001 ION /:: 00024 2256 ISZ IQSIZE /ROOM FOR MORE ? 00025 5600 JMP% ONQI /YES 00026 1225 TAD .-1 /NO, CLOSE OUT THE SUBR 00027 3201 DCA ONQI+1 00030 5600 JMP% ONQI / 00031 1213 SETINT, TAD ONQISW /DO THIS PART ONLY ONCE 00032 3201 DCA ONQI+1 00033 6201 CDF 0 00034 6002 IOF /** 00035 1257 TAD XSKP /FIX UP #INT 00036 3651 DCA% XINT+1 00037 2251 ISZ XINT+1 00040 1253 TAD INTQ+1 00041 3651 DCA% XINT+1 00042 2251 ISZ XINT+1 00043 1246 TAD CIFCDF 00044 3651 DCA% XINT+1 00045 6001 ION /** 00046 6213 CIFCDF, CDF CIF 10 00047 5201 JMP ONQI+1 /BACK TO ONQI / EXTERN #INT 00050 0000 XINT, ADDR #INT 00051 0000 00052 0000 INTQ, ADDR IHANDL 00053 0064 00054 0000 INTADR, ADDR IHADRS 00055 0103 RALF V50A 8-APR-92 PAGE 1-1 00056 7773 IQSIZE, -5 00057 7410 XSKP, SKP 00060 0177 L177, 177 00061 4600 L4600, 4600 00062 6203 CDF CIF 00063 5664 JMP% IHANDL 00064 0000 IHANDL, 0 REPEAT 16 00065 5262 JMP IHANDL-2 00103 0000 IHADRS, 0;0;0;0;0 00104 0000 00105 0000 00106 0000 00107 0000 RALF V50A 8-APR-92 PAGE 2 ENTRY ONQB 00110 0000 ONQB, 0 00111 5330 JMP SETBAK /SETUP #IDLE 00112 1710 TAD% ONQB /GET ADDRESS OF IDLE JOB 00113 2310 ONQBSW, ISZ ONQB 00114 3752 DCA% BAKADR+1 /STORE ONTO BACKROUND JOB Q 00115 1352 TAD BAKADR+1 /MAKE A JMS% 00116 2352 ISZ BAKADR+1 00117 0260 AND L177 00120 1261 TAD L4600 00121 2350 ISZ BAKQ+1 00122 3750 DCA% BAKQ+1 00123 2353 ISZ BQSIZE /MORE ROOM ? 00124 5710 JMP% ONQB /YES 00125 1324 TAD .-1 /NO, CLOSE THE DOOR 00126 3311 DCA ONQB+1 00127 5710 JMP% ONQB / 00130 1313 SETBAK, TAD ONQBSW /CLOSE OFF #IDLE INITIALIZATION 00131 3311 DCA ONQB+1 00132 6201 CDF 0 00133 1257 TAD XSKP /FIX UP #IDLE 00134 3746 DCA% XIDLE+1 00135 1350 TAD BAKQ+1 00136 2346 ISZ XIDLE+1 00137 3746 DCA% XIDLE+1 00140 2346 ISZ XIDLE+1 00141 1246 TAD CIFCDF 00142 3746 DCA% XIDLE+1 00143 6213 CIF CDF 10 00144 5311 JMP ONQB+1 / EXTERN #IDLE 00145 0000 XIDLE, ADDR #IDLE 00146 0000 00147 0000 BAKQ, ADDR BAKRND 00150 0156 00151 0000 BAKADR, ADDR BHADRS 00152 0165 00153 7773 BQSIZE, -5 00154 6203 CDF CIF 00155 5756 JMP% BAKRND 00156 0000 BAKRND, 0 REPEAT 6 00157 5354 JMP BAKRND-2 00165 0000 BHADRS, 0;0;0;0;0 00166 0000 00167 0000 00170 0000 00171 0000 RALF V50A 8-APR-92 PAGE 2-1 NO ERRORS 24 SYMBOLS, NO ABS REFS # C 00000 #IDLE X 00000 #INT X 00000 #MAIN S 00000 BAKADR 00151 BAKQ 00147 BAKRND 00156 BHADRS 00165 BQSIZE 00153 CIFCDF 00046 IHADRS 00103 IHANDL 00064 INTADR 00054 INTQ 00052 IQSIZE 00056 L177 00060 L4600 00061 ONQB 00110 ONQBSW 00113 ONQI F 00172 ONQISW 00013 SETBAK 00130 SETINT 00031 XIDLE 00145 XINT 00050 XSKP 00057