問題タブ [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.
assembly - 命令ポインターとプログラムカウンター?
命令ポインタとプログラムカウンタに基本的な違いはありますか? どちらも同じもの、eip/rip レジスタを参照していると思いますが、これまでに行った調査では、私の心にはあまり明確ではありません。
linker - PC はロードアドレスまたはリンクアドレスと何の関係がありますか?
リンクアドレスはプログラムの実行が行われるアドレスであり、ロードアドレスはプログラムが実際に配置されるメモリ内のアドレスです。
今、私は混乱しています プログラムカウンターの値は何ですか? それはロードアドレスですか、それともリンクアドレスですか?
mips - MIPS アーキテクチャで J-Type 命令を使用せずにプログラム カウンタ アドレスを保存する方法
J-Type 命令を使用せずに jal 命令を疑似命令として実装する必要があります。jr で実装できますが、jal が現在の PC+8 を $ra に保存することはわかっています。どうすればそれを実装できますか? J-typeなしでPCアドレスをraに保存するにはどうすればよいですか?
c - C でのプログラム カウンターの変更
プログラムカウンター(命令ポインター)の内容を変更したい。C でシステム シグナル ハンドラをオーバーライドすることで、システム スタック フレームでポインタを取得できると考えました。そこから、関数の戻りアドレスを取得して変更できます。
ただし、スタック内のポインターを取得しましたが、リターンアドレスがスタックフレームのどこに格納されているか正確にはわかりません。
memory - mips には 32 ビットのアドレスと 32 ビットの命令がありますか?
32 ビットの MIPS 命令とメモリ レジスタは...まあ 32 ビットで...、PC は命令レジスタ内のその命令のアドレスを計算することを知っています。
私の質問はこれです: 32 ビットアドレスは 32 ビット命令に追加されますか?
これらがすべてゼロであるという事実を無視して...
0x00000000 (アドレス) と 0x00000000 (命令) が連結されていますか?
たとえば、Rタイプは
上記のアドレスは 000000_00000_00000_00000_00000_000000 です
PC が64 ビット値の上位半分に対応する 32 ビットを吐き出すように、2 つの 32 ビット数値が連結されていますか? を持っているテーブルをよく見かけます。
どんな助けでも大歓迎です。
syntax-error - Verilog プログラム カウンターの構文エラー
そのため、プログラム カウンター テスト ベンチで構文エラーが発生し、なぜ取得し続けるのかわかりません Verilog ソースに次の構文エラーがあります: "pc_tb.v", 20: トークンは 'initial' です 初期 ^
イニシャルの使い方が間違っていますか?パイプライン化されたデータパスを作成します。これは、これまでのところ機能していない唯一の部分です
testing - RISCV テストの start_pc にコードがないようです
このレポを複製し、ツールチェーンを使用してテストを作成しました。
しかし、いくつかの問題に直面しました:
- これらのテストを実行しているriscv-qemu障害 (segfault またはメモリ割り当て障害)。あなたのサイトの指示に従いました
- テストヘッダーの開始 pc (例: rv32(64)mi-p-csr ) は 80002000 に設定されていますが、この場所にはコードがありません (セクション .tohost)
これを修正する方法を説明してもらえますか? 現在、利用可能な最新版として RISCV v1.9 を使用しています