*COMDECK  PARSEM
          TITLE              MACROS TO SCAN THE E-LIST
 PARSEM   CTEXT  PARSEM - ELIST MANIPULATION MACROS 
*** 
*         THE MACROS USE THE FOLLOWING REGISTERS: 
*                X1,B2 LOWER 48 BITS AND E-LIST CODE
*                B3 IS USED TO HOLD E-LIST CODE FOR TESTS 
*                A4,X4 = E-LIST ADDRESS AND CURRENT ELEMENT 
*                A5,X5 = SELIST,(SELIST)
* 
 GETE     MACRO                    GET CURRENT E-LIST ELEMENT 
          SA5    SELIST 
          SA4    X5 
          UX1    B2,X4
          ENDM
  
 UPDATE   MACRO  R                 UPDATE E-LIST POINTER IN CORE
 Z        SET    R 4
          SX6    A.Z-B5 
          SA6    A5 
          ENDM
  
 ADVIN    MACRO                    GETE AND UPDATE
          GETE
          UPDATE
          ENDM
  
 NEXTE    MACRO  R                 GETE NEXT E-LIST ITEM
 Z        SET    R 4
          SA.Z   A.Z-B5 
          UX1    B2,X.Z 
          ENDM
  
 BACKE    MACRO                    BACK OFF E-LIST POINTER
          SA5    SELIST 
          SX6    X5+B5
          SA6    A5 
          ENDM
  
 CON      MICRO  1,,/B0/           E LIST CODE FOR A CON
 NAME     MICRO  1,,/B5/           E-LIST CODE FOR A NAME ( = 1 ) 
  
 IF.EQ    MACRO  ECODE,LABEL       IF( B2 .EQ. ECODE ) GO TO LABEL
          IF     DEF,ECODE
          SB3    ECODE
          EQ     B2,B3,LABEL
          ELSE
          EQ     B2,"ECODE",LABEL 
          ENDIF 
          ENDM
  
 IF.NE    MACRO  ECODE,LABEL       IF( B2 .NE. ECODE ) GO TO LABEL
          IF     DEF,ECODE
          SB3    ECODE
          NE     B2,B3,LABEL
          ELSE
          NE     B2,"ECODE",LABEL 
          ENDIF 
          ENDM
  
 IF.GE    MACRO  ECODE,LABEL       IF(B2 .GE. ECODE) GO TO LABEL
          IF     DEF,ECODE
          SB3    ECODE
          GE     B2,B3,LABEL
          ELSE
          GE     B2,"ECODE",LABEL 
          ENDIF 
          ENDM
  
 IF.LE    MACRO  ECODE,LABEL       IF(B2 .LE. ECODE) GO TO LABEL
          IF     DEF,ECODE
          SB3    ECODE
          LE     B2,B3,LABEL
          ELSE
          LE     B2,"ECODE",LABEL 
          ENDIF 
          ENDM
  
 IF.GT    MACRO  ECODE,LABEL       IF(B2 .GT. ECODE) GO TO LABEL
          IF     DEF,ECODE
          SB3    ECODE
          GT     B2,B3,LABEL
          ELSE
          GT     B2,"ECODE",LABEL 
          ENDIF 
          ENDM
  
 IF.LT    MACRO  ECODE,LABEL       IF(B2 .LT. ECODE) GO TO LABEL
          IF     DEF,ECODE
          SB3    ECODE
          LT     B2,B3,LABEL
          ELSE
          LT     B2,"ECODE",LABEL 
          ENDIF 
          ENDM
  
          ENDX
