0
*Error: value xxx is out of range, valid values are between -128 and 127.

すべてのコードでこのエラーが発生しています。

命令jr cc, labelはこれを説明しています:

相対ジャンプの範囲は、JR 命令に続く命令の最初のバイトのアドレスから [-128, 127] に制限されていることに注意してください。

命令nopを後に入れてみましたjrが、それでもこのエラーが発生しました。

たぶん、これがどのように機能するかをよく理解していないということです。誰かが私にもっと説明してくれたら (または例を挙げて)、それは素晴らしいことです. ありがとう

4

1 に答える 1

0

範囲外の問題は、相対ジャンプ (jr)絶対ジャンプ (jp)に変更することで解決できます。

ジャンプ相対 (JR) 命令を使用すると、ジャンプが現在のプログラム カウンターに相対するため、コードの再配置が容易になります。たとえば、RAM 関数は通常アセンブリで記述され、フラッシュから RAM に再配置されます。この場合、ジャンプ (JP)命令は機能しません。これは、ジャンプが目的の RAM の場所ではなくフラッシュの場所に行われるためです。JP の代わりに JRを使用すると、目的のRAM の場所にジャンプします。

于 2017-04-05T03:59:52.230 に答える