You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This was a previously untested and incorrectly handled case. There
was already some offset manipulation to account for the extra
instructions for handling non-native conditions.
Because of the way symbol offsets are calculated by py-esp32-ulp,
namely that extra instructions are already included in the offsets,
the relative distance to a forward lying label is 1 instruction too
much. Or put another way, when expanding a jump into 2 instructions
the "current offset" refers to the first instruction, while it's
only the second instruction that jumps to the intended label, so
that difference must be accounted for.
Thus, for symbols we need to always subtract 1 from the offset. For
immediate values, we only subtract 1 for a backward jump.
0 commit comments