if_LT_BRANCH	macro	where
		scope
		jr	nc,where
		endmac	if_LT_BRANCH

if_GT_BRANCH	macro	where
		scope
		jr	c,where
		endmac	if_GT_BRANCH

if_EQ_BRANCH	macro	where
		scope
		jr	z,where
		endmac	if_EQ_BRANCH

if_NE_BRANCH	macro	where
		scope
		jr	nz,where
		endmac	if_NE_BRANCH

if_EQ_GOSUB	macro	where
		scope
		call	z,where
		endmac	if_EQ_GOSUB

if_GE_GOSUB	macro	where
		scope
		call	z,where			; If EQUAL =.
		call	c,where			; If GREATER THAN > then carry is set.
		endmac	if_GE_GOSUB

if_GT_GOSUB	macro	where
		scope
		call	c,where			; GREATER THAN >.
		endmac	if_GT_GOSUB

if_LE_GOSUB	macro	where
		scope
		call	z,where			; If EQUAL =.
		call	nc,where		; If LESS THAN <.
		endmac	if_LE_GOSUB

if_LT_GOSUB	macro	where			; If LESS THAN <.
		scope
		call	nc,where
		endmac	if_LT_GOSUB

if_NE_GOSUB	macro	where			; If NOT EQUAL <>.
		scope
		call	nz,where
		endmac	if_NE_GOSUB

if_PE_GOSUB	macro	where			; If parity even then gosub.
		scope
		call	pe,label
		endmac	if_PE_GOSUB

if_PO_GOSUB	macro	where			; If parity off gosub.
		scope
		call	po,where
		endmac	if_PO_GOSUB

if_EQ_GOTO	macro	where
		scope
		jp	z,where
		endmac	if_EQ_GOTO

if_GE_GOTO	macro	where
		scope
		jp	z,where
		jp	c,where
		endmac	if_GE_GOTO

if_GT_GOTO	macro	where
		scope
		jp	c,where
		endmac	if_GT_GOTO

if_LE_GOTO	macro	where
		scope
		jp	z,where
		jp	nc,where
		endmac	if_LE_GOTO

if_LT_GOTO	macro	where
		scope
		jp	nc,where
		endmac	if_LT_GOTO

if_NE_GOTO	macro	where
		scope
		jp	nz,where
		endmac	if_NE_GOTO

if_EQ_RETURN	macro				; If equal, z is set, return.
		scope
		ret	z
		endmac	if_EQ_RETURN

if_NE_RETURN	macro				; If Z flag NOT set, return.
		scope
		ret	nz
		endmac	if_NE_RETURN