jueves, 28 de febrero de 2019

Examen Unidad 1

* 1.2 Procesador y sus registros internos

Los registros del procesador se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética. Los registros son direccionables por medio de un nombre.

Los registros de propósito general AX, BX, CX y DX son únicos en el sentido de que se puede direccionarlos como una palabra o como una parte de un byte. El ultimo byte de la izquierda es la parte "alta", y el ultimo byte de la derecha es la parte "baja". Por ejemplo, el registro AX consta de una parte AH (alta) y una parte AL (baja), Lo mismo es aplicable a los otros tres (BX en BH y BL, CX en CH y CL y DX en DH y DL).

Registro AX. El registro AX, el acumulador principal, es utilizado para operaciones que implican entrada/salida y la mayor parte de la aritmética. Por ejemplo, las instrucciones para multiplicar , dividir y traducir suponen el uso del AX. También, algunas operaciones generan código mas eficiente si se refieren al AX en lugar de a los otros registros.

Registro BX. El BX es conocido como el registro base ya que es el único registro de propósito general que puede ser índice para direccionamiento indexado. También es común emplear el BX para cálculos.

Registro CX. El CX es conocido como el registro contador. Puede contener un valor para controlar el número de veces que un ciclo se repite o un valor para corrimiento de bits, hacia la derecha o hacia la izquierda. El CX también es usado para muchos cálculos.

Registro DX. El DX es conocido como l registro de datos. Alguna operaciones de entrada/salida requieren uso, y las operaciones de multiplicación y división con cifras grandes suponen al DX y al AX trabajando juntos.

* 1.3 Definición de la memoria RAM

La memoria de acceso aleatorio (RAM por sus siglas en inglés) es utilizada por la mayor parte del software para llevar a cabo sus funciones.

Todas las instrucciones que ejecuta una computadora necesitan ser previamente cargadas a esta memoria, para posteriormente ser ejecutadas por el procesador. La razón de esto es que la RAM es la tercera memoria más rápida a la que puede acceder el procesador, siendo los primeros los registros del procesador y las memorias cache, las cuales aunque más rápidas que la memoria RAM, cuentan con una capacidad de almacenamiento muy baja.

La memoria de acceso aleatorio es volátil. Eso significa que los datos se conservan en la RAM mientras la computadora está encendida, pero se pierden cuando la computadora es apagada.


1.4 El concepto de interrupciones definición y un poco de código

Una interrupción es una instrucción que detiene la ejecución de un programa para darle tiempo de procesador a otro proceso más importante. El utilizar una interrupción en ensamblador permite al procesador llevar a cabo funciones especiales predefinidas por ensamblador llamadas servicios, las cuales permiten entre otras cosas el desplegar información. Las interrupciones se separan en dos tipos, que son de DOS (dependientes del sistema operativo) y de BIOS (dependientes del hardware).
Cuando un periférico desea acceder a un recurso, envía un pedido de interrupción al procesador para llamar su atención, los periféricos cuentan con un número de interrupción que se denomina IRQ (Interrupt Request).

Para utilizar una interrupción en ensamblador se utiliza la instrucción int seguida del número de la interrupción, por ejemplo: int 10h.

1.5 Llamadas a servicios del sistema

Los servicios del sistema son funciones predefinidas, que pueden ser utilizadas en los programas. Por medio de las llamadas a estos servicios es posible que exista la comunicación entre un programa en ejecución y el sistema operativo, las llamadas a servicios se encuentran en manuales de ensamblador y dependen de la arquitectura en la que se esté programando.

Cuando una llamada al sistema es invocada, la ejecución del programa que invoca es interrumpida y sus datos son guardados, en el bloque de control de proceso o PCB (Process Control Block) para poder continuar ejecutándose posteriormente.

Las categorías de las llamadas a servicios son las siguientes:

Comunicaciones:
Esta categoría consta de las acciones relacionadas con mensajes, como es crear la conexión, enviar y recibir mensajes, transferir información de estado y eliminar la conexión.

Control de proceso:
Consta de crear, cargar, ejecutar, abortar y terminar un proceso, así como obtener y establecer atributos, liberar memoria o esperar un suceso.

Manipulación de archivos:
Esta categoría consiste de crear, abrir, leer, obtener atributos, establecer atributos, cerrar y eliminar archivos.

Manipulación de información:
Acciones que requieren obtener datos del sistema, como por ejemplo la fecha y hora pertenecen a esta categoría.

Manipulación de periféricos:
Cualquier acción que requiera utilizar un periférico, como solicitar, escribir, leer, obtener y establecer atributos y liberar periférico pertenece a esta categoría.

1.6 Modos de direccionamiento

Los llamados modos de direccionamiento son las diferentes maneras de especificar en informática un operando dentro de una instrucción en lenguaje ensamblador.

Un modo de direccionamiento especifica la forma de calcular la dirección de memoria efectiva de un operando mediante el uso de la información contenida en registros y / o constantes, contenida dentro de una instrucción de la máquina o en otra parte.

* 1.7 proceso de ensamblado ligado

El programa utiliza un editor de texto para crear un archivo de texto ASCII, conocido como archivo de código fuente.

El ensamblador lee el archivo de código fuente y produce un archivo de código objeto, una traducción del programa a lenguaje máquina. De manera opcional, produce un archivo de listado. Si ocurre un error, el programador debe regresar al paso 1 y corregir el programa.

El enlazador lee el archivo de código objeto y verifica si el programa contiene alguna llamada a los procedimientos en una biblioteca de enlace. El enlazador copia cualquier procedimiento requerido de la biblioteca de enlace, lo combina con el archivo de código objeto y produce el archivo ejecutable. De manera opcional, el enlazador puede producir un archivo de mapa.

La herramienta cargador (loader) del sistema operativo lee el archivo ejecutable y lo carga en memoria, y bifurca la CPU hacia la dirección inicial del programa, para que éste empiece a ejecutarse.



* 1.8 desplegado de mensajes en el monitor


Para poder desplegar un mensaje en el monitor es necesario que el texto a desplegar se escriba en la RAM de visualización de video, para después ser enviado al monitor mediante el controlador de video. El controlador de video es en sí un microprocesador de propósito especial, que libera a la CPU principal del trabajo de controlar el hardware de video.

Para hacer esto se pueden utilizar varios de los servicios con los que cuenta el lenguaje ensamblador, los cuales se describen con detalle en el apéndice A.

Para detener la pantalla y permitir al usuario ver lo que se ha desplegado en la misma se utiliza el servicio 00 de la interrupción 16h.

Ejemplo:

mov dx,65 -> Asignar el Valor 65 ASCII al registro DX

mov ah,02h -> Asignar el valor 02h al registro AH, que corresponde al servicio de impresión de un caracter.

int 21h -> Llamada a la interrupción 21h, de la que se ejecutará el servicio 02h.

No hay comentarios:

Publicar un comentario