(C)stachan 04.03.2024

YASP: Carry & Zero Flags

main:
	random b0	; byte registers only
	random b1
	debug b0
	debug b1
	cmp b0,b1
	jZ reg_zero 	; if values are equal
	JNZ reg_nzero 	; else if not
	jmp main
reg_zero:
	echo tx_zero
	pause 50000
	jc reg_carry	; if b1 > b0
	jnc reg_ncarry	; else if not
reg_nzero:
	echo tx_nzero
	pause 50000
	jc reg_carry
	jnc reg_ncarry
reg_carry:
	echo tx_carry
	pause 50000
	echo tx_line
	jmp main
reg_ncarry:
	echo tx_ncarry
	pause 50000
	echo tx_line
	jmp main
tx_zero:
	string "ZERO Flag is set. B0=B1"

tx_nzero:
	string "ZERO Flag is NOT set. B0!=B1"

tx_carry:
	string "CARRY Flag is set. B0<B1"

tx_ncarry:
	string "CARRY Flag is NOT set. B0>B1"
tx_line:
	string "-----"
END