[問題] 一個MIPS指令的問題

看板ASM (組合語言)作者 (Aesthetic)時間14年前 (2011/04/05 13:51), 編輯推噓3(303)
留言6則, 2人參與, 最新討論串1/1
有個陣列的起始位址是 十進位的 4000000 換成二進位是 0000 0000 0011 1101 0000 1001 0000 0000 指令說要把這個載入 用了下列兩個指令 lui t1 0000 0000 0011 1101 ori t1 t1 0000 1001 0000 0000 我看不懂第二個為什麼是用ori欸 上來問一下 看有沒有高手解答一下 謝謝囉 感恩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.141.170.12

04/05 14:20, , 1F
lui 載入 Address的上半部, 從31bit 到 16 bit。
04/05 14:20, 1F

04/05 14:20, , 2F
ori 載入 Address的下半部, 從15 bit 到 0 bit。
04/05 14:20, 2F

04/05 14:23, , 3F
如此一來,暫存器t1 才擁有完整的 32-bit address.
04/05 14:23, 3F

04/05 14:23, , 4F
可以參考白算盤(Computer Org. and Design )的課本。
04/05 14:23, 4F

04/05 14:25, , 5F
我的是英文版 3ed, 在p.96 有類似的課本例子。
04/05 14:25, 5F

04/11 16:34, , 6F
作ori這個動作等同於 load lower immediate
04/11 16:34, 6F
文章代碼(AID): #1Dcgt5N7 (ASM)
文章代碼(AID): #1Dcgt5N7 (ASM)