This commit is contained in:
2026-03-30 12:16:22 -06:00
16 changed files with 344 additions and 79 deletions

View File

@@ -68,17 +68,20 @@ namespace spider {
}
void CPU::COM() {
// TODO: Implement COM
fetchOperDst();
switch(_size){
case 0b00: //byte
_dst->_u8 = ~_dst->_u8;
break;
case 0b01: //short
_dst->_u16 = ~_dst->_u16;
break;
case 0b10: //int
_dst->_u32 = ~_dst->_u32;
break;
case 0b11: //long
_dst->_u64 = ~_dst->_u64;
break;
}
(this->*_post)();
}
@@ -89,28 +92,36 @@ namespace spider {
switch(_size){
case 0b00: //byte
_dst->_u8 = 1 + ~_dst->_u8;
break;
case 0b01: //short
_dst->_u16 = 1+ ~_dst->_u16;
break;
case 0b10: //int
_dst->_u32 = 1 + ~_dst->_u32;
break;
case 0b11: //long
_dst->_u64 = 1 + ~_dst->_u64;
break;
}
(this->*_post)();
}
void CPU::EXS() {
void CPU::EXS() { // THIS IS INCORRECT!!!
// TODO: Implement EXS
fetchOperDst();
switch(_size){
case 0b00: //byte
_dst->_u32 = _dst->_u8 & 1;
break;
case 0b01: //short
_dst->_u32 = _dst->_u16 & 1;
break;
case 0b10: //int
_dst->_u32 = _dst->_u32 & 1;
break;
case 0b11: //long
_dst->_u32 = _dst->_u64 & 1;
break;
}
_dst->_u32 = _dst->_u8;
(this->*_post)();