DIRECT ADDRESSING | |||||||
Clock Cycle | 0 = AND | 1 = TAD | 2 = ISZ | 3 = DCA | 4 = JMS | 5 = JMP | 7 = Microinstructions |
1 | IR =
Mem[PC] AR = (00000 or PC[11-7]) . Mem[PC][6-0] PC = PC + 1 |
IR = Mem[PC] PC = PC + 1 |
|||||
2 | AC = Mem[AR] ^ AC | AC/L = Mem[AR] + AC | if Mem[AR] + 1 == 0: PC = PC + 1 Mem[AR] = Mem[AR] + 1 |
Mem[AR] = AC AC = 0 |
Mem[AR] = PC PC = AR + 1 |
PC = AR | AC/L = F(AC/L, IR, SR) if SKIP(AC/L, IR): PC = PC + 1 |
INDIRECT ADDRESSING | |||||||
0 = AND | 1 = TAD | 2 = ISZ | 3 = DCA | 4 = JMS | 5 = JMP | ||
1 | IR =
Mem[PC] AR = (00000 or PC[11-7]) . Mem[PC][6-0] PC = PC + 1 |
||||||
2 | AR = Mem[AR] | ||||||
3 | AC = Mem[AR] ^ AC | AC/L = Mem[AR] + AC | if Mem[AR] + 1 == 0: PC = PC + 1 Mem[AR] = Mem[AR] + 1 |
Mem[AR] = AC AC = 0 |
Mem[AR] = PC PC = AR + 1 |
PC = AR | |
ALUOp | 0 0 | L . 000 000 000 000 | |||||
0 1 | A + B | ||||||
1 0 | L . A ^ B | ||||||
1 1 | Don't care |