アセンブリコードを眺めてみる
こんにちは、 @kz_morita です。
前回の記事で「プログラムはなぜ動くのか?」C 言語から生成されたアセンブリを眺めていたらいろいろ知見があったので今日はそのことについてまとめていこうと思います。
アセンブリコードをみてみる 今回対象とするのは、以下のような C 言語のソースコードです。 c という変数に、100 と 123 を足した結果を保持するだけのものになります。
sample.c // 2つの引数の加算結果を返す関数 int add(int a, int b) { return a + b; } int main() { int c; c = add(100, 123); return 0; } これをアセンブリコードに変換するためには以下のコマンドを用います。
$ gcc -S sample.c -o sample.s これを実行すると以下のようなアセンブリファイルが生成されます。
.section __TEXT,__text,regular,pure_instructions .build_version macos, 10, 15 sdk_version 10, 15 .globl _add ## -- Begin function add .p2align 4, 0x90 _add: ## @add .