Re: [理工] [計組] MIPS
※ 引述《hardware (硬體)》之銘言:
: http://ppt.cc/ld1x
: 表格解答 如何變出來的
: 沒步驟 跳太快看不出來
: 沒有辦法理解 有請高手版上解答 謝謝
我覺得題目可能是說 t1暫存器內容被存在記憶體位址0x1000 0000的地方
可能是陣列 所以起始位置在0x1000 0000
(1)由表格可知 0x1000 0000位址 資料值是12
0x1000 0001位址 資料值是34
.... 依此類推
a.題目說t2存的記憶體起始位址內容初始值是0xFFFF FFFF
用lb這個讀取記憶體t1位址+平移量是0
所以是讀取0x1000 0000這個位址最右邊的Byte(有號數的) 也就是12至t0
但是12在二進位是正的 所以左邊填0
因此讀出來的值是0x0000 0012 存進暫存器t0
之後sw這指令 就是把t0內容資料整個存進0(t2)的地方
所以0(t2)內容變成0x0000 0012
b.前面步驟一樣(前五句)
只是sb是把t0最右邊的值讀出來 也就是12 然後直接存入0(t2)這個地方
但是它寫入是最左邊Byte 是big-endian這種寫入方式
所以原本FFFF FFFF這個資料 最左邊Byte變成12 也就是0x12FF FFFF
至於(2) (3) 題步驟都差不多
注意(2)的80二進位是負數 所以lb的時候左邊填1111... 也就是FF...
大致上應該是這樣 有錯的話請告知~ 我再做更正
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.25.118.139
※ 編輯: wadeginobili 來自: 163.25.118.139 (08/10 02:10)
推
08/10 10:24, , 1F
08/10 10:24, 1F
討論串 (同標題文章)