問題タブ [program-counter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
7319 参照

assembly - 命令ポインターとプログラムカウンター?

命令ポインタとプログラムカウンタに基本的な違いはありますか? どちらも同じもの、eip/rip レジスタを参照していると思いますが、これまでに行った調査では、私の心にはあまり明確ではありません。

0 投票する
3 に答える
1334 参照

linker - PC はロードアドレスまたはリンクアドレスと何の関係がありますか?

リンクアドレスはプログラムの実行が行われるアドレスであり、ロードアドレスはプログラムが実際に配置されるメモリ内のアドレスです。

今、私は混乱しています プログラムカウンターの値は何ですか? それはロードアドレスですか、それともリンクアドレスですか?

0 投票する
1 に答える
948 参照

mips - MIPS アーキテクチャで J-Type 命令を使用せずにプログラム カウンタ アドレスを保存する方法

J-Type 命令を使用せずに jal 命令を疑似命令として実装する必要があります。jr で実装できますが、jal が現在の PC+8 を $ra に保存することはわかっています。どうすればそれを実装できますか? J-typeなしでPCアドレスをraに保存するにはどうすればよいですか?

0 投票する
2 に答える
3164 参照

c - C でのプログラム カウンターの変更

プログラムカウンター(命令ポインター)の内容を変更したい。C でシステム シグナル ハンドラをオーバーライドすることで、システム スタック フレームでポインタを取得できると考えました。そこから、関数の戻りアドレスを取得して変更できます。

ただし、スタック内のポインターを取得しましたが、リターンアドレスがスタックフレームのどこに格納されているか正確にはわかりません。

0 投票する
2 に答える
1378 参照

memory - mips には 32 ビットのアドレスと 32 ビットの命令がありますか?

32 ビットの MIPS 命令とメモリ レジスタは...まあ 32 ビットで...、PC は命令レジスタ内のその命令のアドレスを計算することを知っています。

私の質問はこれです: 32 ビットアドレスは 32 ビット命令に追加されますか?

これらがすべてゼロであるという事実を無視して...

0x00000000 (アドレス) と 0x00000000 (命令) が連結されていますか?

たとえば、Rタイプは

上記のアドレスは 000000_00000_00000_00000_00000_000000 です

PC が64 ビット値の上位半分に対応する 32 ビットを吐き出すように、2 つの 32 ビット数値が連結されていますか? を持っているテーブルをよく見かけます。

どんな助けでも大歓迎です。

0 投票する
1 に答える
351 参照

syntax-error - Verilog プログラム カウンターの構文エラー

そのため、プログラム カウンター テスト ベンチで構文エラーが発生し、なぜ取得し続けるのかわかりません Verilog ソースに次の構文エラーがあります: "pc_tb.v", 20: トークンは 'initial' です 初期 ^

イニシャルの使い方が間違っていますか?パイプライン化されたデータパスを作成します。これは、これまでのところ機能していない唯一の部分です

0 投票する
0 に答える
63 参照

testing - RISCV テストの start_pc にコードがないようです

このレポを複製し、ツールチェーンを使用してテストを作成しました。

しかし、いくつかの問題に直面しました:

  1. これらのテストを実行しているriscv-qemu障害 (segfault またはメモリ割り当て障害)。あなたのサイトの指示に従いました
  2. テストヘッダーの開始 pc (例: rv32(64)mi-p-csr ) は 80002000 に設定されていますが、この場所にはコードがありません (セクション .tohost)

これを修正する方法を説明してもらえますか? 現在、利用可能な最新版として RISCV v1.9 を使用しています