This commit is contained in:
Irmen de Jong 2024-06-01 15:03:01 +02:00
parent 8b10115390
commit 3d799ae7fe
2 changed files with 48 additions and 2 deletions

View File

@ -3,7 +3,9 @@ TODO
https://github.com/irmen/prog8/issues/136 (string.find register order issue)
...
optimize signed byte/word division by powers of 2, it's now using divmod routine. (also % ?)
see inplacemodificationByteVariableWithLiteralval() and inplacemodificationSomeWordWithLiteralval()
Future Things and Ideas

View File

@ -1,8 +1,52 @@
%import textio
%zeropage basicsafe
%option no_sysinit
main {
sub start() {
cx16.scnsiz(20,8)
signed()
unsigned()
}
sub signed() {
byte @shared bvalue = -100
word @shared wvalue = -20000
bvalue /= 2 ; TODO should be a simple bit shift?
wvalue /= 2 ; TODO should be a simple bit shift?
txt.print_b(bvalue)
txt.nl()
txt.print_w(wvalue)
txt.nl()
bvalue *= 2
wvalue *= 2
txt.print_b(bvalue)
txt.nl()
txt.print_w(wvalue)
txt.nl()
}
sub unsigned() {
ubyte @shared ubvalue = 100
uword @shared uwvalue = 20000
ubvalue /= 2
uwvalue /= 2
txt.print_ub(ubvalue)
txt.nl()
txt.print_uw(uwvalue)
txt.nl()
ubvalue *= 2
uwvalue *= 2
txt.print_ub(ubvalue)
txt.nl()
txt.print_uw(uwvalue)
txt.nl()
}
}