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