working changes

This commit is contained in:
2026-06-07 14:41:17 -06:00
parent 51b644cf79
commit ccd6248973
5 changed files with 231 additions and 64 deletions
+28 -16
View File
@@ -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)();
}