MIPS conjunto de instrucciones move vs add / addi 0 para almacenar valores?

Actualmente estoy tomando un curso de Lenguaje de ensamblaje y organización de computadoras que utiliza principalmente el conjunto de instrucciones MIPS para enseñar lenguaje de ensamblaje.

Me di cuenta de que muchos de los ejemplos que el profesor ha publicado en línea usan add o addi para mover un valor al registro de argumentos $ a0 para llamar a servicios de impresión como los siguientes ...

# store the first integer in $a0 and print
add $a0, $zero, $t0
li $v0, 1
syscall

o..

# store the first integer in $a0 and print
addi $a0, $t0, 0
li $v0, 1
syscall

También noté algunos ejemplos en línea donde otros simplemente usan la instrucción de movimiento para lograr lo mismo que lo siguiente ...

# store the first integer in $a0 and print
move $a0, $t0
li $v0, 1
syscall

¿Está usando la instrucción add o addi preferida en lugar de simplemente mover en este escenario? Si es así, ¿por qué? ¿Hay una diferencia de rendimiento o es solo una cuestión de gustos?

Respuestas a la pregunta(2)

Su respuesta a la pregunta