作者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://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1628090877.A.980.html
1F:推 kkk99923: (1)对的,(2)先说sh to 100:store half-word也就是存两个 08/04 23:51
2F:→ kkk99923: bytes到addr.100的位址 由於采用Big-endian(最大位元组 08/04 23:51
3F:→ kkk99923: 放在最低记忆体位址)所以会是[15:8]先放在100,[7:0]放 08/04 23:51
4F:→ kkk99923: 在101;反之lh form 100就是从100的位址读取两个bytes放 08/04 23:51
5F:→ kkk99923: 到register,再用有号数(1/0)扩充至32bit. 08/04 23:51
6F:→ mpyh12345: 没考虑到顺序问题 感谢 08/05 22:13
7F:推 hankchang805: 补充一下这个也会因为endian不同而有不同的结果唷 08/06 21:13