Add new...Clone CompilerExecutor From ThisOpt RemarksStack UsagePreprocessorASTLLVM IRClangIROpt PipelineDeviceRust MIRRust HIRRust Macro ExpansionGHC CoreGHC STGGHC CmmGCC Tree/RTLGNAT Debug TreeGNAT Debug Expanded CodeControl Flow Graph
University of Virginia Computer Science CS216: Program and Data Representation, Spring 2006 This guide describes the basics of 32-bit x86 assembly language programming, covering a small but useful subset of the available instructions and assembler directives. There are several different assembly languages for generating x86 machine code. The one we will use in CS216 is the Microsoft Macro Assemble
のように書けば関数を呼び出せるので、関数の呼び出しについてわざわざ説明するまでもありません。 ですが、アセンブリ言語では、そのような簡単な書き方はできません。 引数の準備をしたり、戻り値の渡し方を決めたりする必要があります。 このページでの目標は、アセンブリ言語で関数を読み書きできるようになることです。 まず引数の格納に使われるスタックについて復習してから、call・ret命令、ローカル変数の確保、leave命令、 関数呼び出しのルールである呼出規約について説明します。 説明の途中に、ブラウザで動く簡易アセンブラがあるので、ステップ実行してみてください。 スタックの内容がビジュアルに表示されるので、言葉だけの説明より理解しやすいと思います。 アセンブリ言語の表記には、Intel記法とAT&T記法がありますが、ここではIntel記法を使います。 コードは32ビットの環境であるとします。 関数
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く