*COMDECK QULOCK 
          NAM    QULOCK 
* 
*      GIF = GLOBAL INTERRUPT FLAG (1ST WORD IN STACK AREA HEADER)
* 
*      NOTE THAT THE A-REGISTER IS NOT USED AS IT MAY CONTAIN A 
*      FUNCTION VALUE 
* 
          ENT    QULOCK 
          EXT    QTOPSK 
          EXT    QDEBUG 
* 
QULOCK    IIN    0            INHIBIT INTERRUPTS
          XFQ    3            TRANSFER RETURN ADDRESS TO R3 REGISTER
          LDQ*   (TOP)        LOAD GIF
          INQ    -1           SUBTRACT 1
          SQP    Q010         SKIP POSITIVE 
          RTJ+   QDEBUG       CALL QDEBUG IF GIF GOS NEGATIVE 
          ADC    K6 
          ADC    K0 
Q010      STQ*   (TOP)        SET GIF 
          SQN    Q020         SKIP IF GIF IS NON-ZERO 
          EIN    0            ENABLE INTERRUPTS 
Q020      SJE*   (K0),3       EXIT
* 
TOP       ADC    QTOPSK       POINTER TO TOP OF STACK AREA
K0        NUM    0            CONSTANT 0
K6        NUM    6            CONSTANT 6
          END 
