*DECK GETPIN
          IDENT  GETPIN 
          ENTRY  GETPIN 
          ENTRY  GETPIO 
          SST 
          TITLE  GETPIN/GETPIO - GET PRINT-IMAGE NAME/ORDINAL.
*CALL COMCMAC 
 GETPIN   SPACE  4,10 
**        GETPIN - GET PRINT IMAGE NAME 
* 
*         GETPIN RETURNS THE PRINT IMAGE NAME CORRESPONDING TO THE
*         ORDINAL IN THE PARAMETER WORD.
* 
*         SYMPL FORMAT
*           XREF FUNC GETPIN C(10)
*           ITEM PINAME C(7)
*           ITEM PIORD  U 
*             PINAME = GETPIN(PIORD)
* 
*         ENTRY  X1 = FWA PARAMETER LIST
*                     1ST PARAMETER = 56/,1/PIFLAG,3/PIORD. 
* 
*         EXIT   X6 = 42/0LPINAME,18/0. 
*                   = 0, IF NO PINAME DEFINED FOR PIORD.
* 
*         PROCESS  IF PIFLAG .NE. 0 AND PIORD DEFINED:  
*                    PINAME = TABLE-NAME[PIORD].
*                  ELSE:  
*                    PINAME = 0.
* 
*         USES   A - 1, 3.
*                X - 0, 1, 2, 3, 6, 7.
*                B - 1, 4.
  
  
  
 GETPIN   SUBR                     ENTRY/EXIT 
  
 NOS      IFEQ   OS$NOS 
          SB1    1
          SA3    X1                FETCH PI ORDINAL 
          MX2    -4 
          BX6    -X2*X3 
          MX2    -3 
          BX3    -X2*X3            ISOLATE ORDINAL
          AX6    3
          ZR     X6,GETPINX        IF NO PI ORDINAL GIVEN 
          SA1    TPIN-1            FWA TABLE
  
 GETPIN1  SA1    A1+B1             NEXT TABLE WORD
          MX6    0
          ZR     X1,GETPINX        IF END OF TABLE
          BX7    -X2*X1 
          IX7    X7-X3             COMPARE ORDINALS 
          NZ     X7,GETPIN1        IF NO MATCH
          SX6    X1 
          MX0    1                 FORM MASK
          AX6    6                 MASK VALUE 
          SB4    X6 
          AX6    X0,B4
          BX6    X6*X1             MASK NAME
 NOS      ENDIF 
  
          EQ     GETPINX
 GETPIO   SPACE  4,10 
**        GETPIO - GET PRINT IMAGE ORDINAL
* 
*         GETPIO RETURNS THE PRINT IMAGE ORDINAL CORRESPONDING TO THE 
*         NAME IN THE PARAMETER WORD. 
* 
*         SYMPL FORMAT
*           XREF FUNC GETPIO U
*           ITEM PINAME C(7)
*           ITEM PIORD  U 
*             PIORD = GETPIO(PINAME)
* 
*         ENTRY  X1 = FWA PARAMETER LIST
*                     1ST PARAMETER = 42/0LPINAME,18/.
* 
*         EXIT   X6 = 56/0, 1/1, 3/PIORD. 
*                   = 0, IF PINAME UNDEFINED. 
* 
*         PROCESS  IF PINAME DEFINED IN TABLE:  
*                    PIORD = TABLE-ORD[PINAME] + 40B. 
*                  ELSE:  
*                    PIORD = 0. 
* 
*         USES   A - 1, 3.
*                X - 0, 1, 2, 3, 6, 7.
*                B - 1, 4.
  
  
 GETPIO   SUBR
  
 NOS      IFEQ   OS$NOS 
          SB1    1
          SA3    X1                FETCH PI NAME
          MX0    42 
          BX3    X0*X3             MASK NAME
          SA1    TPIN-1            FWA TABLE
          MX0    1
  
 GETPIO1  SA1    A1+B1             NEXT TABLE WORD
          MX6    0
          ZR     X1,GETPIOX        IF END OF TABLE
          SX6    X1 
          BX7    X1-X3             COMPARE NAMES
          AX6    6                 FORM MASK
          SB4    X6 
          AX6    X0,B4
          BX2    X6*X7             MASK NAME
          NZ     X2,GETPIO1        IF NO MATCH
          MX6    -3 
          BX6    -X6*X1            MASK ORDINAL 
          SX6    X6+10B            SET FLAG 
 NOS      ENDIF 
  
          EQ     GETPIOX           RETURN 
  
 NOS      IFEQ   OS$NOS 
          IF     -DEF,NEEQ,1
 NEEQ     EQU    0                 PREVENT ASSEMBLY WARNING 
          IF     -DEF,TEEQ,1
 TEEQ     EQU    0                 PREVENT ASSEMBLY WARNING 
          IF     -DEF,TTEQ,1
 TTEQ     EQU    0                 PREVENT ASSEMBLY WARNING 
  
 BSS.     OPSYN  BSS               SAVE STANDARD *BSS* DEFINITION 
 BSS      OPSYN  BSSN              REDEFINE *BSS* TO BE *BSSN*
  
 BEGIN    BSSN   0
          XTEXT  COMSBIO
  
 END      BSSN                     RESTORE ORIGIN COUNTER 
  
 BSS      OPSYN  BSS.              RESTORE NORMAL *BSS* DEFINITION
  
 TPIN     SPACE  4,10 
**        TPIN - PRINT-IMAGE-NAME TABLE.
* 
*         42/NAME, 12/MASK, 9/, 3/ORD.
* 
*         NAME - PRINT-IMAGE NAME, 1-7 CHARACTERS.
*         MASK - NAME-MASK (BIT COUNT - 1). 
*         ORD  - PRINT-IMAGE ORDINAL, 0-7.
  
          LIST   G
 TPIN     TPIN                     PRINT-IMAGE-NAME TABLE 
          LIST   *
  
 NOS      ENDIF 
  
          END 
