Created
March 13, 2013 01:09
-
-
Save agam/5148575 to your computer and use it in GitHub Desktop.
Assembly output of Hello World in Go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# command-line-arguments | |
--- prog list "main" --- | |
0000 TEXT main+0(SB),$72-0 | |
0001 LEAQ autotmp_0002+-16(SP),DI | |
0002 MOVQ $0,AX | |
0003 STOSQ , | |
0004 STOSQ , | |
0005 LEAQ autotmp_0002+-16(SP),BX | |
0006 MOVL $1,autotmp_0000+-24(SP) | |
0007 MOVL $1,autotmp_0000+-20(SP) | |
0008 MOVQ BX,autotmp_0000+-32(SP) | |
0009 MOVQ $type.string+0(SB),(SP) | |
0010 LEAQ go.string."Hello, World"+0(SB),SI | |
0011 LEAQ 8(SP),DI | |
0012 MOVSQ , | |
0013 MOVSQ , | |
0014 CALL ,runtime.convT2E+0(SB) | |
0015 LEAQ 24(SP),SI | |
0016 LEAQ autotmp_0000+-32(SP),DI | |
0017 MOVQ (DI),DI | |
0018 MOVSQ , | |
0019 MOVSQ , | |
0020 LEAQ (SP),BX | |
0021 MOVQ autotmp_0000+-32(SP),BP | |
0022 MOVQ BP,(BX) | |
0023 MOVL autotmp_0000+-24(SP),BP | |
0024 MOVL BP,8(BX) | |
0025 MOVL autotmp_0000+-20(SP),BP | |
0026 MOVL BP,12(BX) | |
0027 CALL ,fmt.Println+0(SB) | |
0028 RET , | |
--- prog list "init" --- | |
0029 TEXT init+0(SB),$0-0 | |
0030 MOVB initdone·+0(SB),AX | |
0031 MOVB AX,BX | |
0032 CMPB BX,$0 | |
0033 JEQ ,39 | |
0034 MOVB AX,BX | |
0035 CMPB BX,$2 | |
0036 JNE ,38 | |
0037 RET , | |
0038 CALL ,runtime.throwinit+0(SB) | |
0039 MOVB $1,initdone·+0(SB) | |
0040 CALL ,fmt.init+0(SB) | |
0041 MOVB $2,initdone·+0(SB) | |
0042 RET , | |
--- prog list "<S>" --- | |
0043 DATA go.string."Hello, World"+0(SB)/8,$go.string."Hello, World"+12(SB) | |
0043 DATA go.string."Hello, World"+8(SB)/4,$12 | |
0043 DATA go.string."Hello, World"+12(SB)/8,$"Hello, W" | |
0043 DATA go.string."Hello, World"+20(SB)/4,$"orld" | |
0043 DATA go.string."Hello, World"+24(SB)/1,$0 | |
0043 GLOBL go.string."Hello, World"+0(SB),10,$32 | |
0043 GLOBL initdone·+0(SB),16,$1(AL*0) | |
0043 DATA type.func()+0(SB)/8,$weak.type.*reflect.commonType+0(SB) | |
0043 DATA type.func()+8(SB)/8,$type.func()+16(SB) | |
0043 DATA type.func()+16(SB)/8,$8 | |
0043 DATA type.func()+24(SB)/4,$4135763190 | |
0043 DATA type.func()+28(SB)/1,$0 | |
0043 DATA type.func()+29(SB)/1,$8 | |
0043 DATA type.func()+30(SB)/1,$8 | |
0043 DATA type.func()+31(SB)/1,$19 | |
0043 DATA type.func()+32(SB)/8,$runtime.algarray+384(SB) | |
0043 DATA type.func()+40(SB)/8,$go.string."func()"+0(SB) | |
0043 DATA go.string."func()"+0(SB)/8,$go.string."func()"+12(SB) | |
0043 DATA go.string."func()"+8(SB)/4,$6 | |
0043 DATA go.string."func()"+12(SB)/6,$"func()" | |
0043 DATA go.string."func()"+18(SB)/1,$0 | |
0043 GLOBL go.string."func()"+0(SB),10,$24 | |
0043 DATA type.func()+56(SB)/8,$weak.type.*func()+0(SB) | |
0043 DATA type.func()+64(SB)/1,$0 | |
0043 DATA type.func()+72(SB)/8,$type.func()+104(SB) | |
0043 DATA type.func()+80(SB)/4,$0 | |
0043 DATA type.func()+84(SB)/4,$0 | |
0043 DATA type.func()+88(SB)/8,$type.func()+104(SB) | |
0043 DATA type.func()+96(SB)/4,$0 | |
0043 DATA type.func()+100(SB)/4,$0 | |
0043 GLOBL type.func()+0(SB),10,$104 | |
0043 DATA type.interface {}+0(SB)/8,$weak.type.*reflect.commonType+0(SB) | |
0043 DATA type.interface {}+8(SB)/8,$type.interface {}+16(SB) | |
0043 DATA type.interface {}+16(SB)/8,$16 | |
0043 DATA type.interface {}+24(SB)/4,$413161447 | |
0043 DATA type.interface {}+28(SB)/1,$0 | |
0043 DATA type.interface {}+29(SB)/1,$8 | |
0043 DATA type.interface {}+30(SB)/1,$8 | |
0043 DATA type.interface {}+31(SB)/1,$20 | |
0043 DATA type.interface {}+32(SB)/8,$runtime.algarray+512(SB) | |
0043 DATA type.interface {}+40(SB)/8,$go.string."interface {}"+0(SB) | |
0043 DATA go.string."interface {}"+0(SB)/8,$go.string."interface {}"+12(SB) | |
0043 DATA go.string."interface {}"+8(SB)/4,$12 | |
0043 DATA go.string."interface {}"+12(SB)/8,$"interfac" | |
0043 DATA go.string."interface {}"+20(SB)/4,$"e {}" | |
0043 DATA go.string."interface {}"+24(SB)/1,$0 | |
0043 GLOBL go.string."interface {}"+0(SB),10,$32 | |
0043 DATA type.interface {}+56(SB)/8,$weak.type.*interface {}+0(SB) | |
0043 DATA type.interface {}+64(SB)/8,$type.interface {}+80(SB) | |
0043 DATA type.interface {}+72(SB)/4,$0 | |
0043 DATA type.interface {}+76(SB)/4,$0 | |
0043 GLOBL type.interface {}+0(SB),10,$80 | |
0043 DATA type.func(*uint8, string) interface {}+0(SB)/8,$weak.type.*reflect.commonType+0(SB) | |
0043 DATA type.func(*uint8, string) interface {}+8(SB)/8,$type.func(*uint8, string) interface {}+16(SB) | |
0043 DATA type.func(*uint8, string) interface {}+16(SB)/8,$8 | |
0043 DATA type.func(*uint8, string) interface {}+24(SB)/4,$4223391618 | |
0043 DATA type.func(*uint8, string) interface {}+28(SB)/1,$0 | |
0043 DATA type.func(*uint8, string) interface {}+29(SB)/1,$8 | |
0043 DATA type.func(*uint8, string) interface {}+30(SB)/1,$8 | |
0043 DATA type.func(*uint8, string) interface {}+31(SB)/1,$19 | |
0043 DATA type.func(*uint8, string) interface {}+32(SB)/8,$runtime.algarray+384(SB) | |
0043 DATA type.func(*uint8, string) interface {}+40(SB)/8,$go.string."func(*uint8, string) interface {}"+0(SB) | |
0043 DATA go.string."func(*uint8, string) interface {}"+0(SB)/8,$go.string."func(*uint8, string) interface {}"+12(SB) | |
0043 DATA go.string."func(*uint8, string) interface {}"+8(SB)/4,$33 | |
0043 DATA go.string."func(*uint8, string) interface {}"+12(SB)/8,$"func(*ui" | |
0043 DATA go.string."func(*uint8, string) interface {}"+20(SB)/8,$"nt8, str" | |
0043 DATA go.string."func(*uint8, string) interface {}"+28(SB)/8,$"ing) int" | |
0043 DATA go.string."func(*uint8, string) interface {}"+36(SB)/8,$"erface {" | |
0043 DATA go.string."func(*uint8, string) interface {}"+44(SB)/1,$"}" | |
0043 DATA go.string."func(*uint8, string) interface {}"+45(SB)/1,$0 | |
0043 GLOBL go.string."func(*uint8, string) interface {}"+0(SB),10,$48 | |
0043 DATA type.func(*uint8, string) interface {}+56(SB)/8,$weak.type.*func(*uint8, string) interface {}+0(SB) | |
0043 DATA type.func(*uint8, string) interface {}+64(SB)/1,$0 | |
0043 DATA type.func(*uint8, string) interface {}+72(SB)/8,$type.func(*uint8, string) interface {}+104(SB) | |
0043 DATA type.func(*uint8, string) interface {}+80(SB)/4,$2 | |
0043 DATA type.func(*uint8, string) interface {}+84(SB)/4,$2 | |
0043 DATA type.func(*uint8, string) interface {}+88(SB)/8,$type.func(*uint8, string) interface {}+120(SB) | |
0043 DATA type.func(*uint8, string) interface {}+96(SB)/4,$1 | |
0043 DATA type.func(*uint8, string) interface {}+100(SB)/4,$1 | |
0043 DATA type.func(*uint8, string) interface {}+104(SB)/8,$type.*uint8+0(SB) | |
0043 DATA type.func(*uint8, string) interface {}+112(SB)/8,$type.string+0(SB) | |
0043 DATA type.func(*uint8, string) interface {}+120(SB)/8,$type.interface {}+0(SB) | |
0043 GLOBL type.func(*uint8, string) interface {}+0(SB),10,$128 | |
0043 DATA type.[]interface {}+0(SB)/8,$weak.type.*reflect.commonType+0(SB) | |
0043 DATA type.[]interface {}+8(SB)/8,$type.[]interface {}+16(SB) | |
0043 DATA type.[]interface {}+16(SB)/8,$16 | |
0043 DATA type.[]interface {}+24(SB)/4,$803902320 | |
0043 DATA type.[]interface {}+28(SB)/1,$0 | |
0043 DATA type.[]interface {}+29(SB)/1,$8 | |
0043 DATA type.[]interface {}+30(SB)/1,$8 | |
0043 DATA type.[]interface {}+31(SB)/1,$23 | |
0043 DATA type.[]interface {}+32(SB)/8,$runtime.algarray+544(SB) | |
0043 DATA type.[]interface {}+40(SB)/8,$go.string."[]interface {}"+0(SB) | |
0043 DATA go.string."[]interface {}"+0(SB)/8,$go.string."[]interface {}"+12(SB) | |
0043 DATA go.string."[]interface {}"+8(SB)/4,$14 | |
0043 DATA go.string."[]interface {}"+12(SB)/8,$"[]interf" | |
0043 DATA go.string."[]interface {}"+20(SB)/6,$"ace {}" | |
0043 DATA go.string."[]interface {}"+26(SB)/1,$0 | |
0043 GLOBL go.string."[]interface {}"+0(SB),10,$32 | |
0043 DATA type.[]interface {}+56(SB)/8,$weak.type.*[]interface {}+0(SB) | |
0043 DATA type.[]interface {}+64(SB)/8,$type.interface {}+0(SB) | |
0043 GLOBL type.[]interface {}+0(SB),10,$72 | |
0043 DATA type.func(...interface {}) (int, error)+0(SB)/8,$weak.type.*reflect.commonType+0(SB) | |
0043 DATA type.func(...interface {}) (int, error)+8(SB)/8,$type.func(...interface {}) (int, error)+16(SB) | |
0043 DATA type.func(...interface {}) (int, error)+16(SB)/8,$8 | |
0043 DATA type.func(...interface {}) (int, error)+24(SB)/4,$2172230810 | |
0043 DATA type.func(...interface {}) (int, error)+28(SB)/1,$0 | |
0043 DATA type.func(...interface {}) (int, error)+29(SB)/1,$8 | |
0043 DATA type.func(...interface {}) (int, error)+30(SB)/1,$8 | |
0043 DATA type.func(...interface {}) (int, error)+31(SB)/1,$19 | |
0043 DATA type.func(...interface {}) (int, error)+32(SB)/8,$runtime.algarray+384(SB) | |
0043 DATA type.func(...interface {}) (int, error)+40(SB)/8,$go.string."func(...interface {}) (int, error)"+0(SB) | |
0043 DATA go.string."func(...interface {}) (int, error)"+0(SB)/8,$go.string."func(...interface {}) (int, error)"+12(SB) | |
0043 DATA go.string."func(...interface {}) (int, error)"+8(SB)/4,$34 | |
0043 DATA go.string."func(...interface {}) (int, error)"+12(SB)/8,$"func(..." | |
0043 DATA go.string."func(...interface {}) (int, error)"+20(SB)/8,$"interfac" | |
0043 DATA go.string."func(...interface {}) (int, error)"+28(SB)/8,$"e {}) (i" | |
0043 DATA go.string."func(...interface {}) (int, error)"+36(SB)/8,$"nt, erro" | |
0043 DATA go.string."func(...interface {}) (int, error)"+44(SB)/2,$"r)" | |
0043 DATA go.string."func(...interface {}) (int, error)"+46(SB)/1,$0 | |
0043 GLOBL go.string."func(...interface {}) (int, error)"+0(SB),10,$48 | |
0043 DATA type.func(...interface {}) (int, error)+56(SB)/8,$weak.type.*func(...interface {}) (int, error)+0(SB) | |
0043 DATA type.func(...interface {}) (int, error)+64(SB)/1,$1 | |
0043 DATA type.func(...interface {}) (int, error)+72(SB)/8,$type.func(...interface {}) (int, error)+104(SB) | |
0043 DATA type.func(...interface {}) (int, error)+80(SB)/4,$1 | |
0043 DATA type.func(...interface {}) (int, error)+84(SB)/4,$1 | |
0043 DATA type.func(...interface {}) (int, error)+88(SB)/8,$type.func(...interface {}) (int, error)+112(SB) | |
0043 DATA type.func(...interface {}) (int, error)+96(SB)/4,$2 | |
0043 DATA type.func(...interface {}) (int, error)+100(SB)/4,$2 | |
0043 DATA type.func(...interface {}) (int, error)+104(SB)/8,$type.[]interface {}+0(SB) | |
0043 DATA type.func(...interface {}) (int, error)+112(SB)/8,$type.int+0(SB) | |
0043 DATA type.func(...interface {}) (int, error)+120(SB)/8,$type.error+0(SB) | |
0043 GLOBL type.func(...interface {}) (int, error)+0(SB),10,$128 | |
0043 DATA go.importpath.runtime.+0(SB)/8,$go.string."runtime"+12(SB) | |
0043 DATA go.string."runtime"+0(SB)/8,$go.string."runtime"+12(SB) | |
0043 DATA go.string."runtime"+8(SB)/4,$7 | |
0043 DATA go.string."runtime"+12(SB)/7,$"runtime" | |
0043 DATA go.string."runtime"+19(SB)/1,$0 | |
0043 GLOBL go.string."runtime"+0(SB),10,$24 | |
0043 DATA go.importpath.runtime.+8(SB)/4,$7 | |
0043 GLOBL go.importpath.runtime.+0(SB),10,$16 | |
0043 DATA go.importpath.fmt.+0(SB)/8,$go.string."fmt"+12(SB) | |
0043 DATA go.string."fmt"+0(SB)/8,$go.string."fmt"+12(SB) | |
0043 DATA go.string."fmt"+8(SB)/4,$3 | |
0043 DATA go.string."fmt"+12(SB)/3,$"fmt" | |
0043 DATA go.string."fmt"+15(SB)/1,$0 | |
0043 GLOBL go.string."fmt"+0(SB),10,$16 | |
0043 DATA go.importpath.fmt.+8(SB)/4,$3 | |
0043 GLOBL go.importpath.fmt.+0(SB),10,$16 | |
0043 END , |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment