[理工] 計組-load store 記憶體與暫存器位址

看板Grad-ProbAsk作者 (嘉義金城武)時間4年前 (2021/08/04 23:27), 編輯推噓2(205)
留言7則, 3人參與, 4年前最新討論串1/1
先上題目,圖源是mage的筆記(應該是) https://imgur.com/FRxPh40
感覺應該是蠻基本的問題但是讀到有點昏頭想上來求救一下 想請問: (1) 上半部那邊,lb from 100,意思是把address 100那個byte的內容抓出來讀進右邊暫存器, 所以暫存器那邊,最右邊就是low byte,所以後面三個byte就補sign。 然後sb to 100,意思就是把暫存器裡面的low byte存回去記憶體address 100的地方 這部分的理解不知道對不對。 (2) 然後是下半部的部分,這裡開始有點亂掉... 如果今天指令是lh from 100/sh to 100,那記憶體跟暫存器的關係是怎麼對應的? 還請版上大神幫我解惑 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.143.12.85 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1628090877.A.980.html

08/04 23:51, 4年前 , 1F
(1)對的,(2)先說sh to 100:store half-word也就是存兩個
08/04 23:51, 1F

08/04 23:51, 4年前 , 2F
bytes到addr.100的位址 由於採用Big-endian(最大位元組
08/04 23:51, 2F

08/04 23:51, 4年前 , 3F
放在最低記憶體位址)所以會是[15:8]先放在100,[7:0]放
08/04 23:51, 3F

08/04 23:51, 4年前 , 4F
在101;反之lh form 100就是從100的位址讀取兩個bytes放
08/04 23:51, 4F

08/04 23:51, 4年前 , 5F
到register,再用有號數(1/0)擴充至32bit.
08/04 23:51, 5F

08/05 22:13, 4年前 , 6F
沒考慮到順序問題 感謝
08/05 22:13, 6F

08/06 21:13, 4年前 , 7F
補充一下這個也會因為endian不同而有不同的結果唷
08/06 21:13, 7F
文章代碼(AID): #1X2h7zc0 (Grad-ProbAsk)