# 2018q1 第 5 週測驗題 (下)
考慮某款 MIPS 實作,其 data path 如下:
![](https://i.imgur.com/Y80lxhP.png)
上圖紅色的 `1`, `2`, `3` 對 MIPS 做了對應的修改,請考慮以下狀況,分別解釋對應的程式碼是否能運作。
---
### 測驗 `1`
* Q11: 做了 `1: Stuck at 0 left of cut` 的修改,`sw $s1, 0($s2)` 能否運作?
* Q12: 承上,下方程式能否運作?
```
lw $s1, 0($s2)
add $s1,$2,$3
```
==作答區==
Q11 = ?
* `(a)` 可
* `(b)` 不可
Q12 = ?
* `(a)` 可
* `(b)` 不可
--
### 測驗 `2`
* Q21: 做了 `2: Cut here` 的修改後,以下程式能否運作?
```
add $s1, $s1, $s1
add $s1, $t0, $t1
```
==作答區==
Q21 = ?
* `(a)` 可
* `(b)` 不可
---
### 測驗 `3`
* Q31: 做了 `3: Cut here` 的修改後,以下程式能否運作? (`exit` 為某個副程式)
```
cmp:
xor $t1, $s2, $s1
slt $t2, $zero, $t1
sll $t2, 2
add $ra, $ra, $t2
jr $ra
entry:
addi $s2, $zero, 2
addi $s1, $zero, 2
jal cmp
j exit
```
* Q32: 承上,以下程式能否運作?
```
addi $s2, $zero, 2
addi $s1, $zero, 2
beq $s2, $s1, exit
```
==作答區==
Q31 = ?
* `(a)` 可
* `(b)` 不可
Q32 = ?
* `(a)` 可
* `(b)` 不可
---
:::info
延伸問題:
* 解釋並且找出 MIPS 的設計
* 充分解釋在共筆中,並且記錄你的學習歷程
:::