Added COM, NEG instructions
This commit is contained in:
@@ -69,10 +69,34 @@ namespace spider {
|
||||
|
||||
void CPU::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() {
|
||||
// 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() {
|
||||
|
||||
Reference in New Issue
Block a user