	PSHS	X		preserve array address, then eval array index
	LDD	#$%1		decimal %2 unsigned
	PSHS	B,A	
=
	CLRA
	LDB	#$%1		decimal %2 unsigned
	PSHS	X,B,A		optim: optimizePshsOps

	CMP%1	#0	
	LBGT	L%2	
	LBRA	L%3	
L%2	EQU	*		then
=
	TST%1	
	BLE	L%3	

	CMP%1	#0	
	LBLE	L%2	
	LBRA	L%3	
L%2	EQU	*		then
=
	TST%1
	BGT	L%3	

	CMP%1	#0	
	LBEQ	L%2	
	LBRA	L%3	
L%2	EQU	*		then
=
	TST%1
	BNE	L%3	

	CMP%1	#0	
	LBNE	L%2	
	LBRA	L%3	
L%2	EQU	*		then
=
	TST%1
	BEQ	L%3	

	CMP%1	%2	
	LBGT	L%3	
	LBRA	L%4	
L%3	EQU	*		then
=
	CMP%1	%2
	BLE	L%4	

	CMP%1	%2	
	LBLE	L%3	
	LBRA	L%4	
L%3	EQU	*		then
=
	CMP%1	%2
	BGT	L%4	

	CMP%1	%2	
	LBEQ	L%3	
	LBRA	L%4	
L%3	EQU	*		then
=
	CMP%1	%2
	BNE	L%4	

	CMP%1	%2	
	LBNE	L%3	
	LBRA	L%4	
L%3	EQU	*		then
=
	CMP%1	%2
	BEQ	L%4	

#	CMPB	#0	
#=
#	TSTB

	LDD	#$FF8%1		constant expression: %2 decimal
	LDD	#$FF8%1	
=
	LDB	#$8%1		constant expression: %2 decimal
	SEX	

	LDD	#$FF9%1		constant expression: %2 decimal
	LDD	#$FF9%1	
=
	LDB	#$9%1		constant expression: %2 decimal
	SEX	

	LDD	#$FFA%1		constant expression: %2 decimal
	LDD	#$FFA%1	
=
	LDB	#$A%1		constant expression: %2 decimal
	SEX	

	LDD	#$FFB%1		constant expression: %2 decimal
	LDD	#$FFB%1	
=
	LDB	#$B%1		constant expression: %2 decimal
	SEX	

	LDD	#$FFC%1		constant expression: %2 decimal
	LDD	#$FFC%1	
=
	LDB	#$C%1		constant expression: %2 decimal
	SEX	

	LDD	#$FFD%1		constant expression: %2 decimal
	LDD	#$FFD%1	
=
	LDB	#$D%1		constant expression: %2 decimal
	SEX	

	LDD	#$FFE%1		constant expression: %2 decimal
	LDD	#$FFE%1	
=
	LDB	#$E%1		constant expression: %2 decimal
	SEX	

	LDD	#$FFF%1		constant expression: %2 decimal
	LDD	#$FFF%1	
=
	LDB	#$F%1		constant expression: %2 decimal
	SEX	

	LEAU	,S	
	LEAS	-2,S	
=
	LEAU	,S--	
