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