ASMB,R,Q,C
      HED #ICV0   91750-1X200 REV.2013 * (C) HEWLETT-PACKARD CO. 1980 
      NAM #ICV0,7 91750-1X200 REV.2013 800326 ALL 
      SPC 1 
******************************************************************
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1980.  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.       *
******************************************************************
      SPC 2 
      ENT #ICV0 
*                                         ************************
* NAME:   #ICV0                           *                      *
* SOURCE: 91750-18200                     *  THIS MODULE KNOWS   *
* RELOC:  PART OF 91750-12002             *  ONLY ABOUT LEVEL 0  *
* PGMR:   JIM HARTSELL                    *  MESSAGE FORMATS     *
*                                         *                      *
*                                         ************************
* 
* 
* SUBROUTINE TO PERFORM REQUEST-SPECIFIC CONVERSION FOR "INCNV".
* 
*  <<<<<   CALLED BEFORE CONVERSION FROM LEVEL 0 TO LEVEL 1   >>>>> 
* 
*  <<<<<       A-REGISTER = ADDRESS OF LEVEL 0 REQUEST        >>>>> 
*  <<<<<       B-REGISTER = LENGTH  OF LEVEL 0 REQUEST        >>>>> 
* 
      SPC 5 
      SUP 
B     EQU 1 
* 
#ICV0 NOP           ENTRY.
      STA RQADR     SAVE ADDRESS OF REQUEST.
      STB RQLEN     SAVE LENGTH OF REQUEST. 
* 
      LDA RQADR,I   GET STREAM WORD.
      AND B77 
      CPA B3        CHECK STREAM TYPE.
      RSS 
      CPA B5
      RSS 
      JMP EXIT      NOT DEXEC: NO CONVERSION. 
* 
      LDA RQADR,I   DEXEC:
      RAL           IF THIS IS A
      SSA,RSS         REQUEST, GO DO
      JMP REQ           CONVERSION. 
* 
      CLA             REPLY FROM LEVEL 0 NODE:
      LDB RQADR         ADD A ZERO WORD 
      ADB RQLEN         ("$OPSY") TO THE
      STA B,I           END OF THE BUFFER.
      JMP BUMP        GO BUMP THE LENGTH. 
* 
REQ   LDB RQADR     GET ICODE PARAM (LEVEL 0).
      ADB B4
      LDA B,I 
      AND B377
      CPA D13       IF ICODE IS NOT 
      JMP ADJ0
      ADA N4          1,2,3, OR 13, 
      SSA,RSS 
      JMP EXIT          NO CONVERSION REQUIRED. 
* 
* REFORMAT ICODE 1,2,3,13 REQUESTS TO INCLUDE LEVEL 1 #CWX = 0. 
* 
ADJ0  ADB B3        POINT TO WORD 7 (OLD #PM1, NEW #BFL). 
      STB TEMP
      INB           POINT TO WORD 8 (OLD #PM2, NEW #PM1). 
      STB TEMP1 
* 
      DLD TEMP,I    MOVE THE OPTIONAL PARAMS TO 
      DST TEMP1,I     THEIR PROPER LOCATIONS (+1).
      LDB TEMP
      ADB N1
      STB TEMP
      LDB TEMP,I    GET LENGTH OR CONTROL PARAM,
      CLA             CLEAR LU EXTENSION FOR NOW, 
      DST TEMP,I        AND SET INTO PROPER PLACE.
* 
      LDB TEMP      POINT TO ICODE PARAM. 
      ADB N2
      LDA B,I       SET "DLUEX" BIT IN ICODE (BIT 12).
      IOR DLUFL 
      STA B,I 
      INB           POINT TO LU WORD. 
      LDA B,I 
      STA TEMP1     SAVE FOR FCN PART.
      AND B77       KEEP LU PORTION,
      IOR BIT15       AND SET "NO SST MAPPING" BIT. 
      STA B,I         STORE AS 1ST WORD.
      LDA TEMP1     SET UP FUNCTION CODE WORD 
      AND FCMSK       (LU EXTENSION). 
      STA TEMP,I      STORE AS 2ND WORD.
* 
BUMP  ISZ RQLEN     BUMP REQUEST BUFFER LENGTH BY 1.
* 
EXIT  ISZ #ICV0     SET FOR NORMAL RETURN.
      LDB RQLEN     RETURN WITH LENGTH OF REQUEST.
      JMP #ICV0,I 
* 
* 
B3    OCT 3 
B4    OCT 4 
B5    OCT 5 
B77   OCT 77
B377  OCT 377 
BIT15 OCT 100000
D13   DEC 13
N1    DEC -1
N2    DEC -2
N4    DEC -4
FCMSK OCT 3700
DLUFL OCT 10000 
TEMP  NOP 
TEMP1 NOP 
RQLEN NOP 
RQADR NOP 
* 
      BSS 0         SIZE OF MODULE. 
* 
      END 
                                                                                                                                                                                                                                                      