0x000f 00015 (math.go:17) JMP 23
Code:
(math.go:15) func multiplyLoop(a, b int) int {
(math.go:16) var res int
(math.go:17) for i := 0; i < b; i++ {
(math.go:18) res += a
(math.go:19) }
(math.go:20) return res
(math.go:21) }
Build:
go tool compile -S -m math.go
Assembly:
"".multiplyLoop STEXT nosplit size=34 args=0x18 locals=0x0
0x0000 00000 (math.go:15) TEXT "".multiplyLoop(SB), NOSPLIT, $0-24
0x0000 00000 (math.go:15) FUNCDATA $0, gclocals·54241e171da8af6ae173d69da0236748(SB)
0x0000 00000 (math.go:15) FUNCDATA $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x0000 00000 (math.go:15) MOVQ "".a+8(SP), AX
0x0005 00005 (math.go:15) MOVQ "".b+16(SP), CX
0x000a 00010 (math.go:15) MOVL $0, DX
0x000c 00012 (math.go:15) MOVQ DX, BX
0x000f 00015 (math.go:17) JMP 23
0x0011 00017 (math.go:17) INCQ DX
0x0014 00020 (math.go:18) ADDQ AX, BX
0x0017 00023 (math.go:17) CMPQ DX, CX
0x001a 00026 (math.go:17) JLT 17
0x001c 00028 (math.go:20) MOVQ BX, "".~r2+24(SP)
0x0021 00033 (math.go:20) RET