Перемещение набора инструкций MIPS против добавления / добавления 0 для хранения значений?

В настоящее время я изучаю курс «Организация компьютеров и язык ассемблера», который в основном использует набор инструкций MIPS для обучения языку ассемблера.

Я заметил, что во многих примерах, опубликованных профессором в Интернете, используется add или addi для перемещения значения в регистр аргументов $ a0 для вызова служб печати, например следующих ...

# 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 предпочтительнее, чем просто использование перемещения в этом сценарии? Если да, то почему? Есть разница в производительности или это дело вкуса?

8
задан Anthony Jack 2 February 2012 в 16:36
поделиться