0% encontró este documento útil (0 votos)
19 vistas3 páginas

Sesion 1 - 6

El documento presenta un problema de programación en lenguaje ensamblador para una computadora sencilla. Se describen instrucciones como cargar, copiar y almacenar registros, sumar, multiplicar, y realizar operaciones de entrada y salida. Se piden programas para sumar tres números de entrada, intercambiar datos en memoria y calcular una expresión almacenando valores en posiciones de memoria.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas3 páginas

Sesion 1 - 6

El documento presenta un problema de programación en lenguaje ensamblador para una computadora sencilla. Se describen instrucciones como cargar, copiar y almacenar registros, sumar, multiplicar, y realizar operaciones de entrada y salida. Se piden programas para sumar tres números de entrada, intercambiar datos en memoria y calcular una expresión almacenando valores en posiciones de memoria.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Ejercicio 1.2.

7 Considerar la siguiente arquitectura de una


computadora sencilla:

Memoria central

Dispositivo Dispositivo
de entrada Registro A
de salida

Registro C Registro B

ALU

Suponer que el lenguaje de bajo nivel (ensamblador) para


esta máquina consta de las siguientes instrucciones:
Instrucción Significado
CP A, B Copia el contenido del registro A en el B.
CP B, A Copia el contenido del registro B en el A.
CP A, C Copia el contenido del registro A en el C.
CP C, A Copia el contenido del registro C en el A.
ADD Suma los contenidos de A y B, dejando el
resultado en A.
SUB Resta al valor que hay en B el valor que
hay en A (B-A), dejando el resultado en
A.
MULT Multiplica los contenidos de A y B,
dejando el resultado en A.
LOAD dirección Carga (copia) en el registro A el
contenido de la posición de memoria
referenciada por su dirección.
STORE dirección Almacena (copia) el contenido del
registro A en la posición de memoria
referenciada por su dirección.
INP Lee del teclado un valor y lo almacena en
A.
OUT Muestra en pantalla el valor almacenado
en A.

1
Un programa para sumar dos números en este lenguaje
tendría las siguientes instrucciones:
INP
CP A, B
INP
ADD
OUT
Escribir los correspondientes programas en este lenguaje
que permitan efectuar las siguientes operaciones:
• X = entrada1 + entrada2 + entrada3
• Intercambiar los contenidos de las posiciones de
memoria central cuyas direcciones son: 01101100 y
00101010.
• Mostrar en pantalla el resultado de la siguiente
operación: x2-x*y+y2, donde los datos asociados a las
variables x e y están almacenados en las posiciones de
memoria central cuyas direcciones son: 01101100 y
00101010, respectivamente.

Soluciones:

• X = entrada1 + entrada2 + entrada3

Instrucción Contenidos de los


registros
A B
INP x1
CP A,B x1 x1
INP x2 x1
ADD x1 + x2 x1
CP A,B x1 + x2 x1 + x2
INP x3 x1 + x2
ADD x3 + x1 + x2 x1 + x2
OUT x3 + x1 + x2 x1 + x2

2
• Intercambiar los contenidos de las posiciones de
memoria central cuyas direcciones son: 01101100 y
00101010

Instrucción Contenidos de los registros


A B
LOAD 01101100 x
CP A,B x x
LOAD 00101010 y x
STORE 01101100 y x
CP B,A x x
STORE 00101010 x x

• Mostrar en pantalla el resultado de la siguiente


operación: x2-x*y+y2, donde los datos asociados a las
variables x e y están almacenados en las posiciones de
memoria central cuyas direcciones son: 01101100 y
00101010, respectivamente

Instrucción Contenidos de los registros


A B C
LOAD 01101100 x
CP A,B x x
MULT x2 x
CP A,C x2 x x2
LOAD 00101010 y x x2
MULT x*y x x2
CP A,B x*y x*y x2
CP C,A x2 x*y x2
SUB x*y- x2 x*y x2
CP A,C x*y- x2 x*y x*y- x2
LOAD 00101010 y x*y x*y- x2
CP A,B y y x*y- x2
MULT y2 y x*y- x2
CP A,B y2 y2 x*y- x2
CP C,A x*y- x2 y2 x*y- x2
SUB y2- x*y + x2 y2 x*y- x2
OUT y2- x*y + x2 y2 x*y- x2

También podría gustarte