Os dejo tres ejemplos básicos para empezar a conocer las instrucciones más usuales add, lw, sw, beq, j... En la próxima entrada serán un poco más difíciles ;)
Suma de dato1 y dato1 almacenada en la variable sum.
.data dato1: .word 2 dato2: .word 5 sum: .word 0 .text main: lw $8, dato1($0) # cargamos el primer dato en el registro $8 lw $9, dato2($0) # cargamos el segundo dato en el registro $9 add $10, $8, $9 # sumamos los dos registros y el resultado lo almacenamos en $10 sw $10, sum($0) # almacenamos el resultado ($10) en su variable (sum) fin: li $2, 10 # cargamos parametro necesario para terminar programa syscall # llamada al sistema que termina un programa
Escribir en la variable max el valor máximo contenido en las variables dato1 y dato2.
.data dato1: .word 2 dato2: .word 5 max: .word 0 .text main: lw $8, dato1($0) lw $9, dato2($0) slt $10, $8, $9 beq $10, $0, d1 sw $9, max($0) j fin d1: sw $8, max($0) fin: li $2, 10 syscall
Suma de los valores almacenados en un vector.
.data tam: .word 8 datos: .word 2, 4, 6, 8, -2 -4, -6 -7 res: .word 0 .text main: lw $8, tam($0) la $9, datos sub $11, $11, $11 loop: lw $10, 0($9) add $11, $11, $10 addi $9, $9, 4 addi $8, $8, -1 beq $8, $0, salir j loop salir: sw $11, res($0) li $2, 10 syscall
No hay comentarios:
Publicar un comentario