Compare commits
2 Commits
67ed4a7fc4
...
c8bfdf44b6
| Author | SHA1 | Date | |
|---|---|---|---|
| c8bfdf44b6 | |||
| eba69f767e |
@@ -129,26 +129,102 @@ namespace spider {
|
|||||||
|
|
||||||
void CPU::INC() {
|
void CPU::INC() {
|
||||||
// TODO: Implement INC
|
// TODO: Implement INC
|
||||||
|
fetchOperDst();
|
||||||
|
switch(_size){
|
||||||
|
case 0b00: //byte
|
||||||
|
_dst->_u8 += 1;
|
||||||
|
case 0b01: //short
|
||||||
|
_dst->_u16 += 1;
|
||||||
|
case 0b10: //int
|
||||||
|
_dst->_u32 += 1;
|
||||||
|
case 0b11: //long
|
||||||
|
_dst->_u64 += 1;
|
||||||
|
}
|
||||||
|
(this->*_post)();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPU::DEC() {
|
void CPU::DEC() {
|
||||||
// TODO: Implement DEC
|
// TODO: Implement DEC
|
||||||
|
fetchOperDst();
|
||||||
|
switch(_size){
|
||||||
|
case 0b00: //byte
|
||||||
|
_dst->_u8 -= 1;
|
||||||
|
case 0b01: //short
|
||||||
|
_dst->_u16 -= 1;
|
||||||
|
case 0b10: //int
|
||||||
|
_dst->_u32 -= 1;
|
||||||
|
case 0b11: //long
|
||||||
|
_dst->_u64 -= 1;
|
||||||
|
}
|
||||||
|
(this->*_post)();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPU::ADD() {
|
void CPU::ADD() {
|
||||||
// TODO: Implement ADD
|
// TODO: Implement ADD
|
||||||
|
fetchOperSrc();
|
||||||
|
fetchOperDst();
|
||||||
|
switch(_size){
|
||||||
|
case 0b00: //byte
|
||||||
|
_dst->_u8 += _src->_u8;
|
||||||
|
case 0b01: //short
|
||||||
|
_dst->_u16 += _src->_u16;
|
||||||
|
case 0b10: //int
|
||||||
|
_dst->_u32 += _src->_u32;
|
||||||
|
case 0b11: //long
|
||||||
|
_dst->_u64 += _src->_u64;
|
||||||
|
}
|
||||||
|
(this->*_post)();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPU::SUB() {
|
void CPU::SUB() {
|
||||||
// TODO: Implement SUB
|
// TODO: Implement SUB
|
||||||
|
fetchOperSrc();
|
||||||
|
fetchOperDst();
|
||||||
|
switch(_size){
|
||||||
|
case 0b00: //byte
|
||||||
|
_dst->_u8 -= _src->_u8;
|
||||||
|
case 0b01: //short
|
||||||
|
_dst->_u16 -= _src->_u16;
|
||||||
|
case 0b10: //int
|
||||||
|
_dst->_u32 -= _src->_u32;
|
||||||
|
case 0b11: //long
|
||||||
|
_dst->_u64 -= _src->_u64;
|
||||||
|
}
|
||||||
|
(this->*_post)();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPU::MUL() {
|
void CPU::MUL() {
|
||||||
// TODO: Implement MUL
|
// TODO: Implement MUL
|
||||||
|
fetchOperSrc();
|
||||||
|
fetchOperDst();
|
||||||
|
switch(_size){
|
||||||
|
case 0b00: //byte
|
||||||
|
_dst->_u8 = _src->_u8 * _dst->_u8;
|
||||||
|
case 0b01: //short
|
||||||
|
_dst->_u16 = _src->_u16 * _dst->_u16;
|
||||||
|
case 0b10: //int
|
||||||
|
_dst->_u32 = _src->_u32 * _dst->_u32;
|
||||||
|
case 0b11: //long
|
||||||
|
_dst->_i64 = _src->_i64 * _dst->_i64;
|
||||||
|
}
|
||||||
|
(this->*_post)();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPU::UMUL() {
|
void CPU::UMUL() {
|
||||||
// TODO: Implement UMUL
|
// TODO: Implement UMUL
|
||||||
|
fetchOperSrc();
|
||||||
|
fetchOperDst();
|
||||||
|
switch(_size){
|
||||||
|
case 0b00: //byte
|
||||||
|
_dst->_u8 = _src->_u8 * _dst->_u8;
|
||||||
|
case 0b01: //short
|
||||||
|
_dst->_u16 = _src->_u16 * _dst->_u16;
|
||||||
|
case 0b10: //int
|
||||||
|
_dst->_u32 = _src->_u32 * _dst->_u32;
|
||||||
|
case 0b11: //long
|
||||||
|
_dst->_u64 = _src->_u64 * _dst->_u64;
|
||||||
|
}
|
||||||
|
(this->*_post)();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPU::DIV() {
|
void CPU::DIV() {
|
||||||
|
|||||||
Reference in New Issue
Block a user