[解決済み] x86アセンブリでレジスタに使用されるpush/pop命令の機能は何ですか?
2022-03-05 08:20:33
質問
アセンブラについて読んでいると、よく次のようなことを書いている人を見かけます。 押す プロセッサのあるレジスタと ポップ を、後で再び元の状態に戻すことができます。
- レジスタのプッシュはどのように行うのですか?どこでプッシュされるのでしょうか?なぜこれが必要なのですか?
- これは1つのプロセッサ命令に集約されるのでしょうか、それとももっと複雑なのでしょうか?
どのように解決するのか?
プッシュ は、値をスタックに書き込むことを意味します(レジスタに格納されているとは限りません)。
ポッピング は、スタックの一番上にあるものを復元することを意味します。 への レジスタです。以上が基本的な命令です。
push 0xdeadbeef ; push a value to the stack
pop eax ; eax is now 0xdeadbeef
; swap contents of registers
push eax
mov eax, ebx
pop ebx
関連
-
[解決済み】JNZとCMPのアセンブリ命令
-
[解決済み] popまたはadd esp、4 ? その差は何ですか?
-
[解決済み] error A2022: 命令オペランドは同じサイズでなければなりません。
-
[解決済み] MIPS: スタックポインタ($sp)とスタックの関連した使用法
-
[解決済み] アセンブリでは、`PTR`は何の略ですか?
-
[解決済み] 8086アセンブリ言語での2つのレジスタのスワッピング(16ビット)
-
[解決済み] cmp命令の理解
-
[解決済み] MIPSのオペコードにおけるlaとliの違いは何ですか?
-
[解決済み] 32ビットレジスタに対するx86-64命令は、なぜフル64ビットレジスタの上部をゼロにするのですか?
-
[解決済み] x86における「非一時的」メモリアクセスの意味
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】MIPSで整数の絶対値?
-
[解決済み] アセンブリ言語 - Moduloはどのように行うのですか?
-
[解決済み] ビットシフト演算子を使って10進数を2進数で表示するMIPS
-
[解決済み] error: invalid effective address エラー:有効なアドレスがありません。
-
[解決済み] アセンブリMIPS .ALIGNとメモリアドレスの理解
-
[解決済み] ベースレジスタを持たないqword ptr [hexvalue]の意味するところ
-
[解決済み] テールコール最適化とは何ですか?
-
[解決済み】マルチコアアセンブラとはどのようなものですか?
-
[解決済み】brk()システムコールは何をするのですか?
-
[解決済み] C言語で変数はメモリのどこに格納されていますか?