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