作者anoymouse (沒有暱稱)
看板Grad-ProbAsk
標題[理工] 計組 載入32位元常數的問題
時間Sat Dec 14 14:33:58 2013
請問暫存器正常載入一個常數的大小是多少?
16位元? 為什麼不是32位元
例題很奇怪 要把下方32二位元常數載入$s0
0000 0000 0011 1101 0000 1001 0000 0000
使用lui $s0 ,61 //61等於高位的16位元
所以暫存器 $s0現在存的是 0000 0000 0011 1101 0000 0000 0000 0000?
之後在ori $s0, $s0,2304 //2304等於低位的16位元
所以$s0現在等於0000 0000 0011 1101 0000 1001 0000 0000
也就是題目要的
不懂的點是 這樣根本就還是32位元 那跟直接addi $s0,$zero,32位元常數
差在哪??
一開始就說是太大裝不下 說是正常常數16位元就可以了 現在是32所以要用這兩個指令
使用這兩個指令的意義? 那載下去以後s0明明就可以擺32位元常數 為什麼一開始會說
裝不下呢? 求解 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.42.232.234
→ ken1325:因為addi只支援到16位元常數 12/14 16:09
→ ken1325:暫存器本來就是32bit,不是暫存器放不下,是addi的問題 12/14 16:11
→ ken1325:指令全長就32bit,op rs rt就佔了16bit你只剩下16bit可以用 12/14 16:14
→ anoymouse:感謝 我下面還有一篇問題 幫我看一下 12/14 16:15
→ anoymouse:忘了addi 只有16bit 12/14 16:16