ejercicios de programación en lenguaje ensamblador del mips
DESCRIPTION
Ejercicios para realizar en lenguaje ensambladorTRANSCRIPT
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.
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.