看板 Grad-ProbAsk 關於我們 聯絡資訊
想請問一下, 暫存器 $t0 = 1010 1101 0001 0000 0000 0000 0000 0010 若是要使下列指令中的$t2 = 1 slti $t2, $t0, X X的範圍如何計算? --- 這是白算盤第四版的exercise 2.16.2的題目 答案為 0x7FFF ~ 0x8000 請問是怎麼算出這個範圍的? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.25.103 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1493025754.A.254.html
mloop: 答案怪怪的吧 題目是64bit給的答案只有32 04/24 18:33
mloop: 呃是32跟16 04/24 18:33
mloop: 題目是slti 然後結果要求是1 所以X範圍要是比t0大的數字 04/24 18:38
mloop: 然後她有i 所以是要當成無號數去算 04/24 18:39
mloop: 所以答案應該是t0+1到0 FFFFFFFF 04/24 18:40
shownlin: i應該是指I type而不是unsigned? 04/24 19:03
momoko0581: i是immediate 16bit constant 如果是無號是stiu 04/24 20:12
momoko0581: X應該要是十進制常數 但解轉成十六進制 04/24 20:15
mloop: 抱歉 上面是對的 04/24 21:07
shownlin: 不過感覺這題不該是範圍而是精確值啊 04/24 21:35
momoko0581: 要比t0大但不超過數的表示範圍 但解答怪怪的(?) 04/24 22:01
shownlin: 搞錯了,看成sub 04/24 22:46