CI3815 - Asignación 1
CI3815 - Asignación 1
CI3815 - Asignación 1
Departamento de Computación y
Tecnología de la Información
CI381 Organización del Computador
Asignación 1
Ambiente MARS
Objetivo
El objetivo de esta asignación es que el estudiante se familiarice con la programación MARS y con el lenguaje ensamblador
MIPS.
Esta asignación consiste en entender las facilidades que ofrece el ambiente MARS y el lenguaje ensamblador MIPS. Para ello
dispone de una versión en línea del manual de MARS.
Se puede descargar la versión 4.5 del ambiente MARS para Windows. En esa misma página encontrará documentación de
MARS.
.data
.half 1
.byte 0
carnet: .asciiz “9315370” # Sustituir por el carnet (sin guion) de alguno de los
# integrantes del grupo
.word 1, 2
.word 0 0
.text
main:
li $t0 4
la $t1, carnet
la $t2, ing
lb $s0, 0($t1)
lb $s1 1($t1)
xor $s0, $s0 $s1
xor $s1, $s0 $s1
xor $s0, $s0 $s1
sb $s0, 0($t2)
sb $s1, 1(st2)
add $t0 -1
add $t1 2
add $t2, 2
bp: b loop
end:
li $v0 10
syscall
1. ¿Cuántas instrucciones escritas por el programador tiene este programa? Cuente a partir de la instrucción li $t0 4.
2. ¿Cuántas instrucciones son generadas al cargar este programa en MARS? Cuente a partir de la instrucción li $t0 4.
3. ¿Cuántos bytes ocupa el programa en memoria a partir de la instrucción li $t0 4? Considerar sólo el área de texto.
4. ¿Qué actividad realiza el programa? Indique cómo llegó a esa conclusión.
5. ¿En qué dirección de memoria se cargó el primer y último dígito de su carnet?
6. Cargue nuevamente su programa y coloque un breakpoint en la dirección donde se encuentra la etiqueta bp. Ejecute
y dé una tabla indicando cómo varían los registros a lo largo de la ejecución del programa. Debe incluir todos los
registros cuyos valores sufran alguna variación en algún momento de la ejecución del programa.
Iteración 1 2 3 4 . . N
Reg1
…
RegM
Los registros deben ser identificados con sus nombres y su número de la siguiente forma: $at(r1), $v0(r2), etc.