def lshr(frame): value2 = frame.stack.pop() value1 = frame.stack.pop() jassert_int(value2) jassert_long(value1) value2 &= 0b111111 result = value1[1] >> value2 result = ("long", cut_to_long(result)) jassert_long(result) frame.stack.append(result)
def op_0x79(frame): # lshl value2 = frame.stack.pop() value1 = frame.stack.pop() jassert_int(value2) jassert_long(value1) value2 &= 0b111111 result = value1[1] << value2 result = ("long", cut_to_long(result)) jassert_long(result) frame.stack.append(result)
def lushr(frame): value2 = frame.stack.pop() value1 = frame.stack.pop() jassert_long(value1) jassert_int(value2) value2 &= 0b111111 data = struct.pack(">q", value1[1]) result = struct.unpack(">Q", data)[0] result >>= value2 data = struct.pack(">Q", result) result = struct.unpack(">q", data)[0] result = ("long", cut_to_long(result)) jassert_long(result) frame.stack.append(result)