Added COM, NEG instructions

This commit is contained in:
2026-03-28 13:39:53 -06:00
parent aabcfc6f0c
commit b397371a53

View File

@@ -69,10 +69,34 @@ namespace spider {
void CPU::COM() { void CPU::COM() {
// TODO: Implement COM // TODO: Implement COM
fetchOperDst();
switch(_size){
case 0b00:
_dst->_u8 = ~_dst->_u8;
case 0b01:
_dst->_u16 = ~_dst->_u16;
case 0b10:
_dst->_u32 = ~_dst->_u32;
case 0b11:
_dst->_u64 = ~_dst->_u64;
}
(this->*_post)();
} }
void CPU::NEG() { void CPU::NEG() {
// TODO: Implement NEG // TODO: Implement NEG
fetchOperDst();
switch(_size){
case 0b00:
_dst->_u8 = 1 + ~_dst->_u8;
case 0b01:
_dst->_u16 = 1+ ~_dst->_u16;
case 0b10:
_dst->_u32 = 1 + ~_dst->_u32;
case 0b11:
_dst->_u64 = 1 + ~_dst->_u64;
}
(this->*_post)();
} }
void CPU::EXS() { void CPU::EXS() {