【发布时间】:2021-02-27 00:17:10
【问题描述】:
假设我有一个包含 10 个元素的数组,并假设 $s1 寄存器已经加载了基地址。我将如何编写一个简单的操作来交换 A[4] 和 A[9]?
到目前为止,我已经提出了一些使用临时寄存器的方法,但我不确定它是否正确:
lw $t0, 4($s1)
sw 4($s1), 9($s1)
sw 9($s1), $t0
【问题讨论】:
-
是什么让你觉得它不正确?
-
这可以在没有临时寄存器的情况下使用异或操作来完成。
-
@ScottHunter 在 mips 架构中没有临时寄存器就无法完成
-
你可以使用异或交换,虽然你不应该经常这样做