(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