mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-25 01:14:21 +00:00
36 lines
896 B
Plaintext
36 lines
896 B
Plaintext
; 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
|
||
|