home *** CD-ROM | disk | FTP | other *** search
-
- *TEST IF VALUE IS IN A RANGE
- *USES: AC
- *
- * INRNG VAR,LOW,HIGH,LABEL
- *
- *BRANCH TO LABEL IF THE CONTENTS OF VAR IS >=LOW
- * <= HIGH
- *LOW AND HIGH MAY BE CONSTANTS OR VARIABLES
-
- COPY MACROS.LCAC
-
- INRNG $MACRO A,B,C,D RANGE INSIDE TEST
- $VAR L
- $ASG '$$LAB' TO L.S UNIQUE LABEL VAR
- $ASG L.SV+1 TO L.SV
- $IF B.SA&$UNDF
- LCAC -(:B.V:) LOAD -(:B:)
- ADD :A:,0 COMP TO :A:
- $ELSE
- LAC :A:,0 LOAD :A:
- SUB :B:,0 COMP TO :B:
- $ENDIF
- BLZ L$:L.SV: BRANCH IF :A:<:B:
- $IF C.SA&$UNDF
- LCAC -(:C.V:) LOAD -(:C:)
- ADD :A:,0 COMP TO :A:
- $ASG L.SV-1 TO L.SV
- $ELSE
- LAC :A:,0 LOAD :A:
- SUB :C:,0 COMP TO :C:
- $ENDIF
- BLEZ :D: BRANCH IF :A:>=:B: & :A:<=:C:
- L$:L.SV: EQU $
- $END