feat: 新增引用控制命令
- 添加 RPushCommand、RLoadCommand 和 RStoreCommand 三个引用控制命令类 - 在 CommandFactory 中注册这三个命令
This commit is contained in:
parent
c6067a8758
commit
2cb428ed9b
@ -6,6 +6,9 @@ import org.jcnc.snow.vm.commands.type.control.double64.*;
|
|||||||
import org.jcnc.snow.vm.commands.type.control.float32.*;
|
import org.jcnc.snow.vm.commands.type.control.float32.*;
|
||||||
import org.jcnc.snow.vm.commands.type.control.int32.*;
|
import org.jcnc.snow.vm.commands.type.control.int32.*;
|
||||||
import org.jcnc.snow.vm.commands.type.control.long64.*;
|
import org.jcnc.snow.vm.commands.type.control.long64.*;
|
||||||
|
import org.jcnc.snow.vm.commands.type.control.ref.RLoadCommand;
|
||||||
|
import org.jcnc.snow.vm.commands.type.control.ref.RPushCommand;
|
||||||
|
import org.jcnc.snow.vm.commands.type.control.ref.RStoreCommand;
|
||||||
import org.jcnc.snow.vm.commands.type.control.short16.*;
|
import org.jcnc.snow.vm.commands.type.control.short16.*;
|
||||||
import org.jcnc.snow.vm.commands.type.control.byte8.BAndCommand;
|
import org.jcnc.snow.vm.commands.type.control.byte8.BAndCommand;
|
||||||
import org.jcnc.snow.vm.commands.type.control.byte8.BOrCommand;
|
import org.jcnc.snow.vm.commands.type.control.byte8.BOrCommand;
|
||||||
@ -62,6 +65,7 @@ public class CommandFactory {
|
|||||||
|
|
||||||
static {
|
static {
|
||||||
|
|
||||||
|
|
||||||
// region Type Control (0x0000-0x00BF)
|
// region Type Control (0x0000-0x00BF)
|
||||||
// region Byte8 (0x0000-0x001F)
|
// region Byte8 (0x0000-0x001F)
|
||||||
COMMANDS[VMOpCode.B_ADD] = new BAddCommand();
|
COMMANDS[VMOpCode.B_ADD] = new BAddCommand();
|
||||||
@ -205,6 +209,7 @@ public class CommandFactory {
|
|||||||
COMMANDS[VMOpCode.D_CL] = new DCLCommand();
|
COMMANDS[VMOpCode.D_CL] = new DCLCommand();
|
||||||
COMMANDS[VMOpCode.D_CLE] = new DCLECommand();
|
COMMANDS[VMOpCode.D_CLE] = new DCLECommand();
|
||||||
// endregion
|
// endregion
|
||||||
|
|
||||||
// endregion
|
// endregion
|
||||||
|
|
||||||
// region Type Conversion (0x00C0-0x00DF)
|
// region Type Conversion (0x00C0-0x00DF)
|
||||||
@ -245,6 +250,12 @@ public class CommandFactory {
|
|||||||
COMMANDS[VMOpCode.D2F] = new D2FCommand();
|
COMMANDS[VMOpCode.D2F] = new D2FCommand();
|
||||||
// endregion
|
// endregion
|
||||||
|
|
||||||
|
// region Reference Control (0x00E0-0x00EF)
|
||||||
|
COMMANDS[VMOpCode.R_PUSH] = new RPushCommand();
|
||||||
|
COMMANDS[VMOpCode.R_LOAD] = new RLoadCommand();
|
||||||
|
COMMANDS[VMOpCode.R_STORE] = new RStoreCommand();
|
||||||
|
// endregion
|
||||||
|
|
||||||
// region Stack Control (0x0100-0x01FF)
|
// region Stack Control (0x0100-0x01FF)
|
||||||
COMMANDS[VMOpCode.POP] = new PopCommand();
|
COMMANDS[VMOpCode.POP] = new PopCommand();
|
||||||
COMMANDS[VMOpCode.DUP] = new DupCommand();
|
COMMANDS[VMOpCode.DUP] = new DupCommand();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user