→ tayashot: 憶體位址低的載入$t0暫存器最右邊,所以store byte把$t 10/19 18:55
→ tayashot: 0暫存器存入記憶體時也要從記憶體低的位址開始存,你會 10/19 18:55
→ tayashot: 寫這樣是因為從高的記憶體位址開始存,把記憶體位址畫 10/19 18:55
→ tayashot: 出來就比較好懂了° 10/19 18:55
→ tayashot: 可以把它想成是little endian的存取方式 10/19 19:05
→ tayashot: 如果圖片看不清楚我可在傳一張清楚一點的 10/19 19:24
推 mi981027: 與其說sb從低位開始存,不如說 0x1000 0010本來就是指某 10/19 20:20
→ mi981027: 一個"byte"的位置了 10/19 20:20
→ mi981027: 如果今天指定0x1000 0011那就會存到他的下一個byte 10/19 20:20
→ mi981027: 另外 MSB從低位記憶體開始存本身就是big endian 10/19 20:20
→ mi981027: 不能想成little endian 加上MIPS也是big endian 10/19 20:20
→ tayashot: 說用little endian會不會比較好記 都是從最右邊載入記 10/19 21:19
→ tayashot: 憶體 10/19 21:19
推 mi981027: 哦哦哦懂t大的意思了 是指sb把LSB (12)存到低位記憶體 10/19 21:40
→ mi981027: 的情況像是little endian的存法嗎 10/19 21:40
→ mi981027: 不過我傾向於認為sb是把多於1 byte的所有bit忽略就是了 10/19 21:40
→ mi981027: 怕會有混淆哈哈 10/19 21:40
→ yoz4ni: 存到$t0之後要store byte不是要從記憶體低的位址開始嗎 10/19 22:21
→ yoz4ni: 那$t0 -> 0x00000012 最低位置不是x之後的2個00嗎 10/19 22:23
→ yoz4ni: 高低位置判斷有點搞不清楚OAO 10/19 22:25
推 mi981027: 不是欸 是12,你把t0存的數值跟他該放到的地址搞混了 10/19 23:59
→ mi981027: 這裡t0裡的0x0000 0012是一個數值,他該存到0x0000 0000 10/19 23:59
→ mi981027: 這個地址 10/19 23:59
→ mi981027: 討論數值的順序時講的是MSB, LSB 討論記憶體位置時才會 10/20 00:04
→ mi981027: 講高低位 10/20 00:04
推 tayashot: mi大的圖解超清楚\⊙▽⊙/~ 10/20 06:32
→ yoz4ni: 所以從記憶體load時是從記憶體低位置載入,存到t0時是變 10/20 15:22
→ yoz4ni: 數值,那如果是lh的話,t0會長怎樣啊,是0x00001234囉? 10/20 15:25
→ mi981027: 沒錯 10/20 16:11
→ yoz4ni: 清楚了 感謝回答(,,・ω・,,) 10/20 22:18