fix: byte、short 运算后会变为 int 的问题
This commit is contained in:
parent
c17ccc7540
commit
c03761ed61
@ -50,7 +50,7 @@ public class BAddCommand implements Command {
|
||||
byte a = (byte) operandStack.pop();
|
||||
|
||||
// Perform the addition and push the result back onto the stack
|
||||
operandStack.push(a + b);
|
||||
operandStack.push((byte)(a + b));
|
||||
|
||||
// Return the updated program counter (next instruction)
|
||||
return currentPC + 1;
|
||||
|
||||
@ -56,7 +56,7 @@ public class BDivCommand implements Command {
|
||||
}
|
||||
|
||||
// Perform the division and push the result back onto the stack
|
||||
operandStack.push(a / b);
|
||||
operandStack.push((byte)(a / b));
|
||||
|
||||
// Return the updated program counter (next instruction)
|
||||
return currentPC + 1;
|
||||
|
||||
@ -50,7 +50,7 @@ public class BModCommand implements Command {
|
||||
byte a = (byte) operandStack.pop();
|
||||
|
||||
// Perform the modulus operation and push the result back onto the stack
|
||||
operandStack.push(a % b);
|
||||
operandStack.push((byte)(a % b));
|
||||
|
||||
// Return the updated program counter (next instruction)
|
||||
return currentPC + 1;
|
||||
|
||||
@ -50,7 +50,7 @@ public class BMulCommand implements Command {
|
||||
byte a = (byte) operandStack.pop();
|
||||
|
||||
// Perform the multiplication and push the result back onto the stack
|
||||
operandStack.push(a * b);
|
||||
operandStack.push((byte)(a * b));
|
||||
|
||||
// Return the updated program counter (next instruction)
|
||||
return currentPC + 1;
|
||||
|
||||
@ -50,7 +50,7 @@ public class BSubCommand implements Command {
|
||||
byte a = (byte) operandStack.pop();
|
||||
|
||||
// Perform the subtraction and push the result back onto the stack
|
||||
operandStack.push(a - b);
|
||||
operandStack.push((byte)(a - b));
|
||||
|
||||
// Return the updated program counter (next instruction)
|
||||
return currentPC + 1;
|
||||
|
||||
@ -46,11 +46,11 @@ public class SAddCommand implements Command {
|
||||
@Override
|
||||
public int execute(String[] parts, int currentPC, OperandStack operandStack, LocalVariableStore localVariableStore, CallStack callStack) {
|
||||
// Pop the top two operands from the stack
|
||||
Short b = (Short) operandStack.pop();
|
||||
Short a = (Short) operandStack.pop();
|
||||
short b = (short) operandStack.pop();
|
||||
short a = (short) operandStack.pop();
|
||||
|
||||
// Perform the addition and push the result back onto the stack
|
||||
operandStack.push(a + b);
|
||||
operandStack.push((short)(a + b));
|
||||
|
||||
// Return the updated program counter (next instruction)
|
||||
return currentPC + 1;
|
||||
|
||||
@ -56,7 +56,7 @@ public class SDivCommand implements Command {
|
||||
}
|
||||
|
||||
// Perform the division and push the result back onto the stack
|
||||
operandStack.push(a / b);
|
||||
operandStack.push((short)(a / b));
|
||||
|
||||
// Return the updated program counter (next instruction)
|
||||
return currentPC + 1;
|
||||
|
||||
@ -50,7 +50,7 @@ public class SModCommand implements Command {
|
||||
short a = (short) operandStack.pop();
|
||||
|
||||
// Perform the modulus operation and push the result back onto the stack
|
||||
operandStack.push(a % b);
|
||||
operandStack.push((short)(a % b));
|
||||
|
||||
// Return the updated program counter (next instruction)
|
||||
return currentPC + 1;
|
||||
|
||||
@ -50,7 +50,7 @@ public class SMulCommand implements Command {
|
||||
short a = (short) operandStack.pop();
|
||||
|
||||
// Perform the multiplication and push the result back onto the stack
|
||||
operandStack.push(a * b);
|
||||
operandStack.push((short)(a * b));
|
||||
|
||||
// Return the updated program counter (next instruction)
|
||||
return currentPC + 1;
|
||||
|
||||
@ -50,7 +50,7 @@ public class SSubCommand implements Command {
|
||||
short a = (short) operandStack.pop();
|
||||
|
||||
// Perform the subtraction and push the result back onto the stack
|
||||
operandStack.push(a - b);
|
||||
operandStack.push((short)(a - b));
|
||||
|
||||
// Return the updated program counter (next instruction)
|
||||
return currentPC + 1;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user