作者mpyh12345 (嘉義金城武)
看板Grad-ProbAsk
標題[理工] 計組-lw sw 記憶體位址問體
時間Wed Aug 4 23:27:55 2021
先上題目,圖源是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
推 kkk99923: (1)對的,(2)先說sh to 100:store half-word也就是存兩個 08/04 23:51
→ kkk99923: bytes到addr.100的位址 由於採用Big-endian(最大位元組 08/04 23:51
→ kkk99923: 放在最低記憶體位址)所以會是[15:8]先放在100,[7:0]放 08/04 23:51
→ kkk99923: 在101;反之lh form 100就是從100的位址讀取兩個bytes放 08/04 23:51
→ kkk99923: 到register,再用有號數(1/0)擴充至32bit. 08/04 23:51
→ mpyh12345: 沒考慮到順序問題 感謝 08/05 22:13
推 hankchang805: 補充一下這個也會因為endian不同而有不同的結果唷 08/06 21:13