Added COM, NEG instructions
This commit is contained in:
@@ -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() {
|
||||||
|
|||||||
Reference in New Issue
Block a user