_>Эм, а что тут подразумевается под переносимостью "Go-ассемблера"? Между чем и чем он переносим?
Между архитектурами. Так называемый Go-ассемблер является абстрактным низкоуровневым языком, в который превращается код на языке Go в процессе компиляции. При желании можно вывести текстовое представление, нечто вроде такого (взято с сайта go-internals):
0x0000 TEXT "".add(SB), NOSPLIT, $0-16
0x0000 FUNCDATA $0, gclocals·f207267fbf96a0178e8758c6e3e0ce28(SB)
0x0000 FUNCDATA $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x0000 MOVL "".b+12(SP), AX
0x0004 MOVL "".a+8(SP), CX
0x0008 ADDL CX, AX
0x000a MOVL AX, "".~r2+16(SP)
0x000e MOVB $1, "".~r3+20(SP)
0x0013 RET
Для каждой аппаратной платформы существует своя реализация Go-ассемблера, выдающая итоговый двоичный код.