MacでCファイルとアセンブリをリンクして,実行する方法. 用意するもの foo.asm アセンブリを書いたファイル GLOBAL _foo _foo: push ebp mov ebp, esp sub esp, 4 mov eax, [ebp+8] imul eax, [ebp+8] mov [ebp-4], eax mov eax, [ebp-4] add eax, 2 mov esp, ebp pop ebp ret *1 これはCで書くと以下と同じ. int foo(int x) { int y = x * x; return y + 2; } main.c Cのソースコード #include <stdio.h> main() { printf("%d\n", foo(3)); } 以上.nasmは元々入っているはず. 実行手順 $ nasm -f macho foo.nasm