[理工] 計組p28

看板Grad-ProbAsk作者 (yoooooz)時間4年前 (2019/10/19 15:13), 編輯推噓6(6027)
留言33則, 3人參與, 4年前最新討論串1/1
想請問一下b的欄位要怎麼看 以第一個為例,載入1個byte時00010010是+18 所以之後左邊要補零$t0 ->0x00000012 寫入1個byte時把最右邊的1byte(12)存入$t2,所以變成0xFFFFFF12 不知道哪個部分理解錯了 謝謝 https://i.imgur.com/shly5Dt.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.125.222.162 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1571469190.A.4EA.html

10/19 18:55, 4年前 , 1F
http://imgur.com/gallery/VMkooSk load byte時會從記
10/19 18:55, 1F

10/19 18:55, 4年前 , 2F
憶體位址低的載入$t0暫存器最右邊,所以store byte把$t
10/19 18:55, 2F

10/19 18:55, 4年前 , 3F
0暫存器存入記憶體時也要從記憶體低的位址開始存,你會
10/19 18:55, 3F

10/19 18:55, 4年前 , 4F
寫這樣是因為從高的記憶體位址開始存,把記憶體位址畫
10/19 18:55, 4F

10/19 18:55, 4年前 , 5F
出來就比較好懂了°
10/19 18:55, 5F

10/19 19:05, 4年前 , 6F
可以把它想成是little endian的存取方式
10/19 19:05, 6F

10/19 19:24, 4年前 , 7F
如果圖片看不清楚我可在傳一張清楚一點的
10/19 19:24, 7F

10/19 20:20, 4年前 , 8F
與其說sb從低位開始存,不如說 0x1000 0010本來就是指某
10/19 20:20, 8F

10/19 20:20, 4年前 , 9F
一個"byte"的位置了
10/19 20:20, 9F

10/19 20:20, 4年前 , 10F
如果今天指定0x1000 0011那就會存到他的下一個byte
10/19 20:20, 10F

10/19 20:20, 4年前 , 11F
另外 MSB從低位記憶體開始存本身就是big endian
10/19 20:20, 11F

10/19 20:20, 4年前 , 12F
不能想成little endian 加上MIPS也是big endian
10/19 20:20, 12F

10/19 21:19, 4年前 , 13F
http://imgur.com/gallery/JHxy61Smi大說的沒錯 我是想
10/19 21:19, 13F

10/19 21:19, 4年前 , 14F
說用little endian會不會比較好記 都是從最右邊載入記
10/19 21:19, 14F

10/19 21:19, 4年前 , 15F
憶體
10/19 21:19, 15F

10/19 21:40, 4年前 , 16F
哦哦哦懂t大的意思了 是指sb把LSB (12)存到低位記憶體
10/19 21:40, 16F

10/19 21:40, 4年前 , 17F
的情況像是little endian的存法嗎
10/19 21:40, 17F

10/19 21:40, 4年前 , 18F
不過我傾向於認為sb是把多於1 byte的所有bit忽略就是了
10/19 21:40, 18F

10/19 21:40, 4年前 , 19F
怕會有混淆哈哈
10/19 21:40, 19F

10/19 22:21, 4年前 , 20F
存到$t0之後要store byte不是要從記憶體低的位址開始嗎
10/19 22:21, 20F

10/19 22:23, 4年前 , 21F
那$t0 -> 0x00000012 最低位置不是x之後的2個00嗎
10/19 22:23, 21F

10/19 22:25, 4年前 , 22F
高低位置判斷有點搞不清楚OAO
10/19 22:25, 22F

10/19 23:59, 4年前 , 23F
不是欸 是12,你把t0存的數值跟他該放到的地址搞混了
10/19 23:59, 23F

10/19 23:59, 4年前 , 24F
這裡t0裡的0x0000 0012是一個數值,他該存到0x0000 0000
10/19 23:59, 24F

10/19 23:59, 4年前 , 25F
這個地址
10/19 23:59, 25F

10/20 00:00, 4年前 , 26F

10/20 00:04, 4年前 , 27F
討論數值的順序時講的是MSB, LSB 討論記憶體位置時才會
10/20 00:04, 27F

10/20 00:04, 4年前 , 28F
講高低位
10/20 00:04, 28F

10/20 06:32, 4年前 , 29F
mi大的圖解超清楚\⊙▽⊙/~
10/20 06:32, 29F

10/20 15:22, 4年前 , 30F
所以從記憶體load時是從記憶體低位置載入,存到t0時是變
10/20 15:22, 30F

10/20 15:25, 4年前 , 31F
數值,那如果是lh的話,t0會長怎樣啊,是0x00001234囉?
10/20 15:25, 31F

10/20 16:11, 4年前 , 32F
沒錯
10/20 16:11, 32F

10/20 22:18, 4年前 , 33F
清楚了 感謝回答(,,・ω・,,)
10/20 22:18, 33F
文章代碼(AID): #1TghU6Jg (Grad-ProbAsk)