Files
subcoding/vm/opcode.go

72 lines
2.0 KiB
Go
Raw Normal View History

2021-11-15 20:44:26 -10:00
package vm
type OpCodeType uint32
const (
2021-11-19 16:30:11 -10:00
OpNoOp OpCodeType = 0x00000000
OpNop = OpNoOp
2021-11-15 20:44:26 -10:00
OpMove = 0x00000100
OpMov = OpMove
OpAdd = 0x00000200
OpSubtract = 0x00000201
OpSub = OpSubtract
OpMultiply = 0x00000202
OpMul = OpMultiply
OpDivideUnsigned = 0x00000203
OpDivU = OpDivideUnsigned
OpDivideSigned = 0x00000204
OpDivS = OpDivideSigned
2021-11-19 16:43:59 -10:00
OpNot = 0x00000300
OpAnd = 0x00000301
OpOr = 0x00000302
OpXor = 0x00000303
2021-11-19 17:04:11 -10:00
OpShiftRight = 0x00000400
OpShR = OpShiftRight
OpShiftLeft = 0x00000401
OpShL = OpShiftLeft
OpIsEqual = 0x00000500
2021-11-15 20:44:26 -10:00
OpEq = OpIsEqual
2021-11-19 17:04:11 -10:00
OpIsLessThanUnsigned = 0x00000501
2021-11-15 20:44:26 -10:00
OpLTU = OpIsLessThanUnsigned
2021-11-19 17:04:11 -10:00
OpIsLessThanSigned = 0x00000502
2021-11-15 20:44:26 -10:00
OpLTS = OpIsLessThanSigned
2021-11-19 17:04:11 -10:00
OpIsGreaterThanUnsigned = 0x00000503
2021-11-15 20:44:26 -10:00
OpGTU = OpIsGreaterThanUnsigned
2021-11-19 17:04:11 -10:00
OpIsGreaterThanSigned = 0x00000504
2021-11-15 20:44:26 -10:00
OpGTS = OpIsGreaterThanSigned
2021-11-19 17:04:11 -10:00
OpIsLessThanOrEqualUnsigned = 0x00000505
2021-11-15 20:44:26 -10:00
OpLTEU = OpIsLessThanOrEqualUnsigned
2021-11-19 17:04:11 -10:00
OpIsLessThanOrEqualSigned = 0x00000506
2021-11-15 20:44:26 -10:00
OpLTES = OpIsLessThanOrEqualSigned
2021-11-19 17:04:11 -10:00
OpIsGreaterThanOrEqualUnsigned = 0x00000507
2021-11-15 20:44:26 -10:00
OpGTEU = OpIsGreaterThanOrEqualUnsigned
2021-11-19 17:04:11 -10:00
OpIsGreaterThanOrEqualSigned = 0x00000508
2021-11-15 20:44:26 -10:00
OpGTES = OpIsGreaterThanOrEqualSigned
2021-11-19 17:04:11 -10:00
OpJump = 0x00000600
2021-11-15 20:44:26 -10:00
OpJmp = OpJump
2021-11-19 17:04:11 -10:00
OpJumpIfTrue = 0x00000601
2021-11-15 20:44:26 -10:00
OpJmpT = OpJumpIfTrue
2021-11-19 17:04:11 -10:00
OpJumpIfFalse = 0x00000602
2021-11-15 20:44:26 -10:00
OpJmpF = OpJumpIfFalse
2021-11-19 16:24:04 -10:00
2021-11-19 17:04:11 -10:00
OpCall = 0x00000700
2021-11-19 16:24:04 -10:00
OpCal = OpCall
2021-11-19 17:04:11 -10:00
OpCallIfTrue = 0x00000701
2021-11-19 16:24:04 -10:00
OpCalT = OpCallIfTrue
2021-11-19 17:04:11 -10:00
OpCallIfFalse = 0x00000702
2021-11-19 16:24:04 -10:00
OpCalF = OpCallIfFalse
2021-11-19 16:30:11 -10:00
2021-11-19 17:04:11 -10:00
OpReturn = 0x00000800
2021-11-19 16:30:11 -10:00
OpRet = OpReturn
2021-11-19 17:04:11 -10:00
OpReturnIfTrue = 0x00000801
2021-11-19 16:30:11 -10:00
OpRetT = OpReturnIfTrue
2021-11-19 17:04:11 -10:00
OpReturnIfFalse = 0x00000802
2021-11-19 16:30:11 -10:00
OpRetF = OpReturnIfFalse
2021-11-15 20:44:26 -10:00
)