mirror of
https://github.com/byteworksinc/ORCA-C.git
synced 2024-09-27 03:54:30 +00:00
Fix bug in unsigned 32-bit division and remainder routines, which could cause mis-evaluation of constant expressions.
The following example shows cases that were mis-evaluated: /* Should print "3 10000" */ #include <stdio.h> int main(void) { printf("%lu %lu\n", 100000ul / 30000ul, 100000ul % 30000ul); }
This commit is contained in:
parent
d0b4b75970
commit
f4ad0fab80
@ -90,7 +90,7 @@ dv3 asl ans roll up the next number
|
||||
rol ans+6
|
||||
sec subtract for this digit
|
||||
lda ans+4
|
||||
sbc num1
|
||||
sbc num2
|
||||
tax
|
||||
lda ans+6
|
||||
sbc num2+2
|
||||
@ -267,7 +267,7 @@ dv3 asl ans roll up the next number
|
||||
rol ans+6
|
||||
sec subtract for this digit
|
||||
lda ans+4
|
||||
sbc num1
|
||||
sbc num2
|
||||
tax
|
||||
lda ans+6
|
||||
sbc num2+2
|
||||
|
Loading…
Reference in New Issue
Block a user