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

作者: mpyh12345 (嘉義金城武)   2021-08-04 23:27:55
先上題目,圖源是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,那記憶體跟暫存器的關係是怎麼對應的?
還請版上大神幫我解惑 感謝
作者: kkk99923 (sakamama)   2021-08-04 23:51:00
(1)對的,(2)先說sh to 100:store half-word也就是存兩個bytes到addr.100的位址 由於採用Big-endian(最大位元組放在最低記憶體位址)所以會是[15:8]先放在100,[7:0]放在101;反之lh form 100就是從100的位址讀取兩個bytes放到register,再用有號數(1/0)擴充至32bit.
作者: mpyh12345 (嘉義金城武)   2021-08-05 22:13:00
沒考慮到順序問題 感謝
作者: hankchang805 (ISO_SwaggyHank)   2021-08-06 21:13:00
補充一下這個也會因為endian不同而有不同的結果唷

Links booklink

Contact Us: admin [ a t ] ucptt.com