changes to pygen

This commit is contained in:
2026-03-25 10:56:26 -06:00
parent c6fdb59791
commit c6c63d6391
4 changed files with 58 additions and 36 deletions

View File

@@ -22,7 +22,7 @@ namespace spider {
RE{}, RN{}, RV{}, RM{},
ALU0{}, ALU1{},
_dst(nullptr), _src(nullptr),
_instr(0), _addrm(0), _size(0),
_opcode(0), _addrm(0), _size(0),
_store(0), _post(&CPU::imp),
_ram(nullptr), _reel(nullptr) {
}
@@ -67,7 +67,7 @@ namespace spider {
void CPU::fetchInstr() {
u16 i = _reel->readU16(RI);
_instr = (i >> 7) & 0x1FF;
_opcode = (i >> 7) & 0x1FF;
_addrm = (i >> 2) & 0x1F;
_size = i & 0x3;
RI += 2;
@@ -79,7 +79,7 @@ namespace spider {
_opers[1] = _opers[0];
// call specific addressing mode
(this->*(CPU::addrModes[_addrm & 0x7]))();
(this->*(CPU::addrModes[_addrm]))();
}
void CPU::fetchOperSrc() {
@@ -87,13 +87,17 @@ namespace spider {
_alu = &ALU1;
// call specific addressing mode
(this->*(CPU::addrModes[_addrm & 0x7]))();
(this->*(CPU::addrModes[_addrm]))();
// modify the _addrm register
_addrm >>= 3;
_addrm++;
}
void CPU::execute() {
(this->*(CPU::addrModes[_opcode]))();
}
// Addressing Modes //
/**