2018-12-09 16:16:46 +01:00
|
|
|
%import c64utils
|
2019-01-05 16:09:05 +01:00
|
|
|
%import c64flt
|
2019-02-03 00:14:56 +01:00
|
|
|
%zeropage basicsafe
|
2018-12-09 16:16:46 +01:00
|
|
|
|
2019-07-29 23:11:13 +02:00
|
|
|
main {
|
2018-12-09 16:16:46 +01:00
|
|
|
|
|
|
|
sub start() {
|
|
|
|
|
|
|
|
float v1
|
|
|
|
float v2
|
|
|
|
ubyte cr
|
|
|
|
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print("floating point ")
|
2018-12-09 16:16:46 +01: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=666.66
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print("v1=20, v2=666.66\n")
|
2018-12-09 16:16:46 +01:00
|
|
|
compare()
|
|
|
|
|
|
|
|
v1=-20
|
|
|
|
v2=666.66
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print("v1=-20, v2=666.66\n")
|
2018-12-09 16:16:46 +01:00
|
|
|
compare()
|
|
|
|
|
|
|
|
v1=666.66
|
|
|
|
v2=555.55
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print("v1=666.66, v2=555.55\n")
|
2018-12-09 16:16:46 +01:00
|
|
|
compare()
|
|
|
|
|
|
|
|
v1=3.1415
|
|
|
|
v2=-3.1415
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print("v1 = 3.1415, v2 = -3.1415\n")
|
2018-12-09 16:16:46 +01:00
|
|
|
compare()
|
|
|
|
|
|
|
|
v1=3.1415
|
|
|
|
v2=3.1415
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print("v1 = v2 = 3.1415\n")
|
2018-12-09 16:16:46 +01:00
|
|
|
compare()
|
|
|
|
|
|
|
|
v1=0
|
|
|
|
v2=0
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print("v1 = v2 = 0\n")
|
2018-12-09 16:16:46 +01:00
|
|
|
compare()
|
|
|
|
|
2020-03-13 00:27:33 +01:00
|
|
|
check_eval_stack()
|
2018-12-09 19:48:59 +01:00
|
|
|
return
|
|
|
|
|
2020-03-14 14:40:39 +01:00
|
|
|
sub compare() {
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print(" == != < > <= >=\n")
|
2018-12-09 16:16:46 +01:00
|
|
|
|
2018-12-09 19:48:59 +01:00
|
|
|
if v1==v2
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print(" Q ")
|
2018-12-09 19:48:59 +01:00
|
|
|
else
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print(" . ")
|
2018-12-09 19:48:59 +01:00
|
|
|
if v1!=v2
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print(" Q ")
|
2018-12-09 19:48:59 +01:00
|
|
|
else
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print(" . ")
|
2018-12-09 16:16:46 +01:00
|
|
|
|
2018-12-09 19:48:59 +01:00
|
|
|
if v1<v2
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print(" Q ")
|
2018-12-09 19:48:59 +01:00
|
|
|
else
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print(" . ")
|
2018-12-09 16:16:46 +01:00
|
|
|
|
2018-12-09 19:48:59 +01:00
|
|
|
if v1>v2
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print(" Q ")
|
2018-12-09 19:48:59 +01:00
|
|
|
else
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print(" . ")
|
2018-12-09 16:16:46 +01:00
|
|
|
|
2018-12-09 19:48:59 +01:00
|
|
|
if v1<=v2
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print(" Q ")
|
2018-12-09 19:48:59 +01:00
|
|
|
else
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print(" . ")
|
2018-12-09 16:16:46 +01:00
|
|
|
|
2018-12-09 19:48:59 +01:00
|
|
|
if v1>=v2
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print(" Q ")
|
2018-12-09 19:48:59 +01:00
|
|
|
else
|
2019-01-15 21:35:15 +01:00
|
|
|
c64scr.print(" . ")
|
2018-12-09 16:16:46 +01:00
|
|
|
c64.CHROUT('\n')
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2020-03-13 00:27:33 +01:00
|
|
|
sub check_eval_stack() {
|
2020-03-22 23:50:15 +01:00
|
|
|
if X!=255 {
|
|
|
|
c64scr.print("x=")
|
|
|
|
c64scr.print_ub(X)
|
2020-03-13 00:27:33 +01:00
|
|
|
c64scr.print(" error!\n")
|
2020-03-22 23:50:15 +01:00
|
|
|
}
|
2020-03-13 00:27:33 +01:00
|
|
|
}
|
2018-12-09 16:16:46 +01:00
|
|
|
}
|