The following program produces incorrect results where
#pragma stack 0x300 0x100
int main ()
volatile long res, val1, val2;
volatile long lres, lval1;
res = 0x1234;
res = 12 - res; // patch at 1500 (this failed)
val2 = 0x4567;
res = 0x2345;
res = res - val2; // patch at 1569
val1 = 0x2345;
res = 0x2344;
res = val1 - res; // patch at 1573 (this failed)
lval1 = 0x12345678L;
lres = 0x23456789L;
lres = lres - lval1; // patch at 1569 (this failed)
I uploaded a patch for these issues.
The patch also simplifies the genMinus' code by
introducing efficient code for a more general case than
before (especially patching at 1488,1549 does so).
I left in "comments" for your convenience, feel free to
Log in to post a comment.