; MACRO LIBRARY FOR "WHEN" CONSTRUCT ; ; "WHEN" COUNTERS ; LABEL GENERATORS GENWTST MACRO TST,X,Y,NUM ;; GENERATE A "WHEN" TEST (NEGATED FORM), ;; INVOKE MACRO "TST" WITH PARAMETERS ;; X,Y WITH JUMP TO ENDW & NUM TST X,Y,,ENDW&NUM ENDM ; GENLAB MACRO LAB,NUM ;; PRODUCE THE LABEL "LAB" & "NUM" LAB&NUM: ENDM ; ; "WHEN" MACROS FOR START AND END ; WHEN MACRO XV,REL,YV ;; INITIALIZE COUNTERS FIRST TIME WCNT SET 0 ;;NUMBER OF WHENS WHEN MACRO X,R,Y GENWTST R,X,Y,%WCNT WLEV SET WCNT ;;NEXT ENDW TO GENERATE WCNT SET WCNT+1 ;;NUMBER OF "WHEN"S ENDM WHEN XV,REL,YV ENDM ; ENDW MACRO ;; GENERATE THE ENDING CODE FOR A "WHEN" GENLAB ENDW,%WLEV WLEV SET WLEV-1 ;;COUNT CURRENT LEVEL DOWN ;; WLEV MUST NOT GO BELOW 0 (NOT CHECKED) ENDM