Files
subcoding/vm/opcode.go
2021-11-19 16:43:59 -10:00

67 lines
1.9 KiB
Go

package vm
type OpCodeType uint32
const (
OpNoOp OpCodeType = 0x00000000
OpNop = OpNoOp
OpMove = 0x00000100
OpMov = OpMove
OpAdd = 0x00000200
OpSubtract = 0x00000201
OpSub = OpSubtract
OpMultiply = 0x00000202
OpMul = OpMultiply
OpDivideUnsigned = 0x00000203
OpDivU = OpDivideUnsigned
OpDivideSigned = 0x00000204
OpDivS = OpDivideSigned
OpNot = 0x00000300
OpAnd = 0x00000301
OpOr = 0x00000302
OpXor = 0x00000303
OpIsEqual = 0x00000400
OpEq = OpIsEqual
OpIsLessThanUnsigned = 0x00000401
OpLTU = OpIsLessThanUnsigned
OpIsLessThanSigned = 0x00000402
OpLTS = OpIsLessThanSigned
OpIsGreaterThanUnsigned = 0x00000403
OpGTU = OpIsGreaterThanUnsigned
OpIsGreaterThanSigned = 0x00000404
OpGTS = OpIsGreaterThanSigned
OpIsLessThanOrEqualUnsigned = 0x00000405
OpLTEU = OpIsLessThanOrEqualUnsigned
OpIsLessThanOrEqualSigned = 0x00000406
OpLTES = OpIsLessThanOrEqualSigned
OpIsGreaterThanOrEqualUnsigned = 0x00000407
OpGTEU = OpIsGreaterThanOrEqualUnsigned
OpIsGreaterThanOrEqualSigned = 0x00000408
OpGTES = OpIsGreaterThanOrEqualSigned
OpJump = 0x00000500
OpJmp = OpJump
OpJumpIfTrue = 0x00000501
OpJmpT = OpJumpIfTrue
OpJumpIfFalse = 0x00000502
OpJmpF = OpJumpIfFalse
OpCall = 0x00000600
OpCal = OpCall
OpCallIfTrue = 0x00000601
OpCalT = OpCallIfTrue
OpCallIfFalse = 0x00000602
OpCalF = OpCallIfFalse
OpReturn = 0x00000700
OpRet = OpReturn
OpReturnIfTrue = 0x00000701
OpRetT = OpReturnIfTrue
OpReturnIfFalse = 0x00000702
OpRetF = OpReturnIfFalse
)