Re: [理工] [計組]-MIPS語言
※ 引述《gn00618777 (123)》之銘言:
: ※ 引述《gn00618777 (123)》之銘言:
: : Pseudoinstruction what is accomplishes Solution
: : mov $t5,$t3 $t5=$t3 add $t5,$t3,$zero(值為0)
: : clear $t5 $t5=0 add $t5,$zero,$zero
: : li $t5,small $t5=small addi $t5,$zero,small
: :
li $t5,big $t5=big lui $t5,upper-hulf(big)
: ori $t5,lower-hulf(big)
: :
lw $t5,big($t3) $t5=Memory[$t3+big] li $at,big
: add $at,$at,$t5
: lw $t5,0($at)
: : addi $t5,$t3,big $t5=$t3+big li $at,big
: :
: : 92年成大資工
:
仔細去研究發現更多問題..
(1)如果不看題目,怎麼知道哪一個是虛擬碼和可以執行的碼,虛擬碼的指令
也會用在可以執行的上面,例如:li
(2)指令格式 op rs rt rd shamt funct,我查某學校的專題發表..
他說 rs是第一個來源運算元暫存器
rt是第二個來源運算元暫存器
rd是目的暫存器,用來儲存運算結果
例子: add $t0,$s1,$s2
照他上面這麼解釋$s2不就變成儲存結果的暫存器
阿不是$t0才是儲存的暫存器嗎?
(3) 我有查很多MIPS指令,就是沒看到過li
(4) 上面的程式碼 li $t5,big 需要分lui和ori來做,既然都有li $at,big
位啥不直接 li $at,big 然後 add,$t5,$zero,$at?
(5)都已經是固定的R-type指令的 op rs rt shamt funct
6 5 5 5 6 位元
為何可以執行add $t5,$t3,$at 指令,$at可以儲存更大的"big"
表示他不是5位元了?
先暫時問這樣好了= = 怕嚇到大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.168.60.118
→
09/22 01:27, , 1F
09/22 01:27, 1F
→
09/22 01:30, , 2F
09/22 01:30, 2F
→
09/22 01:31, , 3F
09/22 01:31, 3F
推
09/22 08:59, , 4F
09/22 08:59, 4F
→
09/22 09:10, , 5F
09/22 09:10, 5F
討論串 (同標題文章)