I'm fighting with C++ language to obtain a mini processor that have four functions: LS(load/store from memory), IC (internal Cash), DE (decode), EX (execute). After I wrote EX function, see below, I`ve found this function must be a parameterized function(?)
EX function looking like this:
void CPU::EX() {
while (DE_EX.size() != 0) {
switch (src1) {
case R0:
ptrLog->PrintSrc1("R0");
break;
case R1:
ptrLog->PrintSrc1("R1");
break;
case R2:
ptrLog->PrintSrc1("R2");
break;
case R3:
ptrLog->PrintSrc1("R3");
break;
case IMM:
ip = IP + 2;
ptrLog->PrintSrc1("IMM");
break;
case ADDR:
ip = IP + 2;
ptrLog->PrintSrc1("ADDR");
break;
case ADDR_R:
ip = IP + 2;
ptrLog->PrintSrc1("ADDR_R");
break;
default:
ptrLog->PrintSrc1("Not valid");
break;
}
....
}