You are on page 1of 7

INSTITUTO UNIVERSITARIO DE TECNOLOGIA

ANTONIO JOSE DE SUCRE


EXTENSION BARQUISIMETO
DEPARTAMENTO DE INFORMATICA


























INTEGRANTES:

Villanueva Mara C.I.: V-20469295
Mendoza Gustavo C.I.:20718056
Ctedra: Sistema Operativo I

1. Mencione y defina como est conformada la arquitectura del
Procesador (Registros AX, BX, CX, DX, Registros de segmento: CS,
DS, ES, SS, Registros, ndice, banderas, entre otros). 3%
R):
El registro CS: Es una variable de un tamao de dos bytes. Contiene el
Segmento actual en que se encuentra el programa. IP, es la variable, de
dos bytes tambin, que contiene el Offset actual. Esto significa, el
ordenador va interpretando las secuencias de bytes, pero necesita "algo"
que le indique Donde tiene que leer. La combinacin CS: IP (tal y como
me refer antes en lo de segments & Offsets) contiene la direccin en la
que el ordenador est interpretando informacin *en el momento*. O sea,
indica la direccin de la prxima instruccin que se va a ejecutar.
El registro DS y el registro ES: Sirven tambin para guardar
direcciones de Segmentos, y tambin son variables de dos bytes, ser n
utilizada para por ejemplo mover datos en memoria, imprimir cadenas,
bueno, un etctera largusimo. Digamos que son "punteros", que
apuntan a cierta zona de memoria (siempre combinado con otro que
haga de Offset, claro).
El registr SS: apunta a la pila, y el SP es el que contiene el offset de la
pila.
AX: Se suele utilizar como propsito general, indica funcin a las
interrupciones, ENTRE OTRAS., y es el ms flexible, ya que ser el nico
que permita multiplicaciones y divisiones. Se denomina a veces
acumulador.
BX: Es aquel que nos servir mucho como "handler", para abrir/cerrar
archivos, entre otros, y como registro de propsito general al igual que
AX, CX y DX.
CX: Se suele usar como contador.
DX: Suele ser el puntero, sealando haciendo el papel de Offset lugares
en memoria (suele combinarse con DS en la forma DS:DX).
Registro : Es aquella donde usamos Segment y Offset, dnde se
guarda, que indica al ordenador esos sitios en memoria, que indica al
ordenador en que punto de la memoria est, Mas Que Todo sirven para
los registros, donde se trata de una serie de "variables", que contienen
informacin que puede ser cambiada.
Banderas: A las flags, "banderas", las agrupa un slo registro de 16 bits,
aunque este no est utilizado por completo, ya que cada flag ocupa un
slo bit, es decir; Se trata de varios bits, que como siempre pueden valer
uno o cero, y dependiendo de su valor indican varias cosas.




2. Realice un cuadro comparativo sobre las caractersticas de la
arquitectura CISC y RISC. 1%
R):







CISC
CARACTERISTICAS
Instruccin de longitud variable.
Longitud de la instruccin depende de
modos de direccionamiento usado en
los operandos.
Instrucciones que requieren mltiples
ciclos de reloj para ejecutar.
Antes de que una instruccin pueda
ser ejecutada los operandos deben ser
buscados desde diferentes
ubicaciones en memoria
Predominar las instrucciones con dos
operandos.
Los CISC soportan cero, uno o ms
operandos.
Variedad de direccionamiento de
operandos
Registro a registro, registro a memoria
y memoria a registro
Mltiples modos de direccionamiento
Algunos de los direccionamientos
soportados son el directo de memoria,
indirecto de memoria y el indexado a
travs de registro








RISC
Pequeo conjunto de instrucciones
Posee un nmero significativamente
de menor de instrucciones.
Instrucciones simples
Instrucciones de longitud fija
La mayora de las instrucciones son de
la misma longitud, lo que permite que
una instruccin se busque con una
operacin individual.
Predominan las instrucciones que se
ejecutan en un ciclo de maquina
La mayora de las instrucciones se
ejecutan en un solo ciclo, esto permite
la implementacin de la segmentacin
(Pipelining).
Procesamiento de segmento
Los procesadores RISC tiene la
capacidad de manejar varias
instrucciones al mismo tiempo, por
medio de la tcnica de segmentacin o
lneas de trabajo


3. Defina las instrucciones MOV, ADD, INC, CMP. 2%
R):
MOV: Tiene como propsito la transferencia de datos entre celdas de
memoria, registros y acumulador, su sintaxis es MOV Destino,Fuente
destino es el lugar a donde se movern los datos y fuente es el lugar en
donde se encuentran dichos datos.
ADD: Es la adicin de los operando, su sintaxis es ADD Destino,Fuente
es decir; la suma de dos operadores y guarda guarda el resultado en el
operando destino.
INC: Es donde se puede incrementar el operando, su sintaxis INC
Destino es decir; la instruccin suma 1 al operando destino y guarda el
resultado en el mismo operando destino.
CMP: Es donde se comparan los operando, su sintaxis CMP
Destino,Fuente es decir; donde la instruccin resta el operando fuente
al operando destino pero sin que este almacene el resultado de la
operacin, solo se afecta el estado de las banderas.
4. Qu son interrupciones. 1%
R): Es una instruccin que detiene la ejecucin de un programa para permitir el
uso de la UCP a un proceso prioritario, es decir; las interrupciones ocurren muy
seguidamente, por eso para lograr administrar todas las interrupciones; el
computador cuenta con un espacio de memoria, llamado memoria bajo, donde
all se almacenan todas las direcciones de diferentes localidad de memoria, all
se encuentran un juego de instrucciones que la UPC ejecutara para despus
regresar a la aplicacin en proceso.
5. Cul es el software necesario para crear un programa en lenguaje
ensamblador. 1%
R): Para crear un programa se requieren varias herramientas:
Primero un editor para crear el programa fuente.
Segundo un compilador que no es ms que un programa que "traduce"
el programa fuente a un programa objeto.
tercero un enlazador o linker, que genere el programa ejecutable a partir
del programa objeto.

