MIPSプロセッサで命令jalがどのように機能するか理解できません。 私の二つの質問は次のとおりです。PC + 4またはPC + 8:
A) "JAL" の後R31に格納された値とは何ですか?それは本当にPC + 8なら
B)は、何がPC + 4の命令になりますか?それはジャンプの前に実行されるか、実行されませんか?
パターソンとヘネシー(第四版)、PG 113では:
「ジャンプとリンク命令:にジャンプ命令とアドレスと同時に、レジスタ内の次の命令のアドレス($を節約しますMIPSでRA)」
『プログラムカウンタ(PC):プログラム中の命令のアドレスを含むレジスタは
これら二つの文を読んだ後、』実行され、それは次の値SAいます$ raは(PC + 4)である必要があります。
しかし、この本に付属しているMIPSの参照データ(グリーンカード)で、JAL命令のアルゴリズムは次のように定義されています。
「ジャンプとリンク:JAL:J:R [31] = PC + 8 ; PC = JumpAddr「
このwebsiteもと述べ、 『我々はリターンアドレスがPCであると仮定します』それはパイプラインは、高度なトピックですので、と言うことの後に、奇妙な、しかし、」それは本当にPC + 8です+4 "となります。
私は8086アセンブリから来たので、アドレスに戻るときとそれに続くときには大きな違いがあることを知っています。ありがとう。
ありがとうございました!不思議なことに、多くのウェブサイトが間違った情報(PC + 4)を提示しています。 – ReimannCL