gpt4 book ai didi

mips - 在 MIPS 中加载和存储字节

转载 作者:行者123 更新时间:2023-12-05 01:07:33 28 4
gpt4 key购买 nike

我正在为明天的考试而学习,并且我对加载/存储字节主题感到困惑。我有这个例子:



我完全不明白他是怎么得到红色答案的。有人可以帮我解释一下吗?

最佳答案

add    $s3, $zero, $zero

这将执行加法 $s3 = 0 + 0 ,有效设置寄存器 $s3到零值。
lb     $t0, 1($s3)

l 负载 b yte 从内存中的某个位置进入寄存器 $t0 .内存地址由 1($s3) 给出,表示地址 $s3+1 .这将是内存中的 0+1=1st 字节。由于我们有一个大端架构,我们从“大端优先”的 4 字节块中读取字节。
byte:  0   1   2   3
00 90 12 A0

第 0 个字节是 00 ,第一个字节是 90 .所以我们加载字节 90进入 $t0 .
sb     $t0, 6($s3)

s 撕了 b 来自寄存器 $t0进入由 6($s3) 给出的内存地址.这再次意味着地址 $s3+6 .
byte:  4   5   6   7
FF FF FF FF

变成
byte:  4   5   6   7
FF FF 90 FF

现在,如果架构是小端的呢?这意味着字节在内存中是“小端优先”排列的,因此第二条和第三条指令的效果会发生变化。
lb     $t0, 1($s3)

这会将内存地址 1 中的字节加载到寄存器 $t0 中。 .但是现在地址是“小端优先”,所以我们读到 12而是进入寄存器。
byte:  3   2   1   0
00 90 12 A0

下一个...
sb     $t0, 6($s3)

这将字节存储在寄存器 $t0 中, 即 12进入内存地址 6. 再次使用小端架构:
byte:  7   6   5   4
FF FF FF FF

变成
byte:  7   6   5   4
FF 12 FF FF

关于mips - 在 MIPS 中加载和存储字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28707615/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com