看板 Grad-ProbAsk 關於我們 聯絡資訊
※ 引述《mqazz1 (無法顯示)》之銘言: : assume that the register $t1 contains the address 0x1000 0000 : and the register $t2 contains the address 0x1000 0010 : lb $t0, 0($t1) lb $t0, 0($t1) : a. sw $t0, 0($t2) b. sb $t0, 0($t2) : assume that the data(in hexadecimal) at address 0x1000 0000 is : 1000 0000 12 34 56 78 : what value is stored at the address pointed to by register $t2? : assume that the memory location pointed to $t2 is initialized to 0xFFFF FFFF : 請問這要怎麼算呀= =? : 這是張凡重點直擊上 第24頁的題目 a. 目前記憶體 10000000 12 <-----------lb(load byte) 10000001 34 存放到暫存$t0 10000002 56 因為12的2近位表示法為 10000003 78 0001 0010 看第一個位數是1還是0(若1 則用1填滿32bit (若0 則用0填滿32bit 所以現在$t0的值為: 0000 0000 0000 0000 0000 0000 0001 0010 sw 存$t0的值到$t2所指到的位置 所以 $t2所指到的位置的值為 0000 0000 0000 0000 0000 0000 0001 0010 b. 目前記憶體 10000000 12 10000001 34 10000002 56 10000003 78 跟a小題一樣 (lb而言) 現在暫存$t0的值為 0000 0000 0000 0000 0000 0000 0001 0010 --------- 1byte sb(store byte)存一個byte回到memory | | 所以現在$t2所指到的記憶體位值的值為 | 假設$t2的值為N 則 | N 12 <--(覆蓋原本的FF)---------┘ N+1 FF N+2 FF N+3 FF -- ※ 編輯: compulsory 來自: 122.116.13.191 (03/01 18:34)
mqazz1:謝謝!! 可以再請問書上的2a 是0x00000080還是0xFFFFFF80 ? 03/01 22:19
後者 lb 至 $t0 80 = 1000 0000 第一個位數是1 用1擴充至32bit 1111 1111 1111 1111 1111 1111 1000 0000 ※ 編輯: compulsory 來自: 122.116.13.191 (03/01 22:59)
mqazz1:sor 可以再請問一下 1000 0000這個是指80的二進位嗎? 03/02 00:19
mqazz1:80的二進位不是0101 0000嗎@@? 這樣第一個位數不就0了@@? 03/02 00:20
compulsory:題目不是給80808080 (hex)? 03/02 02:11
compulsory:80(hex)=1000 0000(bi) 03/02 02:12
mqazz1:謝謝!! 03/02 19:05