Перемещение набора команд MIPS против add / addi 0 для хранения значений?
В настоящее время я прохожу курс обучения организации и языку программирования, который в основном использует набор инструкций MIPS для обучения языку ассемблера.
Я заметил, что во многих примерах, которые профессор разместил в Интернете, для добавления значений в регистр аргументов $ a0 для вызова служб печати используется add или addi, как показано ниже ...
# store the first integer in $a0 and print
add $a0, $zero, $t0
li $v0, 1
syscall
или же...
# store the first integer in $a0 and print
addi $a0, $t0, 0
li $v0, 1
syscall
Я также заметил несколько примеров в Интернете, где другие просто используют инструкцию перемещения, чтобы выполнить то же самое, как показано ниже ...
# store the first integer in $a0 and print
move $a0, $t0
li $v0, 1
syscall
В этом сценарии предпочтительнее использовать инструкцию add или addi, а не просто move? Если так, то почему? Есть ли разница в производительности или это просто вопрос вкуса?