neg伪指令是如何只用一个子指令实现的?我不明白,因为neg是R[rd] = -R[rs1]。但如果我有sub,它是R[rs1] - something。
neg
R[rd] = -R[rs1]
sub
R[rs1] - something
yrwegjxp1#
这里的“某物”是zero寄存器,但你不是从寄存器中减去它,而是从 *that * 中减去寄存器。The:
zero
neg rd, rs
字符串伪指令的目的是将rs的非值放入rd中。
rs
rd
sub rd, zero, rs
型指令从zero中减去rs,将结果放入rd中。
rd := -rs ; example: -(42) -> -42 rd := 0 - rs ; 0 - 42 -> -42
型由于-x与0 - x相同,因此它们是等价的。如果你想要一个更全面的伪指令列表以及它们Map到什么,这里有一个图像,其中详细介绍了一些,包括你问的特定一个:
-x
0 - x
的数据
1条答案
按热度按时间yrwegjxp1#
这里的“某物”是
zero
寄存器,但你不是从寄存器中减去它,而是从 *that * 中减去寄存器。The:
字符串
伪指令的目的是将
rs
的非值放入rd
中。型
指令从
zero
中减去rs
,将结果放入rd
中。型
由于
-x
与0 - x
相同,因此它们是等价的。如果你想要一个更全面的伪指令列表以及它们Map到什么,这里有一个图像,其中详细介绍了一些,包括你问的特定一个:
的数据