ejercicios de programación en lenguaje ensamblador del mips

2
Ejercicios de programacion en lenguaje ensamblador del MIPS 1. Escriba un programa que calcule la suma de los primeros 100 números enteros. El resultado se debe guardar en $v0. 2. Modifique el programa del ejercicio 1 para que muestre el resultado en pantalla. 3. Escriba un programa que solicite al usuario un número e indique si el número es positivo o negativo. 4. Escriba un programa que lea dos enteros A y B. El programa debe indicar si uno de estos números es múltiplo del otro. 5. Escriba un programa que solicite al usuario un número y muestre en pantalla los siguiente: 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 … N 6. Escriba una secuencia de instrucciones del MIPS que implemente la siguiente instrucción en lenguaje C. (a y b son enteros de 32 bits): a = b + c + 100; 7. Escriba un programa que lea dos números. El programa debe imprimir cual número es el más grande. 8. Se desea calcular de forma Independiente, la suma de los números pares e impares de los números comprendidos del 1 al 200. 9. Escriba un programa que lea un número. El programa debe indicar si el número es par o impar. 10. Escriba una función con tres parámetros. En el registro $a0 se recibe la dirección de inicio de una cadena, en el registro $a1 se recibe el código ASCII de un carácter, y en el registro $a2 recibe el código ASCII de otro carácter. La función debe sustituir en la cadena cualquier ocurrencia del carácter almacenado en $a1 por el carácter almacenado en el registro $a2. 11. Escriba un programa que inicialice un vector de palabras en la memoria con el valor del índice, suponga que el índice del vector empieza en cero. Una vez ejecutada la función, el primer elemento del vector debe valer 0, el segundo 1, el tercero 2 y así sucesivamente. 12. Escriba una función que sume los componentes de dos vectores A y B y ponga el resultado en el vector B. Es decir, se debe ejecutar la siguiente expresión vectorial A = A + B. 13. Escriba la función squeeze(s1, s2), que eliminar de la cadena s1 todos los caracteres que se encuentran en s2. Por ejemplo, si s1 contiene “Hola que tal” y s2 contiene “hxt”, luego de ejecutar la función la cadena s1 debe contener “Hola que al”. 14. Escriba un programa que muestre en pantalla los primeros 30 números de Fibonacci. 15. Escriba un programa que cuente la cantidad de vocales que tiene una cadena de caracteres. El programa debe contener una función que recibe como parámetro la dirección de inicio de la cadena y la función debe retornar la cantidad de vocales. Si no hay vocales en la cadena debe retornar -1.

Upload: jonathan-bernal

Post on 25-Dec-2015

83 views

Category:

Documents


6 download

DESCRIPTION

Ejercicios para realizar en lenguaje ensamblador

TRANSCRIPT

Page 1: Ejercicios de Programación en Lenguaje Ensamblador Del MIPS

Ejercicios de programacio n en lenguaje ensamblador del MIPS

1. Escriba un programa que calcule la suma de los primeros 100 números enteros. El resultado se debe

guardar en $v0.

2. Modifique el programa del ejercicio 1 para que muestre el resultado en pantalla.

3. Escriba un programa que solicite al usuario un número e indique si el número es positivo o negativo.

4. Escriba un programa que lea dos enteros A y B. El programa debe indicar si uno de estos números es

múltiplo del otro.

5. Escriba un programa que solicite al usuario un número y muestre en pantalla los siguiente:

1

1 2

1 2 3

1 2 3 4

1 2 3 4 5 … N

6. Escriba una secuencia de instrucciones del MIPS que implemente la siguiente instrucción en

lenguaje C. (a y b son enteros de 32 bits): a = b + c + 100;

7. Escriba un programa que lea dos números. El programa debe imprimir cual número es el más

grande.

8. Se desea calcular de forma Independiente, la suma de los números pares e impares de los números

comprendidos del 1 al 200.

9. Escriba un programa que lea un número. El programa debe indicar si el número es par o impar.

10. Escriba una función con tres parámetros. En el registro $a0 se recibe la dirección de inicio de una

cadena, en el registro $a1 se recibe el código ASCII de un carácter, y en el registro $a2 recibe el

código ASCII de otro carácter. La función debe sustituir en la cadena cualquier ocurrencia del

carácter almacenado en $a1 por el carácter almacenado en el registro $a2.

11. Escriba un programa que inicialice un vector de palabras en la memoria con el valor del índice,

suponga que el índice del vector empieza en cero. Una vez ejecutada la función, el primer elemento

del vector debe valer 0, el segundo 1, el tercero 2 y así sucesivamente.

12. Escriba una función que sume los componentes de dos vectores A y B y ponga el resultado en el

vector B. Es decir, se debe ejecutar la siguiente expresión vectorial A = A + B.

13. Escriba la función squeeze(s1, s2), que eliminar de la cadena s1 todos los caracteres que se

encuentran en s2. Por ejemplo, si s1 contiene “Hola que tal” y s2 contiene “hxt”, luego de ejecutar

la función la cadena s1 debe contener “Hola que al”.

14. Escriba un programa que muestre en pantalla los primeros 30 números de Fibonacci.

15. Escriba un programa que cuente la cantidad de vocales que tiene una cadena de caracteres. El

programa debe contener una función que recibe como parámetro la dirección de inicio de la cadena

y la función debe retornar la cantidad de vocales. Si no hay vocales en la cadena debe retornar -1.

Page 2: Ejercicios de Programación en Lenguaje Ensamblador Del MIPS

16. Escriba un programa que tenga una función que calcule la suma de los elementos de un vector de

enteros.

17. Escriba un programa que sume los valores que se encuentran en la diagonal principal de una matriz

de enteros.

18. Escriba la función strrindex(s,t), que retorna la posición de la ocurrencia más a la derecha de la

cadena t en la cadena s.

19. Escriba la función itoa(v,d,b) que convierte el entero v en la representación de caracteres en base b

en la cadena ASCII s. Por ejemplo, itoa(15,s,16) produce como resultado en la cadena s = “F”.

20. Escriba la función strend(s,t), que retorna 1 si la cadena t aparece al final de la cadena s. Si no

retorna 0.

21. Escribir un programa que compare dos archivos e imprima la primera línea en que son diferentes.

22. Calcule si un número entero ingresado por teclado es primo o no.

23. Escriba un programa que calcule el determinante de una matriz.

24. Escriba un programa de interfaz de usuario para todos los ejercicios anteriores.

El programa debe:

- mostrar un saludo de bienvenida al programa.

- solicitar al usuario del programa sus datos para un registro personalizado.

- pedir al usuario los parámetros para el programa (por ejemplo en el ejercicio 4 debe solicitar al

usuario cada número a ingresar).

- Utilizar un control de error de los datos ingresados, por ejemplo: si se solicita a un usuario un

número entero positivo, el programa debe mostrar un mensaje de error si el usuario ingresa un

número negativo o una letra o un símbolo, etc.

- una vez terminada la ejecución del programa, preguntar al usuario si quiere volver a empezar o

finalizar el programa.

Recuerde que las interfaces deben ser lo más amigables posible, de tal manera que un usuario

cualquiera pueda utilizar el programa sin mucho conocimiento del proceso.