コード例 #1
0
ファイル: main.go プロジェクト: NickDaison/e8vm
func wrapMain(funcs []*PkgSym) *Func {
	ret := NewFunc() // the main func

	// clear r0 for safety
	ret.AddInst(inst.Reg(arch8.XOR, 0, 0, 0, 0, 0))

	for _, f := range funcs {
		ret.AddInst(inst.Jmp(arch8.JAL, 0))
		ret.AddLink(FillLink, f)
	}

	ret.AddInst(inst.Sys(arch8.HALT, 0))

	return ret
}
コード例 #2
0
ファイル: asm.go プロジェクト: NickDaison/e8vm
func (_s) halt() uint32 { return S.Sys(A.HALT, 0) }
コード例 #3
0
ファイル: inst_sys.go プロジェクト: NickDaison/e8vm
func makeInstSys(op, reg uint32) *inst {
	return &inst{inst: asminst.Sys(op, reg)}
}