Implement ArithmeticShiftIntLeft, OrInt

This commit is contained in:
vegowotenks 2024-09-11 00:31:31 +02:00
parent cc4166a814
commit 95beeef1c5
2 changed files with 19 additions and 3 deletions

View file

@ -79,6 +79,7 @@ impl Bytecode {
0x6C => (Instruction::DivideInt(), 1),
0x6D => (Instruction::DivideLong(), 1),
0x78 => (Instruction::ArithmeticShiftIntLeft(), 1),
0x7A => (Instruction::ArithmeticShiftIntRight(), 1),
0x7C => (Instruction::LogicalShiftIntRight(), 1),
0x7E => (Instruction::AndInt(), 1),
@ -324,7 +325,8 @@ pub enum Instruction {
DivideInt() = 0x6C, // integer division, round toward zero and more rules
DivideLong() = 0x6D, // long division
ArithmeticShiftIntRight() = 0x7A, // shift int
ArithmeticShiftIntLeft() = 0x78, // shift int left, preserve sign
ArithmeticShiftIntRight() = 0x7A, // shift int right, preserve sign
LogicalShiftIntRight() = 0x7C, // shift int right with zero extension
AndInt() = 0x7E, // bitwise and