ASMB,Q,C
*     NAME:   XLUEX 
*     SOURCE: 92070-18237 
*     RELOC:  92070-1X237 
*     PGMR:   HLC 
* 
* 
*  **************************************************************** 
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979.  ALL RIGHTS      * 
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,       * 
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * 
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.        * 
*  **************************************************************** 
* 
* 
      NAM XLUEX,7  92070-1X237  REV.1941  800109
      EXT .MVW,EXEC,.ENTR 
      ENT XLUEX 
* 
A     EQU 0 
B     EQU 1 
* 
* 
*     NOTE: 
*         DO NOT CHANGE THE ORDER OF XLUEX,RTN1,FRTN
* 
      ORB 
.XLUI DEF XLUEX,I 
.XLU  DEF XLUEX 
      ORR 
* 
* 
XLUEX NOP 
      LDA XLUEX     .FETCH ADDRESS OF 'DEF RTN' 
      LDB A,I       .FETCH 'RTN' ADDRESS
      STA YLUEX     .SET UP FOR PRAM ADDRESS TRANSFER 
      CMA           .CALCULATE PARAMETER COUNT
      ADA B 
      STA CNT 
      STB XLUEX     .SET RETURN ADDRESS 
      JMP MVPRM     .DO THE PRAMETER FETCH
* 
TOP   LDB .PRAM     .SET RETURN ADDRESS 
      ADB CNT 
      STB RTN1      .IN THE FAKED CALL
      LDA .FRTN     .PUT IN RETURN CODE 
      JSB .MVW
      DEF .3
      NOP 
* 
*     THE FOLLOWING CODE WILL FILTER OUT THE IO REQUESTS
*     ONLY THOSE REQUESTS WILL HAVE THE SECOND PARAMETER
*     CHANGED TO A SINGLE WORD QUANITY
* 
      LDB TABLE 
      STB TEMP      .SET TABLE LENGTH 
      LDB .TABL     .SET TABLE ADDRESS
      LDA PRAM,I
      AND =B77      .FETCH ICODE WORD 
TOP2  CPA B,I       .IF A MATCH - PATCH ICNWD 
      JMP DOIT
      ISZ TEMP      .DONE ? 
      INB,RSS       .NO LOOK MORE 
      JMP NODO      .YES FINISHED NOT AN IO REQUEST 
      JMP TOP2
* 
DOIT  DLD ICNWD,I   .FETCH THE DOUBLE WORD LU/FUNCTION CODE 
      AND =B77      .ELIMINATE ANY BITS ABOVE 5 
      IOR B         .BLEND IN FUNCTION CODE 
      STA TEMP      .SET UP TEMP WITH PROPER VALUE
      LDA .TEMP     .CHANGE PARAMETER ADDRESS 
      STA ICNWD 
* 
NODO  JSB EXEC      .DO THE EXEC CALL 
RTN1  NOP 
PRAM  NOP 
ICNWD NOP 
      REP 12        INCLUDES PARAMETERS AND 'JMP .XLUI,I' SEQUENCE
      NOP 
* 
* 
YLUEX NOP 
MVPRM JSB .ENTR 
.PRAM DEF PRAM
      JMP TOP 
* 
FRTN  JMP .XLUI,I   .P+1 RETURN POINT 
      ISZ .XLU,I
      JMP .XLUI,I   .P+2 RETURN POINT 
* 
* 
.3    DEC 3 
TEMP  NOP 
.TEMP DEF TEMP
CNT   NOP 
.FRTN DEF FRTN
.TABL DEF TABLE+1 
TABLE DEC -8
      DEC 1,2,3,13,17,18,19,20
      END 
                                                                                                                                                                                                    