HDL で定義されたプロセッサで実行する単純な SMIPS アセンブリ テストを作成しています。
たとえば、オーバーフロー例外を生成する次のコードがあります。
main:
#Test Overflow Exception
addi $2, $0, 0xffffffff
addi $3, $2, 0x1
プロセッサが正しいことをしている場合、アドレスに配置されているハンドラにリダイレクトする必要があることを私は知っています0xdeadbeef
。上記に次のコードを追加する場合のように、ジャンプのラベルを追加することしか知りません。
overflowHandler:
addiu $5 $0, 1
bne $0, $5, pass
overflowHandler コードを正しい 0xdeadbeef アドレスで開始する方法はありますか? main はアドレス 0 から始まりますか?
EDIT:(HDLで記述されたプロセッサからのジャンプアドレスを制御しています)
Bluespec のプロセッサ設計の記述からプロセッサ ジャンプ アドレスを制御できるので、それを 4 で割り切れる値に変更して、より近いより便利な場所にジャンプできます。だから私の質問は: アドレスはメインの先頭にあるアドレス 0x0 からカウントを開始しますか?? 最善の解決策は何ですか?: アドレス ジャンプまたはそれに対応するラベルを変更しますか?
前もって感謝します、