working changes
This commit is contained in:
@@ -13,13 +13,17 @@ namespace spider {
|
||||
fetchOperDst();
|
||||
switch(_size){
|
||||
case 0b00: //byte
|
||||
_dst->_u8 |= (1 << _src->_u8);
|
||||
_dst->_u8 |= (u64(1) << _src->_u8);
|
||||
break;
|
||||
case 0b01: //short
|
||||
_dst->_u16 |= (1 << _src->_u16);
|
||||
_dst->_u16 |= (u64(1) << _src->_u16);
|
||||
break;
|
||||
case 0b10: //int
|
||||
_dst->_u32 |= (1 << _src->_u32);
|
||||
_dst->_u32 |= (u64(1) << _src->_u32);
|
||||
break;
|
||||
case 0b11: //long
|
||||
_dst->_u64 |= (1 << _src->_u64);
|
||||
_dst->_u64 |= (u64(1) << _src->_u64);
|
||||
break;
|
||||
}
|
||||
(this->*_post)();
|
||||
}
|
||||
@@ -30,13 +34,17 @@ namespace spider {
|
||||
fetchOperDst();
|
||||
switch(_size){
|
||||
case 0b00: //byte
|
||||
_dst->_u8 &= ~(1 << _src->_u8);
|
||||
_dst->_u8 &= ~u8(u64(1) << _src->_u8);
|
||||
break;
|
||||
case 0b01: //short
|
||||
_dst->_u16 &= ~(1 << _src->_u16);
|
||||
_dst->_u16 &= ~u16(u64(1) << _src->_u16);
|
||||
break;
|
||||
case 0b10: //int
|
||||
_dst->_u32 &= ~(1 << _src->_u32);
|
||||
_dst->_u32 &= ~u32(u64(1) << _src->_u32);
|
||||
break;
|
||||
case 0b11: //long
|
||||
_dst->_u64 &= ~(1 << _src->_u64);
|
||||
_dst->_u64 &= ~(u64(1) << _src->_u64);
|
||||
break;
|
||||
}
|
||||
(this->*_post)();
|
||||
}
|
||||
@@ -49,34 +57,34 @@ namespace spider {
|
||||
case 0b00: //byte
|
||||
switch (((RF >> _src->_u8) & 1) != ((_dst->_u8 >> _src->_u8) & 1)){
|
||||
case 1:
|
||||
RF |= (1 << _src->_u8);
|
||||
RF |= (u64(1) << _src->_u8);
|
||||
|
||||
case 0:
|
||||
RF &= ~(1 << _src->_u8);
|
||||
RF &= ~(u64(1) << _src->_u8);
|
||||
}
|
||||
case 0b01: //short
|
||||
switch (((RF >> _src->_u16) & 1) != ((_dst->_u16 >> _src->_u16) & 1)){
|
||||
case 1:
|
||||
RF |= (1 << _src->_u16);
|
||||
RF |= (u64(1) << _src->_u16);
|
||||
|
||||
case 0:
|
||||
RF &= ~(1 << _src->_u16);
|
||||
RF &= ~(u64(1) << _src->_u16);
|
||||
}
|
||||
case 0b10: //int
|
||||
switch (((RF >> _src->_u32) & 1) != ((_dst->_u32 >> _src->_u32) & 1)){
|
||||
case 1:
|
||||
RF |= (1 << _src->_u32);
|
||||
RF |= (u64(1) << _src->_u32);
|
||||
|
||||
case 0:
|
||||
RF &= ~(1 << _src->_u32);
|
||||
RF &= ~(u64(1) << _src->_u32);
|
||||
}
|
||||
case 0b11: //long
|
||||
switch (((RF >> _src->_u64) & 1) != ((_dst->_u64 >> _src->_u64) & 1)){
|
||||
case 1:
|
||||
RF |= (1 << _src->_u64);
|
||||
RF |= (u64(1) << _src->_u64);
|
||||
|
||||
case 0:
|
||||
RF &= ~(1 << _src->_u64);
|
||||
RF &= ~(u64(1) << _src->_u64);
|
||||
}
|
||||
}
|
||||
(this->*_post)();
|
||||
@@ -88,12 +96,16 @@ namespace spider {
|
||||
switch(_size){
|
||||
case 0b00: //byte
|
||||
_dst->_u8 = _dst != 0;
|
||||
break;
|
||||
case 0b01: //short
|
||||
_dst->_u16 = _dst != 0;
|
||||
break;
|
||||
case 0b10: //int
|
||||
_dst->_u32 = _dst != 0;
|
||||
break;
|
||||
case 0b11: //long
|
||||
_dst->_u64 = _dst != 0;
|
||||
break;
|
||||
}
|
||||
(this->*_post)();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user