問題タブ [stack-pointer]

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 投票する
2 に答える
633 参照

c - C コードを MIPS アセンブリに変換 - 再帰を使用した組み合わせ関数

C コードを組み合わせ関数 (nCr) の MIPS アセンブリ コードに変換する際に問題があります。

nCr = (n-1Cr-1) + (n-1Cr)

n に int 5、r (数字データ) に 3 を入力すると、結果は 10 になります。

再帰とスタック ポインタを使用したいのですが、スタック オーバーフローでエラーが発生します。

以下に MIPS コードを示します。

コードの何が問題になっていますか?

問題がよくわからない…

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

c - スタック ポインタ アドレスの定義者

C スタートアップ コードを使用するマイクロコントローラーと組み込みシステムに関して言えば、C スタートアップ コードの機能の 1 つは、スタック ポインターを初期化することです。

この初期スタック ポインタ アドレスと C スタートアップ コードは、一般にチップ ベンダによって定義および提供されていますか?

それとも、C スタートアップ コードを手動で変更または作成し、スタック ポインターを指定するのは、ファームウェア/ソフトウェア開発者としての私たち次第ですか? この部分は私を混乱させます。

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

assembly - esp がスタックの一番上を指している場合、ebp はどこを指していますか?

espおよびebpレジスタの使用方法を理解するのに苦労しています。

なぜそうするのですか:

すべての関数の開始時に?ebp初めて押された時に持っているのは何?

0 投票する
4 に答える
779 参照

c - C でローカルに定義された変数の割り当てを解除する

次のコードがあるとします。

foo() が返される前に、C でランタイム スタックからバッファの割り当てを解除する (アセンブリでesp、100を追加するのに似ている) (できれば移植可能な) 方法はありますか?