diff --git a/src/spider/runtime/instr/Instr_000-01F.cpp b/src/spider/runtime/instr/Instr_000-01F.cpp index bc1eb40..c6af0bb 100644 --- a/src/spider/runtime/instr/Instr_000-01F.cpp +++ b/src/spider/runtime/instr/Instr_000-01F.cpp @@ -111,16 +111,16 @@ namespace spider { fetchOperDst(); switch(_size){ case 0b00: //byte - _dst->_u32 = _dst->_u8 & 1; + _dst->_u16 = _dst->_u8 & 1; break; case 0b01: //short _dst->_u32 = _dst->_u16 & 1; break; case 0b10: //int - _dst->_u32 = _dst->_u32 & 1; + _dst->_u64 = _dst->_u32 & 1; break; case 0b11: //long - _dst->_u32 = _dst->_u64 & 1; + _dst->_u64 = _dst->_u64; break; } _dst->_u32 = _dst->_u8; @@ -199,11 +199,11 @@ namespace spider { fetchOperDst(); switch(_size){ case 0b00: //byte - _dst->_u8 = _src->_u8 * _dst->_u8; + _dst->_i8 = _src->_i8 * _dst->_i8; case 0b01: //short - _dst->_u16 = _src->_u16 * _dst->_u16; + _dst->_i16 = _src->_i16 * _dst->_i16; case 0b10: //int - _dst->_u32 = _src->_u32 * _dst->_u32; + _dst->_i32 = _src->_i32 * _dst->_i32; case 0b11: //long _dst->_i64 = _src->_i64 * _dst->_i64; }