more or less almost done with the instr reels.

This commit is contained in:
2026-03-25 06:59:00 -06:00
parent 4a659b5f0d
commit 1c971a4e22
11 changed files with 338 additions and 277 deletions

View File

@@ -19,7 +19,8 @@ namespace spider {
R6{}, R7{}, R8{}, R9{},
RF{}, RI{}, RS{}, RZ{},
RE{}, RN{}, RV{}, RM{},
ALU0{}, ALU1{},
ALU0{},
_dst(nullptr), _src(nullptr),
_ram(nullptr), _reel(nullptr) {
}
@@ -65,8 +66,6 @@ namespace spider {
* Immediate Addressing Mode
*/
void CPU::imm() {
u8 size = 2 << _size;
_next = &ALU0;
}
/**
@@ -80,7 +79,7 @@ namespace spider {
* Register Addressing Mode
*/
void CPU::reg() {
sizeof(CPU);
}
/**

View File

@@ -42,7 +42,16 @@ namespace spider {
* This way we don't "write" into constant values, rather
* we write into a writeable var which is "hidden"
*/
register_t ALU0, ALU1;
register_t ALU0;
union {
struct {
register_t* _dst;
register_t* _src;
};
register_t* _opers[2];
};
private:
@@ -67,10 +76,6 @@ namespace spider {
*/
InstrReel* _reel;
register_t* _next;
u8 _addrm : 6;
u8 _size : 2;
public:
CPU();