MIPS交换两个阵列元素 [英] MIPS swap two array elements
本文介绍了MIPS交换两个阵列元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
到目前为止,我已经想出了一些方法,包括使用TEMP寄存器,但我不确定它是否正确:
lw $t0, 4($s1)
sw 4($s1), 9($s1)
sw 9($s1), $t0
推荐答案
假设您尝试交换32位整数数组中的项,则数组中的每个项占用4个字节。
因此,您必须将每个索引乘以元素大小才能找到每个项目。
您的第二条指令无效,因为sw
它只接收一个内存地址(目标操作数)。
因此,最简单的方法是加载这两个项目,然后将它们与交换的数据一起保存:
lw $t0, 16($s1)
lw $t1, 36($s1)
sw $t0, 36($s1)
sw $t1, 16($s1)
这篇关于MIPS交换两个阵列元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文