Está en la página 1de 3

Realiza en MARIE los siguientes programas:

1) El usuario debe introducir dos número enteros positivos, X e Y, y se debe calcular la resta X-Y,
mostrando el resultado por pantalla.

2) Pedir un valor X y escribir un contador hasta llegar a 1, es decir, imprimir X, X-1, … 2, 1.

3) Pedir un valor X y escribir un contador hasta llegar a 0, es decir, imprimir X, X-1, … 2, 1, 0.

4) El usuario debe introducir dos números enteros positivos, denominados X e Y. Se deberá realizar
la multiplicación X por Y, almacenar el resultado en una variable llamada Z y mostrar el resultado
por pantalla.

5) Sabiendo que la instrucción ‘clear’ se codifica como ‘A’ y que su función es poner el valor del
AC a 0, y teniendo el siguiente programa:

y el siguiente programa,

Address Label Instruction


100 Start, Load A
101 Add B
102 Store C
103 Clear
104 Output
105 Add C
106 Store B
107 Halt
108 A, Hex 0003
109 B, Dec 5
10A C, Hex 000b

a) Escribir el código en lenguaje máquina (expresado en hexadecimal)


b) ¿Cuál es el valor final del registro AC?
c) ¿Qué valores tendrán A, B y C al finalizar el programa?

6) En cierto lenguaje de alto nivel una línea de código contiene la instrucción Y = X. Teniendo en
cuenta que las variables X e Y están almacenadas en memoria, escribe la secuencia de operaciones
que se producen en los registros en forma de Register Transfer Notation (RTN).
7) Tomando como base el siguiente fragmento de código ensamblador MARIE. Completa con las
instrucciones apropiadas las 5 líneas para que el programa haga su cometido. El programa permite
al usuario introducir valores enteros.

Por cada valor introducido el programa devuelve el resultado de la suma de todos los valores
introducidos hasta el momento.

El usuario introduce valores mientras que no introduzca un 0. Si el usuario introduce un número


negativo, se utilizará para la suma el valor absoluto.
8) La instrucción de Marie: Jump salir
a. realiza un salto incondicional a la dirección 800H.
b. realiza un salto de la siguiente instrucción si en AC hay un valor = 0
c. realiza un salto incondicional a la instrucción que está etiquetada con salir
d. realiza un salto incondicional a la instrucción halt

9) En MARIE, ¿cuál es el registro que almacena el resultado de ejecutar una operación aritmética
como add X? Siendo X una posición de memoria que almacena un valor entero.
a. AC
b. MBR
c. MAR
d. IR

10) Los lenguajes de programación (C++, Java, Visual Basic,...) son tipos de lenguaje
a. máquina
b. ensamblador
c. alto nivel
d. de aplicación específica

También podría gustarte