Appearance
题目
某 16 位计算机按字节编址,通用寄存器 R0~R15 的编号为 0~15,存储器地址为 16 位,采用定长指令字,指令格式有 R 型、I 型、M 型三种,如下表所示
R 型:R[rt] ← R[rt] op1 R[rs] 或 R[rt] ← R[rt] op1 num
I 型:R[rt] ← R[rt] op2 imm8
M 型:R[0] ← M[R[15] + offset] 或 M[R[15] + offset] ← R[0]
其中:
- OP1 为 0001、0010 分别表示加、左移指令;
- OP2 为 0100 表示加立即数指令;
- OP3 为 1110、1111 分别表示取数、存数指令;
- R[r] 表示寄存器 r 中的内容;
- mm 表示移位位数;
- M[addr] 表示存储器地址 addr 中的内容。
请回答下列问题:
(1) 主存单元和通用寄存器的宽度各为多少位?(2 分)
(2) op1 和 op2 的编码是否可以相同?op2 和 op3 的编码是否可以相同?(2 分)
(3) 若 R(2)=ABCDH,R(9)=F00H1,则指令 0000 0010 1001 0001 执行后,R2 和 R9 中的内容分别是多少?(2 分)
(4) 若变量 x 、 y 均为 16 位带符号整数,在存储器中依次从低地址向高地址连续存放, x 的地址在 R15 中。实现 y=16x−5 的 4 条指令 11–14 如题 43 表所示,写出 ①~④ 处的内容。(4 分)
题 43 表:
| 地址 | 内容 |
|---|---|
| 11 | ① 0000 0000 0000 |
| 12 | 0000 ② 0010 |
| 13 | 0100 0000 ③ |
| 14 | 1111 ④ |
解析
解析编写中,欢迎在 [CodeBrick 反馈群] 补充。