PC = starting address; //Preliminary to Step 1 while (run_bit) { instr = memory[PC]; //Step 1 PC = PC + 1; //Step 2 instrType = getInstType(instr); //Step 3 dataLoc = findData(instr, instrType); //Step 4 (check) if (dataLoc >= 0) data = memory[dataLoc]; //Step 5 excute(instrType, data); //Step 6 } //Step 7, begin the loop again