github.com/varialus/godfly@v0.0.0-20130904042352-1934f9f095ab/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 #include "../../cmd/ld/textflag.h" 6 7 TEXT _rt0_386_plan9(SB),NOSPLIT, $0 8 MOVL AX, _tos(SB) 9 10 // move arguments down to make room for 11 // m and g at top of stack, right before Tos. 12 MOVL SP, SI 13 SUBL $8, SP 14 MOVL SP, DI 15 16 MOVL AX, CX 17 SUBL SI, CX 18 CLD 19 REP; MOVSB 20 21 // adjust argv 22 SUBL SI, DI 23 MOVL newargc+0(SP), CX 24 LEAL newargv+4(SP), BP 25 argv_fix: 26 ADDL DI, 0(BP) 27 ADDL $4, BP 28 LOOP argv_fix 29 30 CALL runtime·asminit(SB) 31 32 MOVL 0(SP), AX 33 LEAL 4(SP), BX 34 PUSHL BX 35 PUSHL AX 36 PUSHL $-1 37 38 JMP _rt0_go(SB) 39 40 DATA runtime·isplan9(SB)/4, $1 41 GLOBL runtime·isplan9(SB), $4 42 GLOBL _tos(SB), $4