On Feb 25, 2014 10:21 PM, "Oliver Meier" <firstname.lastname@example.org> wrote:
> When I assign a value from an array of structs to another variable and
> do some math on the same line, I get ot wrong values.
> ### wrong value ###
> ; .line 87; src/modules/app_ep1_out.c uart_tx_buffer_LEN =
> MOVFF (_ep_bdt + 9), (_ep_bdt + 9)
> DECF (_ep_bdt + 9), W, B
> BANKSEL _uart_tx_buffer_LEN
> MOVWF _uart_tx_buffer_LEN, B
> uart_tx_buffer_LEN => 216
We are missing a banksel before the decf instruction (i. e., we should expect to have banksel _ep_bdt+9 instead of the movff instruction). That is obviously a bug. Please consider filing this work the bug tracker so it does not get lost.
> I'm really bad at assembler, but maye you see the error here?
For one "really bad in assembly" you managed to pin point the problem rather well - impressive ;-).
> Or is it probably a stack overflow or something?
No, not this time.