prog8/examples/comparisons_byte.p8

106 lines
1.8 KiB
Plaintext
Raw Normal View History

2018-12-09 15:16:46 +00:00
%import c64utils
%zeropage basicsafe
2018-12-09 15:16:46 +00:00
2019-07-29 21:11:13 +00:00
main {
2018-12-09 15:16:46 +00:00
sub start() {
byte v1
byte v2
ubyte cr
c64scr.print("signed byte ")
2018-12-09 15:16:46 +00:00
cr=v1==v2
cr=v1==v2
cr=v1==v2
cr=v1!=v2
cr=v1!=v2
cr=v1!=v2
cr=v1<v2
cr=v1<v2
cr=v1<v2
cr=v1<v2
cr=v1>v2
cr=v1>v2
cr=v1>v2
cr=v1>v2
cr=v1>v2
cr=v1<=v2
cr=v1<=v2
cr=v1<=v2
cr=v1<=v2
cr=v1>=v2
cr=v1>=v2
cr=v1>=v2
cr=v1>=v2
cr=v1>=v2
; comparisons:
v1=-20
v2=125
c64scr.print("v1=-20, v2=125\n")
2018-12-09 15:16:46 +00:00
compare()
v1=80
v2=80
c64scr.print("v1 = v2 = 80\n")
2018-12-09 15:16:46 +00:00
compare()
v1=20
v2=-111
c64scr.print("v1=20, v2=-111\n")
2018-12-09 15:16:46 +00:00
compare()
check_eval_stack()
return
2018-12-09 15:16:46 +00:00
sub compare() {
c64scr.print(" == != < > <= >=\n")
2018-12-09 15:16:46 +00:00
if v1==v2
c64scr.print(" Q ")
else
c64scr.print(" . ")
if v1!=v2
c64scr.print(" Q ")
else
c64scr.print(" . ")
2018-12-09 15:16:46 +00:00
if v1<v2
c64scr.print(" Q ")
else
c64scr.print(" . ")
2018-12-09 15:16:46 +00:00
if v1>v2
c64scr.print(" Q ")
else
c64scr.print(" . ")
2018-12-09 15:16:46 +00:00
if v1<=v2
c64scr.print(" Q ")
else
c64scr.print(" . ")
2018-12-09 15:16:46 +00:00
if v1>=v2
c64scr.print(" Q ")
else
c64scr.print(" . ")
2018-12-09 15:16:46 +00:00
c64.CHROUT('\n')
}
}
sub check_eval_stack() {
c64scr.print("stack x=")
c64scr.print_ub(X)
if X==255
c64scr.print(" ok\n")
else
c64scr.print(" error!\n")
}
2018-12-09 15:16:46 +00:00
}