ics4
T1
opcode 4 位
nzp 3 位
PCoffset 9 位
最大内存:x40FF
T2
立即数寻址,寄存器寻址,直接寻址,间接寻址,基址偏移寻址
operate instructions: ADD, NOT
data movement instructions: LEA, LDR
control instructions: JMP
ADD:寄存器寻址,立即数寻址
NOT:寄存器寻址
LEA:寄存器寻址,直接寻址
LDR:寄存器寻址,基址偏移寻址
JMP:基址偏移寻址
T3
1
为了获取当前指令。MAR 存储要访问的内存地址,将 PC 的值放入 MAR 可以从内存中提取该指令。
2
为了准备下一条指令的获取。通过将 PC 的值加一,计算机可以在下一次取指时能够访问内存中下一条指令。
T4
1
ADD R5, R4, x0;
2
AND R3, R3, x0;
3
NOT R1, R7;
ADD R1, R1, x1;
ADD R1, R1, R6;
4
LD R1, DATA;
ADD R1, R1, R1;
ST R1, DATA;
5
ADD R1, R1, x0;
T5
LD:读 1 次,写 0 次,无不需要的阶段。
LDI:读 2 次,写 0 次,无不需要的阶段。
LEA:读 0 次,写 0 次,不需要 fetch operands。
T6
- 是,立即数的最大值可以扩大
- 是,可以直接寻址的范围扩大
- 否,0000 指令的各位和寄存器个数无关
T7
AND R0, R0, x0;
NOT R2, R2;
ADD R1, R1, R2;
ADD R1, R1, x1;
BRz END;
ADD R1, R1, x0;
BRp GE;
ADD R0, R0, x-1;
JSR END;
GE
ADD R0, R0, x1;
JSR END;
END
T8
1
x70A3
2
1110 1101 0110 1110
T9
0100 1000 0000 1111
T10
Y 是 p 的条件码,标志上一次的计算结果为负。
对于分支指令 0000,X 应该为 1。