看板 Grad-ProbAsk 關於我們 聯絡資訊
https://i.imgur.com/rJ3QaWv.jpg 請問31題那個0x20 為什麼它不是八碼? 那個等同0x00000020的意思嗎? 記得J指令跳的時候是絕對位置 beq是相對位置對吧? 所以它是說它要跳到0x20嗎? 另外下面的機器碼[31-28]跟我差表的jump不太一樣? 我查是000/010 好像搞錯了什麼 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.215.58 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1563253247.A.FC3.html
jeff1ou: 指令因為bit已經對齊好 把後面的2個bit扣掉 你在還原要加 07/16 13:07
jeff1ou: 回去2個bit 07/16 13:07
jeff1ou: 31到28是block的編號 你在j系列指令跳躍的時後 都是在這 07/16 13:11
jeff1ou: 個block裡面移動 不會改變 所以在下指令時 把這4bit拿掉 07/16 13:12
jeff1ou: 這不是opcode歐 07/16 13:12
mistel: 你把地址跟暫存器裡面的值搞混了喔 0x20是跳過去的地址無 07/16 13:50
mistel: 誤 07/16 13:50
mistel: 前面四個bit是block,同一個block跳躍會一樣,去掉,再把 07/16 14:02
mistel: 後面兩個bit去掉,因為word address一次都是跳4所以後面 07/16 14:02
mistel: 兩個0可以去掉 07/16 14:02
mistel: 所以要得到跳過去的值就是反向做就好了 有錯請樓下指正 07/16 14:05
ekids1234: 乾我也懷疑了一下,0x20是16進制哦,別把他想成一般看 07/16 14:31
ekids1234: 的十進制 07/16 14:31