174 lines
3.1 KiB
C++
174 lines
3.1 KiB
C++
/**
|
|
* @brief AUTO-GENERATED by pygen.ipynb BUT editable by hand!
|
|
*
|
|
*/
|
|
|
|
#include <spider/runtime/cpu/CPU.hpp>
|
|
|
|
namespace spider {
|
|
|
|
void CPU::STB() {
|
|
// TODO: Implement STB
|
|
fetchOperSrc();
|
|
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::CRB() {
|
|
// TODO: Implement CRB
|
|
fetchOperSrc();
|
|
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::TSB() {
|
|
// TODO: Implement TSB
|
|
fetchOperSrc();
|
|
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::BOOL() {
|
|
// TODO: Implement BOOL
|
|
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::NOT() {
|
|
// TODO: Implement NOT
|
|
}
|
|
|
|
void CPU::AND() {
|
|
// TODO: Implement AND
|
|
}
|
|
|
|
void CPU::OR() {
|
|
// TODO: Implement OR
|
|
}
|
|
|
|
void CPU::XOR() {
|
|
// TODO: Implement XOR
|
|
}
|
|
|
|
void CPU::SHL() {
|
|
// TODO: Implement SHL
|
|
}
|
|
|
|
void CPU::SHR() {
|
|
// TODO: Implement SHR
|
|
}
|
|
|
|
void CPU::SSR() {
|
|
// TODO: Implement SSR
|
|
}
|
|
|
|
void CPU::ROL() {
|
|
// TODO: Implement ROL
|
|
}
|
|
|
|
void CPU::ROR() {
|
|
// TODO: Implement ROR
|
|
}
|
|
|
|
void CPU::CNT() {
|
|
// TODO: Implement CNT
|
|
}
|
|
|
|
void CPU::EQ() {
|
|
// TODO: Implement EQ
|
|
}
|
|
|
|
void CPU::NE() {
|
|
// TODO: Implement NE
|
|
}
|
|
|
|
void CPU::GT() {
|
|
// TODO: Implement GT
|
|
}
|
|
|
|
void CPU::GE() {
|
|
// TODO: Implement GE
|
|
}
|
|
|
|
void CPU::LT() {
|
|
// TODO: Implement LT
|
|
}
|
|
|
|
void CPU::LE() {
|
|
// TODO: Implement LE
|
|
}
|
|
|
|
void CPU::JMP() {
|
|
// TODO: Implement JMP
|
|
}
|
|
|
|
void CPU::JEQ() {
|
|
// TODO: Implement JEQ
|
|
}
|
|
|
|
void CPU::JNE() {
|
|
// TODO: Implement JNE
|
|
}
|
|
|
|
void CPU::JIF() {
|
|
// TODO: Implement JIF
|
|
}
|
|
|
|
void CPU::JMR() {
|
|
// TODO: Implement JMR
|
|
}
|
|
|
|
void CPU::JER() {
|
|
// TODO: Implement JER
|
|
}
|
|
|
|
void CPU::JNR() {
|
|
// TODO: Implement JNR
|
|
}
|
|
|
|
void CPU::JIR() {
|
|
// TODO: Implement JIR
|
|
}
|
|
|
|
}
|