Skip to content

Goアセンブリ上のスタック探索

特別に記載しない限りはGo ABIにおけるスタックのレイアウトに準拠する。Go ABIにおけるレジスタの意味には一般的な情報がある。

MOVQ (SP), AX // 戻り先アドレス
MOVQ BP, AX // ベースポインタ
MOVQ SP, AX // 下位スタックポインタ
LEAQ 8(BP), AX // 関数呼び出し時点のスタックポインタ
MOVQ (BP), DI // 呼び出し元関数のベースポインタ
MOVQ 8(BP), AX // 呼び出し元関数のスタックポインタ
MOVQ (AX), AX // 呼び出し元関数の戻り先アドレス