github.com/xushiwei/go@v0.0.0-20130601165731-2b9d83f45bc9/src/pkg/runtime/rt0_plan9_386.s (about) 1 // Copyright 2010 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 TEXT _rt0_386_plan9(SB),7, $0 6 MOVL AX, _tos(SB) 7 8 // move arguments down to make room for 9 // m and g at top of stack, right before Tos. 10 MOVL SP, SI 11 SUBL $8, SP 12 MOVL SP, DI 13 14 MOVL AX, CX 15 SUBL SI, CX 16 CLD 17 REP; MOVSB 18 19 // adjust argv 20 SUBL SI, DI 21 MOVL newargc+0(SP), CX 22 LEAL newargv+4(SP), BP 23 argv_fix: 24 ADDL DI, 0(BP) 25 ADDL $4, BP 26 LOOP argv_fix 27 28 CALL runtime·asminit(SB) 29 30 MOVL 0(SP), AX 31 LEAL 4(SP), BX 32 PUSHL BX 33 PUSHL AX 34 PUSHL $-1 35 36 JMP _rt0_386(SB) 37 38 DATA runtime·isplan9(SB)/4, $1 39 GLOBL runtime·isplan9(SB), $4 40 GLOBL _tos(SB), $4