GuiaSimula1
Páginas: 3 (568 palabras)
Publicado: 4 de septiembre de 2014
1. Explica lo que hace el código:
# programa primero.s
# segmento de texto
.text
.globl main
main:
# cargar los operandos
la $t0,numA
la $t1,numB
lw $t2,0($t0)lw $t3,0($t1)
# operar
add $a0,$t2,$t3
# almacenar el resultado
sw $a0,0($t0)
# finalizar
addi $v0,$0,10
syscall
# segmento de datos
.data
numA: .word 3
numB: .word 6
Empezamos mostrandoel estado inicial de los registros (Generales y de punto flotante):
Ahora después de las ejecuciones tenemos los siguientes resultados:
// Se carga la palabranumA en el registro $t0, ya que solo se pueden enviar de 4 bits se parte como se envía de dos formas.
[0x00400000] 0x3c081001 lui $t0, 0x1001 // Envío número 1
[0x00400004]0x35080000 ori $t0, $t0, 0x0000 //Envío número 2
// Se carga la palabra numB en el registro $t1, ya que solo se pueden enviar de 4 bits se parte como se envía de dos formas.[0x00400008] 0x3c091001 lui $t1, 0x1001 //Envío número 1
[0x0040000c] 0x35290004 ori $t1, $t1, 0x0004 //Envío número 2
// Se carga la palabra numA (guardada en el registro $t0) en elregistro $t2
[0x00400010] 0x8d0a0000 lw $t2, 0($t0)
// Se carga la palabra numB (guardada en el registro $t1) en el registro $t1
[0x00400014] 0x8d2b0000 lw $t3, 0($t1)
// Seadicionan los registros $t2 y $t3 y el resultado se guarda en el registro $a0
[0x00400018] 0x014b2020 add $a0, $t2, $t3
//Se guarda la palabra
[0x0040001c] 0xad040000 sw $a0,0($t0)
// Adiciona el valor de signo extendido 10 al registro $zero
[0x00400020] 0x2002000a addi $v0, $0, 10
//Acaba las intrucciones a ejecutar
[0x00400024] 0x0000000csyscall
2. Utilizando la siguiente tabla indica en la segunda columna el valor de los registros implicados en la instrucción en curso despues de que esta se haya ejecutado. En la tercera columna...
Leer documento completo
Regístrate para leer el documento completo.