Files
subcoding/gen/opcode.go
2021-11-24 19:52:22 -08:00

55 lines
637 B
Go

package gen
import "math/rand"
import "github.com/firestuff/subcoding/vm"
var opCodes = []vm.OpCodeType{
vm.OpNop,
vm.OpMov,
vm.OpAdd,
// vm.OpSub,
vm.OpMul,
// vm.OpDivU,
// vm.OpDivS,
// vm.OpNot,
// vm.OpAnd,
// vm.OpOr,
vm.OpXor,
// vm.OpShR,
// vm.OpShL,
// vm.OpEq,
// vm.OpLTU,
// vm.OpLTS,
// vm.OpGTU,
// vm.OpGTS,
// vm.OpLTEU,
// vm.OpLTES,
// vm.OpGTEU,
// vm.OpGTES,
// vm.OpJmp,
// vm.OpJmpT,
// vm.OpJmpF,
// vm.OpCal,
// vm.OpCalT,
// vm.OpCalF,
// vm.OpRet,
// vm.OpRetT,
// vm.OpRetF,
vm.OpSqrt,
}
func RandOpCode() vm.OpCodeType {
// Uniform distribution
return opCodes[rand.Intn(len(opCodes))]
}