我从类幻灯片中有以下 MIPS 代码(用于交换数组中的相邻元素):

muli $2, $5,4
add  $2, $4,$2
lw $15, 0($2)
lw $16, 4($2)
sw $16, 0($2)
sw $15, 4($2)
jr $31
这个确切的代码将通过谷歌出现,因此它必须是各种大学中使用的一种标准示例。
我明白这一切;在类里面,我认为“muli”是立即倍增的。 (编者注:乘以 2 的幂最好通过像 sll $2, $5, 2 这样的左移来完成,而不是乘法。没有编译器会发出这个,你只能手工编写这种方式来简化这个交换的数组索引功能。)
现在看来“muli”根本不是命令(至少我在我的任何引用文献中都没有看到它)。
我错过了什么?如果这是一个愚蠢的问题,我深表歉意,但它难倒了我。

最佳答案

顺便说一句,以防其他人来搜索同样的问题,经过长时间的搜索,我找到了一些东西。

这是前一版教科书的勘误表:



所以……这是书中的一个错字。谜团已揭开。耶!

关于assembly - "muli"是 MIPS 指令吗?它在哪里定义?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28668054/

10-13 00:41