小编xxl*_*666的帖子

关于golang汇编的一些困惑

我的Golang源代码如下。

\n
package main\n\nfunc add(x, y int) int {\n    return x + y\n}\n\nfunc main() {\n    _ = add(1, 2)\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我使用得到的汇编代码go tool compile -N -l -S main.go > file1.s如下(部分)。

\n
;file1.s\n"".main STEXT size=54 args=0x0 locals=0x18 funcid=0x0\n    0x0000 00000 (main.go:7)    TEXT    "".main(SB), ABIInternal, $24-0\n    0x0000 00000 (main.go:7)    CMPQ    SP, 16(R14)\n    0x0004 00004 (main.go:7)    PCDATA  $0, $-2\n    0x0004 00004 (main.go:7)    JLS 47\n    \xe2\x80\xa6\xe2\x80\xa6\n    0x002f 00047 (main.go:7)    CALL    runtime.morestack_noctxt(SB)\n    0x0034 00052 (main.go:7)    PCDATA  $0, $-1\n    0x0034 00052 (main.go:7)    JMP 0\n
Run Code Online (Sandbox Code Playgroud)\n …

x86 assembly stack go stack-memory

5
推荐指数
1
解决办法
842
查看次数

标签 统计

assembly ×1

go ×1

stack ×1

stack-memory ×1

x86 ×1