Programación en ensamblador del procesador mips r2000

Páginas: 6 (1475 palabras) Publicado: 12 de enero de 2011
EJERCICOS SOBRE PROGRAMACIÓN EN ENSAMBLADOR DEL PROCESADOR MIPS R2000

EJERCICIO 1.-

¿Cómo almacenaría los siguientes datos en memoria?

La cadena de caracteres: “El resultado de la suma es: “

El numero en coma flotante simple precisión: 5.46e-2

El byte: 255 (0xff)

La media palabra: 0x74af

El carácter `a':

a) cadena: .asciiz “El resultado de la suma es”

b) .float 5.46e-2c) .byte 255

d) .half 0x74af

e).ascii “a”

EJERCICIO 2.-

Escribir el código en ensamblador que realiza las siguientes acciones:

Imprime el siguiente mensaje: “La media es: 55.63”

Lee tu nombre por teclado: “Introduzca su nombre: “

Crear un procedimiento que imprime una cadena y un entero que se pase como parámetro

Crear un procedimiento que realice la suma de dos númerosen coma flotante y devuelva el resultado en $v0

a)

.data

num: .ascii “La media es: 55.63”

.text

main:

li $2, 4

la $4, num

syscall

li $v0, 10

syscall

b)

.data

cadena2: .asciiz “Introduzca su nombre:”

.text

main:

la $a0, cadena2

li $v0,4

syscall

li $v0, 8

syscall

la $a0, PEPE

li $v0, 8

syscall

c) .data

cad: .asciiz "Escribeun numero:"

.text

.globl __start

__start: li $2, 4

la $4, cad

syscall

li $2, 5

syscall

move $v1, $2

li $2, 10

syscall

d)

.data

var_a: .float 0.01

var_b: .float 0.001

.text

main:

jal suma

mov.s $f12, $v0

li $v0,2

syscall

li $v0,10

syscall

suma:

l.s, $f4, var_a

l.s, $f2, var_b

add.s $f12,$f2,$f4

jr $31

EJERCICIO3.-

¿Cuál es la etiqueta que marca el comienzo de nuestro programa en caso de que load trap file? ¿y si load trap file no esta seleccionado?

Cuando se carga el manejador de instrucciones, la etiqueta que marca el comienzo del programa debe de ser main en lugar de _start, que se empleará cuando load trap file no está seleccionado.

EJERCICIO 4.-

Si la directiva .data se utiliza sin ningúnargumento. ¿Dónde almacenará los datos que lleven asociados otra directiva que acompañe? ¿A partir de que dirección?

Si la directiva .data se utiliza sin ningún argumento, los datos que lleven asociados otras directivas que le acompañen se almacenarán en el argumento de datos, a partir de la dirección 0x10000000H.

EJERCICIO 5.-

Para un programa de usuario, es seguro en algún momento usarlos registros$k0 y $k1.

No es seguro usar los registros $k0 y $k1, porque están reservados para el uso del núcleo operativo y pueden borrar lo que se encuentra almacenado.

EJERCICIO 6.-

Indíquese la instrucción MIPS o la mínima secuencia de instrucciones para implementar la sentencia x := y * 100. Supóngase que x se encuentra en el registro $11 e y en el $12.

mult $11, $12, 100EJERCICIO 7.-

Indíquese la instrucción MIPS o la mínima secuencia de instrucción que realiza la sentencia a[23]:= a[24] + x; supóngase que a es un vector de 100 elementos que comienza en la dirección de memoria 0x1000A000 y la variable x se encuentra en el registro $15.

load

lw $t0, 0x1000A18

add $ti, $t0, $15

sw $ti, 0x1000A17

EJERCICIO 8.-

El siguiente trata de copia palabrasdesde la dirección de memoria que indica el registro $4 en la dirección que indica el registro $5; el registro $2 lleva la cuenta de las palabras copiadas. El programa se detiene cuando se encuentra una palabra igual a cero. No se han de guardar los contenidos de los registros $3, $4 y $5. La palabra de terminación( que estará a cero) debe ser leída pero no copiada

bucle: lw, $3, 0($4) #leesiguiente palabra fuente

addi $2, $2, 1 # incrementa número de palabra copiadas

sw $3, 0($5) # copia la palabra

addi $4, $4, 1 # avanza puntero a siguiente palabra fuente

addi $5, $5, 1 # avanza puntero a siguiente palabra destino

bne $3, $0, bucle # va a bucle si palabra copiada no es cero

El programa anterior hay multitud de fallos (bugs). Determínese estos fallos y cámbiese...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programacion En Ensamblador
  • procesos de ensamble
  • Proceso De Ensamble
  • Procesos De Ensamble
  • procesos de ensamble
  • Procesos de ensamble
  • Proceso de ensamble
  • Procesos De Ensamble

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS