vm: implement new PUSH opcodes
This commit is contained in:
parent
2c39e6fcec
commit
008e6eb233
37 changed files with 453 additions and 596 deletions
|
@ -8,105 +8,41 @@ type Opcode byte
|
|||
// Viable list of supported instruction constants.
|
||||
const (
|
||||
// Constants
|
||||
PUSH0 Opcode = 0x00
|
||||
PUSHF Opcode = PUSH0
|
||||
PUSHBYTES1 Opcode = 0x01
|
||||
PUSHBYTES2 Opcode = 0x02
|
||||
PUSHBYTES3 Opcode = 0x03
|
||||
PUSHBYTES4 Opcode = 0x04
|
||||
PUSHBYTES5 Opcode = 0x05
|
||||
PUSHBYTES6 Opcode = 0x06
|
||||
PUSHBYTES7 Opcode = 0x07
|
||||
PUSHBYTES8 Opcode = 0x08
|
||||
PUSHBYTES9 Opcode = 0x09
|
||||
PUSHBYTES10 Opcode = 0x0A
|
||||
PUSHBYTES11 Opcode = 0x0B
|
||||
PUSHBYTES12 Opcode = 0x0C
|
||||
PUSHBYTES13 Opcode = 0x0D
|
||||
PUSHBYTES14 Opcode = 0x0E
|
||||
PUSHBYTES15 Opcode = 0x0F
|
||||
PUSHBYTES16 Opcode = 0x10
|
||||
PUSHBYTES17 Opcode = 0x11
|
||||
PUSHBYTES18 Opcode = 0x12
|
||||
PUSHBYTES19 Opcode = 0x13
|
||||
PUSHBYTES20 Opcode = 0x14
|
||||
PUSHBYTES21 Opcode = 0x15
|
||||
PUSHBYTES22 Opcode = 0x16
|
||||
PUSHBYTES23 Opcode = 0x17
|
||||
PUSHBYTES24 Opcode = 0x18
|
||||
PUSHBYTES25 Opcode = 0x19
|
||||
PUSHBYTES26 Opcode = 0x1A
|
||||
PUSHBYTES27 Opcode = 0x1B
|
||||
PUSHBYTES28 Opcode = 0x1C
|
||||
PUSHBYTES29 Opcode = 0x1D
|
||||
PUSHBYTES30 Opcode = 0x1E
|
||||
PUSHBYTES31 Opcode = 0x1F
|
||||
PUSHBYTES32 Opcode = 0x20
|
||||
PUSHBYTES33 Opcode = 0x21
|
||||
PUSHBYTES34 Opcode = 0x22
|
||||
PUSHBYTES35 Opcode = 0x23
|
||||
PUSHBYTES36 Opcode = 0x24
|
||||
PUSHBYTES37 Opcode = 0x25
|
||||
PUSHBYTES38 Opcode = 0x26
|
||||
PUSHBYTES39 Opcode = 0x27
|
||||
PUSHBYTES40 Opcode = 0x28
|
||||
PUSHBYTES41 Opcode = 0x29
|
||||
PUSHBYTES42 Opcode = 0x2A
|
||||
PUSHBYTES43 Opcode = 0x2B
|
||||
PUSHBYTES44 Opcode = 0x2C
|
||||
PUSHBYTES45 Opcode = 0x2D
|
||||
PUSHBYTES46 Opcode = 0x2E
|
||||
PUSHBYTES47 Opcode = 0x2F
|
||||
PUSHBYTES48 Opcode = 0x30
|
||||
PUSHBYTES49 Opcode = 0x31
|
||||
PUSHBYTES50 Opcode = 0x32
|
||||
PUSHBYTES51 Opcode = 0x33
|
||||
PUSHBYTES52 Opcode = 0x34
|
||||
PUSHBYTES53 Opcode = 0x35
|
||||
PUSHBYTES54 Opcode = 0x36
|
||||
PUSHBYTES55 Opcode = 0x37
|
||||
PUSHBYTES56 Opcode = 0x38
|
||||
PUSHBYTES57 Opcode = 0x39
|
||||
PUSHBYTES58 Opcode = 0x3A
|
||||
PUSHBYTES59 Opcode = 0x3B
|
||||
PUSHBYTES60 Opcode = 0x3C
|
||||
PUSHBYTES61 Opcode = 0x3D
|
||||
PUSHBYTES62 Opcode = 0x3E
|
||||
PUSHBYTES63 Opcode = 0x3F
|
||||
PUSHBYTES64 Opcode = 0x40
|
||||
PUSHBYTES65 Opcode = 0x41
|
||||
PUSHBYTES66 Opcode = 0x42
|
||||
PUSHBYTES67 Opcode = 0x43
|
||||
PUSHBYTES68 Opcode = 0x44
|
||||
PUSHBYTES69 Opcode = 0x45
|
||||
PUSHBYTES70 Opcode = 0x46
|
||||
PUSHBYTES71 Opcode = 0x47
|
||||
PUSHBYTES72 Opcode = 0x48
|
||||
PUSHBYTES73 Opcode = 0x49
|
||||
PUSHBYTES74 Opcode = 0x4A
|
||||
PUSHBYTES75 Opcode = 0x4B
|
||||
PUSHDATA1 Opcode = 0x4C
|
||||
PUSHDATA2 Opcode = 0x4D
|
||||
PUSHDATA4 Opcode = 0x4E
|
||||
PUSHM1 Opcode = 0x4F
|
||||
PUSHNULL Opcode = 0x50
|
||||
PUSH1 Opcode = 0x51
|
||||
PUSHT Opcode = PUSH1
|
||||
PUSH2 Opcode = 0x52
|
||||
PUSH3 Opcode = 0x53
|
||||
PUSH4 Opcode = 0x54
|
||||
PUSH5 Opcode = 0x55
|
||||
PUSH6 Opcode = 0x56
|
||||
PUSH7 Opcode = 0x57
|
||||
PUSH8 Opcode = 0x58
|
||||
PUSH9 Opcode = 0x59
|
||||
PUSH10 Opcode = 0x5A
|
||||
PUSH11 Opcode = 0x5B
|
||||
PUSH12 Opcode = 0x5C
|
||||
PUSH13 Opcode = 0x5D
|
||||
PUSH14 Opcode = 0x5E
|
||||
PUSH15 Opcode = 0x5F
|
||||
PUSH16 Opcode = 0x60
|
||||
PUSHINT8 Opcode = 0x00
|
||||
PUSHINT16 Opcode = 0x01
|
||||
PUSHINT32 Opcode = 0x02
|
||||
PUSHINT64 Opcode = 0x03
|
||||
PUSHINT128 Opcode = 0x04
|
||||
PUSHINT256 Opcode = 0x05
|
||||
|
||||
PUSHNULL Opcode = 0x0B
|
||||
|
||||
PUSHDATA1 Opcode = 0x0C
|
||||
PUSHDATA2 Opcode = 0x0D
|
||||
PUSHDATA4 Opcode = 0x0E
|
||||
|
||||
PUSHM1 Opcode = 0x0F
|
||||
PUSH0 Opcode = 0x10
|
||||
PUSHF Opcode = PUSH0
|
||||
PUSH1 Opcode = 0x11
|
||||
PUSHT Opcode = PUSH1
|
||||
PUSH2 Opcode = 0x12
|
||||
PUSH3 Opcode = 0x13
|
||||
PUSH4 Opcode = 0x14
|
||||
PUSH5 Opcode = 0x15
|
||||
PUSH6 Opcode = 0x16
|
||||
PUSH7 Opcode = 0x17
|
||||
PUSH8 Opcode = 0x18
|
||||
PUSH9 Opcode = 0x19
|
||||
PUSH10 Opcode = 0x1A
|
||||
PUSH11 Opcode = 0x1B
|
||||
PUSH12 Opcode = 0x1C
|
||||
PUSH13 Opcode = 0x1D
|
||||
PUSH14 Opcode = 0x1E
|
||||
PUSH15 Opcode = 0x1F
|
||||
PUSH16 Opcode = 0x20
|
||||
|
||||
OLDPUSH1 Opcode = 0x51
|
||||
|
||||
// Flow control
|
||||
NOP Opcode = 0x61
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue