IF	    MACRO
ifok	    SET     0
	    IFC     \1,eq
	    bne.s   else\2
ifok	    SET     1
	    ENDC
	    IFC     \1,ne
	    beq.s   else\2
ifok	    SET     1
	    ENDC
	    IFC     \1,ge
	    blt.s   else\2
ifok	    SET     1
	    ENDC
	    IFC     \1,gt
	    ble.s   else\2
ifok	    SET     1
	    ENDC
	    IFC     \1,le
	    bgt.s   else\2
ifok	    SET     1
	    ENDC
	    IFC     \1,lt
	    bge.s   else\2
ifok	    SET     1
	    ENDC
	    IFEQ    ifok
	    FAIL    'Bad IF'
	    ENDC
	    ENDM

ELSE	    MACRO
	    bra.s   fi\1
else\1:
	    ENDM

FI	    MACRO
	    IFND    else\1
else\1:
	    ENDC
fi\1:
	    ENDM

DO	    MACRO
do\1:
	    ENDM

OD	    MACRO
	    bra.s   do\1
od\1:
	    ENDM

ODL	    MACRO
	    bra     do\1
od\1:
	    ENDM

WHILE	    MACRO
whilok	    SET     0
	    IFC     \1,eq
	    bne.s   od\2
whilok	    SET     1
	    ENDC
	    IFC     \1,ne
	    beq.s   od\2
whilok	    SET     1
	    ENDC
	    IFC     \1,ge
	    blt.s   od\2
whilok	    SET     1
	    ENDC
	    IFC     \1,gt
	    ble.s   od\2
whilok	    SET     1
	    ENDC
	    IFC     \1,le
	    bgt.s   od\2
whilok	    SET     1
	    ENDC
	    IFC     \1,lt
	    bge.s   od\2
whilok	    SET     1
	    ENDC
	    IFEQ    whilok
	    FAIL    'Bad WHILE'
	    ENDC
	    ENDM

UNTIL	    MACRO
	    b\1.s   od\2
	    ENDM

QUIF	    MACRO
	    b\1.s   od\2
	    ENDM
