Re: [理工] [計組] MIPS

看板Grad-ProbAsk作者 (偽的基諾比利)時間12年前 (2012/08/10 02:00), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串7/8 (看更多)
※ 引述《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
文章代碼(AID): #1G8_gZNE (Grad-ProbAsk)
討論串 (同標題文章)
文章代碼(AID): #1G8_gZNE (Grad-ProbAsk)