!22 feat: SnowVM 扩容至 16位,并且支持更多指令
Merge pull request !22 from Luke/feature/refactor-opcode
This commit is contained in:
commit
5bd7dd3c9c
@ -3,7 +3,7 @@
|
|||||||
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
||||||
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
||||||
<module name="Snow" />
|
<module name="Snow" />
|
||||||
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo1" />
|
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo1 -o target/Demo1" />
|
||||||
<extension name="coverage">
|
<extension name="coverage">
|
||||||
<pattern>
|
<pattern>
|
||||||
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
||||||
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
||||||
<module name="Snow" />
|
<module name="Snow" />
|
||||||
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo10" />
|
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo10 -o target/Demo10" />
|
||||||
<extension name="coverage">
|
<extension name="coverage">
|
||||||
<pattern>
|
<pattern>
|
||||||
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
||||||
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
||||||
<module name="Snow" />
|
<module name="Snow" />
|
||||||
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo2" />
|
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo2 -o target/Demo2" />
|
||||||
<extension name="coverage">
|
<extension name="coverage">
|
||||||
<pattern>
|
<pattern>
|
||||||
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
||||||
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
||||||
<module name="Snow" />
|
<module name="Snow" />
|
||||||
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo3" />
|
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo3 -o target/Demo3" />
|
||||||
<extension name="coverage">
|
<extension name="coverage">
|
||||||
<pattern>
|
<pattern>
|
||||||
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
||||||
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
||||||
<module name="Snow" />
|
<module name="Snow" />
|
||||||
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo4" />
|
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo4 -o target/Demo4" />
|
||||||
<extension name="coverage">
|
<extension name="coverage">
|
||||||
<pattern>
|
<pattern>
|
||||||
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
||||||
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
||||||
<module name="Snow" />
|
<module name="Snow" />
|
||||||
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo5" />
|
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo5 -o target/Demo5" />
|
||||||
<extension name="coverage">
|
<extension name="coverage">
|
||||||
<pattern>
|
<pattern>
|
||||||
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
||||||
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
||||||
<module name="Snow" />
|
<module name="Snow" />
|
||||||
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo6" />
|
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo6 -o target/Demo6" />
|
||||||
<extension name="coverage">
|
<extension name="coverage">
|
||||||
<pattern>
|
<pattern>
|
||||||
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
||||||
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
||||||
<module name="Snow" />
|
<module name="Snow" />
|
||||||
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo7" />
|
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo7 -o target/Demo7" />
|
||||||
<extension name="coverage">
|
<extension name="coverage">
|
||||||
<pattern>
|
<pattern>
|
||||||
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
||||||
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
||||||
<module name="Snow" />
|
<module name="Snow" />
|
||||||
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo8" />
|
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo8 -o target/Demo8" />
|
||||||
<extension name="coverage">
|
<extension name="coverage">
|
||||||
<pattern>
|
<pattern>
|
||||||
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
<option name="ALTERNATIVE_JRE_PATH" value="graalvm-ce-23" />
|
||||||
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
<option name="MAIN_CLASS_NAME" value="org.jcnc.snow.cli.SnowCLI" />
|
||||||
<module name="Snow" />
|
<module name="Snow" />
|
||||||
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo9" />
|
<option name="PROGRAM_PARAMETERS" value="compile run -d playground/Demo9 -o target/Demo9" />
|
||||||
<extension name="coverage">
|
<extension name="coverage">
|
||||||
<pattern>
|
<pattern>
|
||||||
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
<option name="PATTERN" value="org.jcnc.snow.compiler.parser.preprocessor.lexer.impl.api.*" />
|
||||||
|
|||||||
@ -94,18 +94,18 @@ public final class OpHelper {
|
|||||||
map.put("L_OR", Integer.toString(VMOpCode.L_OR));
|
map.put("L_OR", Integer.toString(VMOpCode.L_OR));
|
||||||
map.put("L_XOR", Integer.toString(VMOpCode.L_XOR));
|
map.put("L_XOR", Integer.toString(VMOpCode.L_XOR));
|
||||||
map.put("JUMP", Integer.toString(VMOpCode.JUMP));
|
map.put("JUMP", Integer.toString(VMOpCode.JUMP));
|
||||||
map.put("IC_E", Integer.toString(VMOpCode.IC_E));
|
map.put("IC_E", Integer.toString(VMOpCode.I_CE));
|
||||||
map.put("IC_NE", Integer.toString(VMOpCode.IC_NE));
|
map.put("IC_NE", Integer.toString(VMOpCode.I_CNE));
|
||||||
map.put("IC_G", Integer.toString(VMOpCode.IC_G));
|
map.put("IC_G", Integer.toString(VMOpCode.I_CG));
|
||||||
map.put("IC_GE", Integer.toString(VMOpCode.IC_GE));
|
map.put("IC_GE", Integer.toString(VMOpCode.I_CGE));
|
||||||
map.put("IC_L", Integer.toString(VMOpCode.IC_L));
|
map.put("IC_L", Integer.toString(VMOpCode.I_CL));
|
||||||
map.put("IC_LE", Integer.toString(VMOpCode.IC_LE));
|
map.put("IC_LE", Integer.toString(VMOpCode.I_CLE));
|
||||||
map.put("LC_E", Integer.toString(VMOpCode.LC_E));
|
map.put("LC_E", Integer.toString(VMOpCode.L_CE));
|
||||||
map.put("LC_NE", Integer.toString(VMOpCode.LC_NE));
|
map.put("LC_NE", Integer.toString(VMOpCode.L_CNE));
|
||||||
map.put("LC_G", Integer.toString(VMOpCode.LC_G));
|
map.put("LC_G", Integer.toString(VMOpCode.L_CG));
|
||||||
map.put("LC_GE", Integer.toString(VMOpCode.LC_GE));
|
map.put("LC_GE", Integer.toString(VMOpCode.L_CGE));
|
||||||
map.put("LC_L", Integer.toString(VMOpCode.LC_L));
|
map.put("LC_L", Integer.toString(VMOpCode.L_CL));
|
||||||
map.put("LC_LE", Integer.toString(VMOpCode.LC_LE));
|
map.put("LC_LE", Integer.toString(VMOpCode.L_CLE));
|
||||||
map.put("I_PUSH", Integer.toString(VMOpCode.I_PUSH));
|
map.put("I_PUSH", Integer.toString(VMOpCode.I_PUSH));
|
||||||
map.put("L_PUSH", Integer.toString(VMOpCode.L_PUSH));
|
map.put("L_PUSH", Integer.toString(VMOpCode.L_PUSH));
|
||||||
map.put("S_PUSH", Integer.toString(VMOpCode.S_PUSH));
|
map.put("S_PUSH", Integer.toString(VMOpCode.S_PUSH));
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.function;
|
package org.jcnc.snow.vm.commands.flow.control;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.engine.VMMode;
|
import org.jcnc.snow.vm.engine.VMMode;
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.all;
|
package org.jcnc.snow.vm.commands.flow.control;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.utils.LoggingUtils;
|
import org.jcnc.snow.vm.utils.LoggingUtils;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.function;
|
package org.jcnc.snow.vm.commands.flow.control;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.*;
|
import org.jcnc.snow.vm.module.*;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.memory.all;
|
package org.jcnc.snow.vm.commands.register.control;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.stack.all;
|
package org.jcnc.snow.vm.commands.stack.control;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.stack.all;
|
package org.jcnc.snow.vm.commands.stack.control;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.stack.all;
|
package org.jcnc.snow.vm.commands.stack.control;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.vm;
|
package org.jcnc.snow.vm.commands.system.control;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.utils.LoggingUtils;
|
import org.jcnc.snow.vm.utils.LoggingUtils;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.byte8;
|
package org.jcnc.snow.vm.commands.type.control.byte8;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -0,0 +1,56 @@
|
|||||||
|
package org.jcnc.snow.vm.commands.type.control.byte8;
|
||||||
|
|
||||||
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
|
import org.jcnc.snow.vm.module.LocalVariableStore;
|
||||||
|
import org.jcnc.snow.vm.module.OperandStack;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The BAndCommand class implements the {@link Command} interface and represents the byte8 bitwise AND (`&`) operation command.
|
||||||
|
* This class performs a byte8 bitwise AND operation in the virtual machine by popping the top two values from the stack,
|
||||||
|
* computing their byte8 bitwise AND operation, and then pushing the result back onto the stack. It is a basic operation command within the virtual machine.
|
||||||
|
*
|
||||||
|
* <p>Specific behavior:</p>
|
||||||
|
* <ul>
|
||||||
|
* <li>Pops two operands from the virtual machine stack.</li>
|
||||||
|
* <li>Performs the byte8 bitwise AND (`&`) operation.</li>
|
||||||
|
* <li>Pushes the result back onto the virtual machine stack.</li>
|
||||||
|
* </ul>
|
||||||
|
*/
|
||||||
|
public class BAndCommand implements Command {
|
||||||
|
/**
|
||||||
|
* Default constructor for creating an instance of {@code BAndCommand}.
|
||||||
|
* This constructor is empty as no specific initialization is required.
|
||||||
|
*/
|
||||||
|
public BAndCommand() {
|
||||||
|
// Empty constructor
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Executes the virtual machine instruction's operation.
|
||||||
|
*
|
||||||
|
* @param parts The array of instruction parameters, which usually includes the operator and related arguments.
|
||||||
|
* @param currentPC The current program counter-value, indicating the address of the instruction being executed.
|
||||||
|
* @param operandStack The virtual machine's operand stack manager, responsible for pushing and popping values.
|
||||||
|
* @param localVariableStore The local variable store, typically used to manage method-local variables.
|
||||||
|
* @param callStack The virtual machine's call stack, used for managing method calls and returns.
|
||||||
|
* @return The updated program counter-value, typically `currentPC + 1` unless a control flow instruction is executed.
|
||||||
|
* @throws IllegalStateException if there are not enough operands on the stack to perform the operation.
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int execute(String[] parts, int currentPC, OperandStack operandStack, LocalVariableStore localVariableStore, CallStack callStack) {
|
||||||
|
// Ensure the stack has at least two operands
|
||||||
|
if (operandStack.size() < 2) {
|
||||||
|
throw new IllegalStateException("Not enough operands on the stack for BAND operation.");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Pop the top two operands from the stack
|
||||||
|
final byte b = (byte) operandStack.pop();
|
||||||
|
final byte a = (byte) operandStack.pop();
|
||||||
|
|
||||||
|
// Perform the byte8 bitwise AND operation and push the result back onto the stack
|
||||||
|
operandStack.push((byte)(a & b));
|
||||||
|
|
||||||
|
return currentPC + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.byte8;
|
package org.jcnc.snow.vm.commands.type.control.byte8;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.byte8;
|
package org.jcnc.snow.vm.commands.type.control.byte8;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.byte8;
|
package org.jcnc.snow.vm.commands.type.control.byte8;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.byte8;
|
package org.jcnc.snow.vm.commands.type.control.byte8;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.byte8;
|
package org.jcnc.snow.vm.commands.type.control.byte8;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.byte8;
|
package org.jcnc.snow.vm.commands.type.control.byte8;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.byte8;
|
package org.jcnc.snow.vm.commands.type.control.byte8;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.byte8;
|
package org.jcnc.snow.vm.commands.type.control.byte8;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.memory.byte8;
|
package org.jcnc.snow.vm.commands.type.control.byte8;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.byte8;
|
package org.jcnc.snow.vm.commands.type.control.byte8;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.byte8;
|
package org.jcnc.snow.vm.commands.type.control.byte8;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.byte8;
|
package org.jcnc.snow.vm.commands.type.control.byte8;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -0,0 +1,56 @@
|
|||||||
|
package org.jcnc.snow.vm.commands.type.control.byte8;
|
||||||
|
|
||||||
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
|
import org.jcnc.snow.vm.module.LocalVariableStore;
|
||||||
|
import org.jcnc.snow.vm.module.OperandStack;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The {@code BOrCommand} class implements the {@link Command} interface and represents the byte8 bitwise OR (`|`) operation command.
|
||||||
|
* This class performs a byte8 bitwise OR operation in the virtual machine by popping the top two values from the stack,
|
||||||
|
* computing their OR, and then pushing the result back onto the stack. It is a basic operation command within the virtual machine.
|
||||||
|
*
|
||||||
|
* <p><b>Operation details:</b></p>
|
||||||
|
* <ul>
|
||||||
|
* <li>Pops two operands from the virtual machine stack.</li>
|
||||||
|
* <li>Performs the byte8 bitwise OR (`|`) operation.</li>
|
||||||
|
* <li>Pushes the result back onto the virtual machine stack.</li>
|
||||||
|
* </ul>
|
||||||
|
*/
|
||||||
|
public class BOrCommand implements Command {
|
||||||
|
/**
|
||||||
|
* Default constructor for creating an instance of {@code BOrCommand}.
|
||||||
|
* This constructor is empty as no specific initialization is required.
|
||||||
|
*/
|
||||||
|
public BOrCommand() {
|
||||||
|
// Empty constructor
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Executes the virtual machine instruction's operation.
|
||||||
|
*
|
||||||
|
* @param parts The array of instruction parameters, which usually includes the operator and related arguments.
|
||||||
|
* @param currentPC The current program counter-value, indicating the address of the instruction being executed.
|
||||||
|
* @param operandStack The virtual machine's operand stack manager, responsible for performing stack operations.
|
||||||
|
* @param localVariableStore The local variable store, typically used to manage method-local variables.
|
||||||
|
* @param callStack The virtual machine's call stack, which keeps track of method invocations.
|
||||||
|
* @return The updated program counter-value, typically {@code currentPC + 1}, unless a control flow instruction is executed.
|
||||||
|
* @throws IllegalStateException if there are not enough operands on the stack to perform the operation.
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int execute(String[] parts, int currentPC, OperandStack operandStack, LocalVariableStore localVariableStore, CallStack callStack) {
|
||||||
|
// Ensure the stack has at least two operands
|
||||||
|
if (operandStack.size() < 2) {
|
||||||
|
throw new IllegalStateException("Not enough operands on the stack for BOR operation.");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Pop the top two operands from the stack
|
||||||
|
final byte b = (byte) operandStack.pop();
|
||||||
|
final byte a = (byte) operandStack.pop();
|
||||||
|
|
||||||
|
// Perform the byte8 bitwise OR operation and push the result back onto the stack
|
||||||
|
operandStack.push((byte)(a | b));
|
||||||
|
|
||||||
|
return currentPC + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.stack.byte8;
|
package org.jcnc.snow.vm.commands.type.control.byte8;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.memory.byte8;
|
package org.jcnc.snow.vm.commands.type.control.byte8;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.byte8;
|
package org.jcnc.snow.vm.commands.type.control.byte8;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -0,0 +1,56 @@
|
|||||||
|
package org.jcnc.snow.vm.commands.type.control.byte8;
|
||||||
|
|
||||||
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
|
import org.jcnc.snow.vm.module.LocalVariableStore;
|
||||||
|
import org.jcnc.snow.vm.module.OperandStack;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The {@code BXorCommand} class implements the {@link Command} interface and represents the byte8 bitwise XOR (`^`) operation command.
|
||||||
|
* This class performs a byte8 bitwise XOR operation in the virtual machine by popping the top two values from the stack,
|
||||||
|
* computing their XOR, and then pushing the result back onto the stack. It is a basic operation command within the virtual machine.
|
||||||
|
*
|
||||||
|
* <p><b>Operation details:</b></p>
|
||||||
|
* <ul>
|
||||||
|
* <li>Pops two operands from the virtual machine stack.</li>
|
||||||
|
* <li>Performs the byte8 bitwise XOR (`^`) operation.</li>
|
||||||
|
* <li>Pushes the result back onto the virtual machine stack.</li>
|
||||||
|
* </ul>
|
||||||
|
*/
|
||||||
|
public class BXorCommand implements Command {
|
||||||
|
/**
|
||||||
|
* Default constructor for creating an instance of {@code BXorCommand}.
|
||||||
|
* This constructor is empty as no specific initialization is required.
|
||||||
|
*/
|
||||||
|
public BXorCommand() {
|
||||||
|
// Empty constructor
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Executes the virtual machine instruction's operation.
|
||||||
|
*
|
||||||
|
* @param parts The array of instruction parameters, which usually includes the operator and related arguments.
|
||||||
|
* @param currentPC The current program counter-value, indicating the address of the instruction being executed.
|
||||||
|
* @param operandStack The virtual machine's operand stack manager, responsible for performing stack operations.
|
||||||
|
* @param localVariableStore The local variable store, typically used to manage method-local variables.
|
||||||
|
* @param callStack The virtual machine's call stack, which keeps track of method invocations.
|
||||||
|
* @return The updated program counter-value, typically {@code currentPC + 1}, unless a control flow instruction is executed.
|
||||||
|
* @throws IllegalStateException if there are not enough operands on the stack to perform the operation.
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int execute(String[] parts, int currentPC, OperandStack operandStack, LocalVariableStore localVariableStore, CallStack callStack) {
|
||||||
|
// Ensure the stack has at least two operands
|
||||||
|
if (operandStack.size() < 2) {
|
||||||
|
throw new IllegalStateException("Not enough operands on the stack for BXOR operation.");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Pop the top two operands from the stack
|
||||||
|
final byte b = (byte) operandStack.pop();
|
||||||
|
final byte a = (byte) operandStack.pop();
|
||||||
|
|
||||||
|
// Perform the byte8 bitwise XOR operation and push the result back onto the stack
|
||||||
|
operandStack.push((byte)(a ^ b));
|
||||||
|
|
||||||
|
return currentPC + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.double64;
|
package org.jcnc.snow.vm.commands.type.control.double64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.double64;
|
package org.jcnc.snow.vm.commands.type.control.double64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.double64;
|
package org.jcnc.snow.vm.commands.type.control.double64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.double64;
|
package org.jcnc.snow.vm.commands.type.control.double64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.double64;
|
package org.jcnc.snow.vm.commands.type.control.double64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.double64;
|
package org.jcnc.snow.vm.commands.type.control.double64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.double64;
|
package org.jcnc.snow.vm.commands.type.control.double64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.double64;
|
package org.jcnc.snow.vm.commands.type.control.double64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.double64;
|
package org.jcnc.snow.vm.commands.type.control.double64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.memory.double64;
|
package org.jcnc.snow.vm.commands.type.control.double64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.double64;
|
package org.jcnc.snow.vm.commands.type.control.double64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.double64;
|
package org.jcnc.snow.vm.commands.type.control.double64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.double64;
|
package org.jcnc.snow.vm.commands.type.control.double64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.stack.double64;
|
package org.jcnc.snow.vm.commands.type.control.double64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.memory.double64;
|
package org.jcnc.snow.vm.commands.type.control.double64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.double64;
|
package org.jcnc.snow.vm.commands.type.control.double64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.float32;
|
package org.jcnc.snow.vm.commands.type.control.float32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.float32;
|
package org.jcnc.snow.vm.commands.type.control.float32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.float32;
|
package org.jcnc.snow.vm.commands.type.control.float32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.float32;
|
package org.jcnc.snow.vm.commands.type.control.float32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.float32;
|
package org.jcnc.snow.vm.commands.type.control.float32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.float32;
|
package org.jcnc.snow.vm.commands.type.control.float32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.float32;
|
package org.jcnc.snow.vm.commands.type.control.float32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.float32;
|
package org.jcnc.snow.vm.commands.type.control.float32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.float32;
|
package org.jcnc.snow.vm.commands.type.control.float32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.memory.float32;
|
package org.jcnc.snow.vm.commands.type.control.float32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.float32;
|
package org.jcnc.snow.vm.commands.type.control.float32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.float32;
|
package org.jcnc.snow.vm.commands.type.control.float32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.float32;
|
package org.jcnc.snow.vm.commands.type.control.float32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.stack.float32;
|
package org.jcnc.snow.vm.commands.type.control.float32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.memory.float32;
|
package org.jcnc.snow.vm.commands.type.control.float32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.float32;
|
package org.jcnc.snow.vm.commands.type.control.float32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.int32;
|
package org.jcnc.snow.vm.commands.type.control.int32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.bitwise.int32;
|
package org.jcnc.snow.vm.commands.type.control.int32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.int32;
|
package org.jcnc.snow.vm.commands.type.control.int32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.utils.LoggingUtils;
|
import org.jcnc.snow.vm.utils.LoggingUtils;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.int32;
|
package org.jcnc.snow.vm.commands.type.control.int32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.utils.LoggingUtils;
|
import org.jcnc.snow.vm.utils.LoggingUtils;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.int32;
|
package org.jcnc.snow.vm.commands.type.control.int32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.utils.LoggingUtils;
|
import org.jcnc.snow.vm.utils.LoggingUtils;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.int32;
|
package org.jcnc.snow.vm.commands.type.control.int32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.utils.LoggingUtils;
|
import org.jcnc.snow.vm.utils.LoggingUtils;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.int32;
|
package org.jcnc.snow.vm.commands.type.control.int32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.utils.LoggingUtils;
|
import org.jcnc.snow.vm.utils.LoggingUtils;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.int32;
|
package org.jcnc.snow.vm.commands.type.control.int32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.utils.LoggingUtils;
|
import org.jcnc.snow.vm.utils.LoggingUtils;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.int32;
|
package org.jcnc.snow.vm.commands.type.control.int32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.int32;
|
package org.jcnc.snow.vm.commands.type.control.int32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.memory.int32;
|
package org.jcnc.snow.vm.commands.type.control.int32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.int32;
|
package org.jcnc.snow.vm.commands.type.control.int32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.int32;
|
package org.jcnc.snow.vm.commands.type.control.int32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.int32;
|
package org.jcnc.snow.vm.commands.type.control.int32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.bitwise.int32;
|
package org.jcnc.snow.vm.commands.type.control.int32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.stack.int32;
|
package org.jcnc.snow.vm.commands.type.control.int32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.memory.int32;
|
package org.jcnc.snow.vm.commands.type.control.int32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.int32;
|
package org.jcnc.snow.vm.commands.type.control.int32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.bitwise.int32;
|
package org.jcnc.snow.vm.commands.type.control.int32;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.long64;
|
package org.jcnc.snow.vm.commands.type.control.long64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.bitwise.long64;
|
package org.jcnc.snow.vm.commands.type.control.long64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.long64;
|
package org.jcnc.snow.vm.commands.type.control.long64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.long64;
|
package org.jcnc.snow.vm.commands.type.control.long64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.long64;
|
package org.jcnc.snow.vm.commands.type.control.long64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.long64;
|
package org.jcnc.snow.vm.commands.type.control.long64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.long64;
|
package org.jcnc.snow.vm.commands.type.control.long64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.control.long64;
|
package org.jcnc.snow.vm.commands.type.control.long64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.long64;
|
package org.jcnc.snow.vm.commands.type.control.long64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.arithmetic.long64;
|
package org.jcnc.snow.vm.commands.type.control.long64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.vm.commands.memory.long64;
|
package org.jcnc.snow.vm.commands.type.control.long64;
|
||||||
|
|
||||||
import org.jcnc.snow.vm.interfaces.Command;
|
import org.jcnc.snow.vm.interfaces.Command;
|
||||||
import org.jcnc.snow.vm.module.CallStack;
|
import org.jcnc.snow.vm.module.CallStack;
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user