Como compilador utilizaremos el MASM (macro ensamblador de Microsoft)
ya que es el ms comn, y como enlazador utilizaremos el programa link.

La extensin usada para que MASM reconozca los programas fuente en
Ensamblador es .ASM; una vez traducido el programa fuente, el MASM crea un
Archivo con la extensin .OBJ, este archivo contiene un "formato intermedio"
del programa, llamado as porque an no es ejecutable pero tampoco es ya un
Programa en lenguaje fuente.
El enlazador genera, a partir de un archivo .OBJ o la combinacin de varios
de estos archivos, un programa ejecutable, cuya extensin es usualmente .EXE
aunque tambin puede ser .COM, dependiendo de la forma en que se
ensambl.

6. Describa la estructura de un programa en lenguaje ensamblador
mediante un ejemplo prctico. 2%

R): Programa:

El primer paso es iniciar el Debug, este paso consiste nicamente en teclear
Debug [Enter] en el prompt del sistema operativo.

Para ensamblar un programa en el Debug se utiliza el comando "a"
(assemble); cuando se utiliza este comando se le puede dar como parmetro
la direccin donde se desea que se inicie el ensamblado, si se omite el
parmetro el ensamblado se iniciar en la localidad especificada por CS: IP,
usualmente 0100H, que es la localidad donde deben iniciar los programas con
extensin .COM, y ser la localidad que utilizaremos debido a que debug solo
puede crear este tipo especfico de programas.

Aunque en este momento no es necesario darle un parmetro al comando
"a" es recomendable hacerlo para evitar problemas una vez que se haga uso
de los registros CS: IP, por lo tanto tecleamos:

- a0100 [Enter]

Al hacer esto aparecer en la pantalla algo como: 0C1B:0100 y el cursor se
Posiciona a la derecha de estos nmeros, ntese que los primeros cuatro
dgitos (en sistema hexagesimal) pueden ser diferentes, pero los ltimos
cuatro deben ser 0100, ya que es la direccin que indicamos como inicio.
Ahora podemos introducir las instrucciones:

0C1B:0100 mov ax,0002; coloca el valor 0002 en el registro ax
0C1B:0103 mov bx,0004; coloca el valor 0004 en el registro bx
0C1B:0106 add ax,bx ;le adiciona al contenido de ax el contenido de bx
0C1B:0108 int 20 ; provoca la terminacin del programa.
0C1B:010A

No es necesario escribir los comentarios que van despus del ";". Una vez
Digitado el ltimo comando, int 20, se le da [Enter] sin escribir nada ms, para
Volver al prompt del debuger.

Para ejecutar el programa que escribimos se utiliza el comando "g", al
utilizarlo veremos que aparece un mensaje que dice: "Program terminated
normally". Naturalmente con un mensaje como ste no podemos estar
seguros que el programa haya hecho la suma, pero existe una forma sencilla
de verificarlo, utilizando el comando "r" del Debug podemos ver los contenidos
de todos los registros del procesador, simplemente teclee:

- r [Enter]

Aparecer en pantalla cada registro con su respectivo valor actual:

AX=0006BX=0004CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000
DS=0C1BES=0C1BSS=0C1BCS=0C1BIP=010A NV UP EI PL NZ NA PO NC
0C1B:010A 0F DB Of

Existe la posibilidad de que los registros contengan valores diferentes, pero
AX y BX deben ser los mismos, ya que son los que acabamos de modificar.
Otra forma de ver los valores, mientras se ejecuta el programa es utilizando
como parmetro para "g" la direccin donde queremos que termine la
ejecucin y muestre los valores de los registros, en este caso sera: g108, esta
instruccin ejecuta el programa, se detiene en la direccin 108 y muestra los
contenidos de los registros. Tambin se puede llevar un seguimiento de lo que
pasa en los registros utilizando el comando "t" (trace), la funcin de este
comando es ejecutar lnea por lnea lo que se ensambl mostrando cada vez
los contenidos de los registros. Para salir del Debug se utiliza el comando "q"
(quit).
Criterios a evaluar:
Participacin en el foro Cmo resuelvo los ejercicios
Trabajo en equipo (mximo 2 participantes o individual)
Presentacin del trabajo (portada, redaccin, ortografa)
Dominio de contenido (orden lgico de las ideas expuestas)
Puntuacin 10 puntos
Puntualidad en la entrega del trabajo a travs de la plataforma (Desde el 07-07-
2014 hasta el 27-07-2014)
Mucho xito!

You might also like