5.1 Ejemplos uml.pdf

Solo disponible en BuenasTareas
  • Páginas : 4 (752 palabras )
  • Descarga(s) : 0
  • Publicado : 8 de septiembre de 2012
Leer documento completo
Vista previa del texto
Ejercicios con el simulador de la Máquina Sencilla

1. Para cada uno de los casos siguientes, escribe un programa en lenguaje ensamblador de la máquina sencilla que realice la operación indicada,introduce el programa en la máquina sencilla y verifica que funciona correctamente.

Caso 1
Escribir un programa que intercambie los contenidos de dos posiciones de memoria (por ejemplo, queintercambie el contenido de la 101 con el de la 102).

Caso 2
Escribir un programa que realice la siguiente operación:

If ( a = = b)
c= a+1;
else
c= b+1;

Supones que en la posición 101 hayun 1, que a está en la 102, que b está en la 103 y que el resultado c debe quedar en la 104.

Caso 3
Escribir un programa que realice la siguiente operación:

i = 0;
while ( i < a)
i = i +1;

La sentencia while hace que se ejecute la instrucción i=i+1 mientras se cumple la condición, es decir, mientras i sea menor que a.
Asumir que en la posición 101 hay un 0, que en la 102 hay un1, que a está en la 103 y que el resultado i debe quedar en la posición 104.


2. Supón los contenidos de memoria indicados abajo. Rellena la tabla indicando el contenido de los registros en losciclos indicados. Después introduce el programa en la màquina sencilla y verifica si tus estimaciones han sido correctas.

0: ADD 103, 105
1: MOV 105, 104
2: CMP 104, 102
3: BEQ 6
4: CMP 101,101
5: BEQ 0
6:
101: 32
102: 1500
103: 18
104: 9
105: 21
Ciclo ¿Qué valor contiene cada uno de estos elementos en el ciclo indicado?
PC IR A B
10
20
30
40
503. El factorial de un número, en la máquina sencilla

El factorial de un número a es el resultado de la siguiente operación:

Factorial de n = 1*2*3*…*(a-1)*a

Un algoritmo para calcular elfactorial de un número a es el siguiente:

Programa factorial
Variables a, contador, factorial: entero;
a = 10;
contador = 1;
factorial = 1;
While (contador < a)
{
contador = contador +1;...
tracking img