#include <stdio.h> void hello(void){ printf("hello\n"); } int main(void) { hello(); return 0; }
|hello| PROC |$LN3| stp fp,lr,[sp,#-0x10]! mov fp,sp adrp x8,|$SG4980| add x0,x8,|$SG4980| bl printf ldp fp,lr,[sp],#0x10 ret ENDP ; |hello| |main| PROC |$LN3| stp fp,lr,[sp,#-0x10]! mov fp,sp bl hello mov w0,#0 ldp fp,lr,[sp],#0x10 ret ENDP ; |main|
関数の場合は、hello()はassembler上ではmainと分離され、bl helloで呼び出すようになっている。すなわち、関数ごとにassembleすれば良いのね。なるほど