make $8000000 a valid long integer (-2147483648)

This commit is contained in:
Irmen de Jong
2025-11-26 23:10:59 +01:00
parent e78345410f
commit b1ef863c7f
12 changed files with 118 additions and 54 deletions
+55 -38
View File
@@ -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()
}
}