mirror of
https://github.com/irmen/prog8.git
synced 2026-04-24 05:25:49 +00:00
make $8000000 a valid long integer (-2147483648)
This commit is contained in:
+55
-38
@@ -4,55 +4,72 @@
|
||||
|
||||
main {
|
||||
sub start() {
|
||||
long @shared l
|
||||
long @shared l1, l2
|
||||
|
||||
;l = 2147483648
|
||||
|
||||
l = $21111111
|
||||
testdec(l)
|
||||
l = $20000000
|
||||
testdec(l)
|
||||
l = 4026531840
|
||||
testdec(l)
|
||||
txt.nl()
|
||||
|
||||
l = $21111111
|
||||
testinc(l)
|
||||
l = $2fffffff
|
||||
testinc(l)
|
||||
}
|
||||
|
||||
sub testdec(long l) {
|
||||
txt.print_ulhex(l, true)
|
||||
l1 = $7fffffff
|
||||
txt.print_ulhex(l1, true)
|
||||
txt.spc()
|
||||
txt.print_l(l)
|
||||
txt.print_l(l1)
|
||||
txt.nl()
|
||||
|
||||
l++
|
||||
txt.print_ulhex(l, true)
|
||||
l2 = $80000000
|
||||
txt.print_ulhex(l2, true)
|
||||
txt.spc()
|
||||
txt.print_l(l)
|
||||
txt.print_l(l2)
|
||||
txt.nl()
|
||||
|
||||
l--
|
||||
l--
|
||||
txt.print_ulhex(l, true)
|
||||
l1 = -2147483648
|
||||
txt.print_ulhex(l1, true)
|
||||
txt.spc()
|
||||
txt.print_l(l)
|
||||
txt.nl()
|
||||
txt.nl()
|
||||
}
|
||||
|
||||
sub testinc(long l) {
|
||||
txt.print_ulhex(l, true)
|
||||
txt.spc()
|
||||
txt.print_l(l)
|
||||
txt.print_l(l1)
|
||||
txt.nl()
|
||||
|
||||
l++
|
||||
txt.print_ulhex(l, true)
|
||||
l2 = -2147483649 ; will be truncated
|
||||
txt.print_ulhex(l2, true)
|
||||
txt.spc()
|
||||
txt.print_l(l)
|
||||
txt.print_l(l2)
|
||||
txt.nl()
|
||||
|
||||
l1 = $abcd1234
|
||||
txt.print_ulhex(l1, true)
|
||||
txt.spc()
|
||||
txt.print_l(l1)
|
||||
txt.nl()
|
||||
|
||||
l2 = -$7fffffff
|
||||
txt.print_ulhex(l2, true)
|
||||
txt.spc()
|
||||
txt.print_l(l2)
|
||||
txt.nl()
|
||||
|
||||
l1 = $80000001
|
||||
txt.print_ulhex(l1, true)
|
||||
txt.spc()
|
||||
txt.print_l(l1)
|
||||
txt.nl()
|
||||
|
||||
l2 = -$80
|
||||
txt.print_ulhex(l2, true)
|
||||
txt.spc()
|
||||
txt.print_l(l2)
|
||||
txt.nl()
|
||||
|
||||
l2 ^= $80000000
|
||||
txt.print_ulhex(l2, true)
|
||||
txt.spc()
|
||||
txt.print_l(l2)
|
||||
txt.nl()
|
||||
|
||||
l2 = $80
|
||||
txt.print_ulhex(l2, true)
|
||||
txt.spc()
|
||||
txt.print_l(l2)
|
||||
txt.nl()
|
||||
|
||||
l2 |= $80000000
|
||||
txt.print_ulhex(l2, true)
|
||||
txt.spc()
|
||||
txt.print_l(l2)
|
||||
txt.nl()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user