首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MIPS lw指令到底做了什么?

MIPS lw指令到底做了什么?
EN

Stack Overflow用户
提问于 2021-02-22 23:30:45
回答 3查看 184关注 0票数 0

帮助!我是汇编语言新手,我正在尝试了解此命令的作用

代码语言:javascript
运行
复制
lw %t5, 100($t8)

另外,我知道左边是目的地,右边是源

代码语言:javascript
运行
复制
lw Reg.Dest, Offset(Reg.Source)

我相信它会把数据从一个地方写到另一个地方,但我不明白细节。

有没有人能给我解释一下命令或者给我指个方向?

EN

Stack Overflow用户

发布于 2021-02-23 00:12:03

lw是一条I型指令:

代码语言:javascript
运行
复制
  +--------+----+----+-----------+
I | opcode | rs | rt | immediate |   (instruction fields)
  +--------+----+----+-----------+
       6     5     5      16         (bit length)

它在RTL (register transfer level/logic)中有以下规范:

代码语言:javascript
运行
复制
R[rt] = M[R[rs]+SignExtImm]

哪里

代码语言:javascript
运行
复制
SignExtImm = { 16{immediate[15]}, immediate }

程序集语法为lw rt, immediate(rs),其中rtrsimmediate分别是寄存器名称和小整数常量。

有关所有说明,请参阅MIPS green sheet

注意,lw操作码通常也支持许多伪指令形式,这些伪指令形式扩展为多个实际的MIPS指令。要了解这些指令的作用,我们可以检查扩展的单个指令。其中一种形式对于加载全局变量特别有用:lw rt, globalDataLabel. 在这种形式中,没有提供基址寄存器(rs)。它扩展为两条指令,完成将全局字加载到目标寄存器中。

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66318645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档