??? 01/21/10 18:32 Modified: 01/21/10 18:35 Read: times |
#172644 - Have you tried doing this in ASM? Responding to: ???'s previous message |
If you break the code into segments, each having the function as desired, but not as the compiler does it, perhaps you can isolate the fault. If the ASM code works as desired, yet the compiled code doesn't then it's likely that the compiler is broken (probably setup). OTOH, if it fails to function as it should when written in ASM, I'd say it points to broken hardware.
I can't imagine a healthy MCU failing to generate the correct sequence in a loop such as yours, but it's not clear what else may be going on that could modify the value of your index. If you take out the loop and rewrite it in ASM, then both simulate and run the thing on an MCU as naked as can actually test your function, that will certainly shed some light. Of course, a 'scope/logic analyzer might help, too. It's all about "divide and conquer." This is, of course, as much about confidence-building as about debugging. RE |