risc-v neg指令是如何实现的?
How is risc-v neg instruction imeplemented?
neg
伪指令是如何只用一个sub实现的?
我不明白,因为 neg
是 R[rd] = -R[rs1]
。但是如果我有sub
,那就是R[rs1] - something
。
本例中的“某物”是 zero
寄存器。但你不是从寄存器中减去它,而是从 that.
中减去寄存器
那个:
neg rd, rs
pseudo-instruction的意思是把rs
的否定放到rd
中。
sub rd, zero, rs
指令从zero
中减去rs
,将结果放入rd
。
rd := -rs ; example: -(42) -> -42
rd := 0 - rs ; 0 - 42 -> -42
由于-x
与0 - x
相同,所以它们是等价的。
如果您想要更全面的伪指令列表以及它们映射到的内容,这里有一张图片,其中详细介绍了一些内容,包括您询问的具体指令:
neg
伪指令是如何只用一个sub实现的?
我不明白,因为 neg
是 R[rd] = -R[rs1]
。但是如果我有sub
,那就是R[rs1] - something
。
本例中的“某物”是 zero
寄存器。但你不是从寄存器中减去它,而是从 that.
那个:
neg rd, rs
pseudo-instruction的意思是把rs
的否定放到rd
中。
sub rd, zero, rs
指令从zero
中减去rs
,将结果放入rd
。
rd := -rs ; example: -(42) -> -42
rd := 0 - rs ; 0 - 42 -> -42
由于-x
与0 - x
相同,所以它们是等价的。
如果您想要更全面的伪指令列表以及它们映射到的内容,这里有一张图片,其中详细介绍了一些内容,包括您询问的具体指令: