AndLong, IntModulo, ASHRLong and native methods

This commit is contained in:
vegowotenks 2024-11-12 16:31:41 +01:00
parent 8e5b6bb2b8
commit 796e52241d
3 changed files with 336 additions and 7 deletions

View file

@ -108,8 +108,10 @@ impl Bytecode {
0x78 => (Instruction::ArithmeticShiftIntLeft(), 1),
0x79 => (Instruction::ArithmeticShiftLongLeft(), 1),
0x7A => (Instruction::ArithmeticShiftIntRight(), 1),
0x7B => (Instruction::ArithmeticShiftLongRight(), 1),
0x7C => (Instruction::LogicalShiftIntRight(), 1),
0x7E => (Instruction::AndInt(), 1),
0x7F => (Instruction::AndLong(), 1),
0x80 => (Instruction::OrInt(), 1),
0x82 => (Instruction::XorInt(), 1),
@ -393,8 +395,10 @@ pub enum Instruction {
ArithmeticShiftIntLeft() = 0x78, // shift int left, preserve sign
ArithmeticShiftLongLeft() = 0x79, // shift long left, preserve sign
ArithmeticShiftIntRight() = 0x7A, // shift int right, preserve sign
ArithmeticShiftLongRight() = 0x7B, // shift long right, preserve sign
LogicalShiftIntRight() = 0x7C, // shift int right with zero extension
AndInt() = 0x7E, // bitwise and
AndLong() = 0x7F, // bitwise and
OrInt() = 0x80, // value, value => or
XorInt() = 0x82, // value, value => xor