Unidad 1 Flashcards
Introducción
Lenguaje Ensamblador
Es una variante del lenguaje máquina, de bajo nivel utilizado para manipular las instrucciones internas de un dispositivo.
Introducción
¿En qué consiste un programa de ensamblador?
En uno o más segmentos para definir datos y almacenar instrucciones de máquina y un segmento de pila.
Introducción
¿Cuáles son los segmentos contenidos en un programa en ensamblador?
Código, datos y pila
Importancia de la programación en ensamblador
Ventajas de trabajar con ensamblador
- Capacidad y herramientas para control total de la PC
- Indispensable para diversas tareas
- Compresión profunda de la PC
- Mantenimiento del control de las acciones de la PC
Importancia de la programación en ensamblador
Desventajas de trabajar con ensamblador
- Riesgo de errores graves
- Conocimientos insuficientes llevan a efectos impredecibles
- Necesidad de convenciones y complejidad
Procesador y sus registros internos
¿Qué contiene la unidad del sistema?
Tarjeta de sistema, fuente de poder y ranuras de expansión para tarjetas opcionales
Procesador y sus registros internos
Elementos de la tarjeta del sistema
Microprocesador, ROM y RAM
Procesador y sus registros internos
¿Qué son los registros internos?
Registros de uso general y se pueden usar como registros de 8 bits
Procesador y sus registros internos
Ejemplos de registros del CPU
- AX (acumulador)
- BX (registro base)
- CX (registro contador)
- DX (registro de datos)
- DS (registro de segmento de datos)
- ES (registro del segmento extra)
- SS (registro del segmento de pila)
- CS (registro del segmento de código)
- BP (registro de apuntadores base)
- SI (registro índice fuente)
- DI (registro índice destino)
- SP (registro del apuntador de la pila)
- IP (registro del apuntador de la sig. instrucción)
- F (registro de banderas)
Memoria principal (RAM)
¿Para qué se usa la RAM?
Procesos generales, como la ejecución de programas y el almacenamiento de información para las operaciones
Memoria principal (RAM)
Principal característica
Suministrar datos ya grabados con un tiempo de respuesta y velocidad de transferencia superior a la de los dispositivos de almacenamiento secundario
Interrupciones
¿Qué es una interrupción?
Salto que se hace dar al procesador desde el programa en curso hasta otro programa. Permite al procesador tratar eficazmente con determinados acontecimientos.
Interrupciones
Tipos de interrupciones
- Interrupciones de programa
- Interrupciones de entrada-salida
- Interrupciones de error
- Interrupciones de consola
- Interrupciones de exterior
- Interrupciones de reloj
Interrupciones
Interrupción de programa
El programa en curso solicita inicializar una operación de entrada-salida
Interrupciones
Interrupción de entrada-salida
Generadas por los canales para avisar del final de una operación de entrada-salida, o de algún
error en la transferencia.
Interrupciones
Interrupción de error
Operando inválido, violación de zona de memoria protegida.
Interrupciones
Interrupción de consola
Generada por el operador
Interrupciones
Interrupciones del exterior
Generadas por señales externas
Interrupciones
Interrupciones de reloj
Cada cierto número de impulsos de reloj se produce una interrupción, que puede utilizarse para
realizar temporizaciones.
Llamadas a servicios del sistema
¿Qué son las llamadas el sistema?
Forma estandarizada de interactuar con el sistema operativo desde un programa, permitiendo realizar una amplia variedad de operaciones de forma controlada y segura.
Llamadas a servicios del sistema
Ejemplos de llamadas al servicio del sistema
- Time
- Write
- Read
- Open
Llamadas a servicios del sistema
Time
Permite obtener la fecha y hora del sistema.
Llamadas a servicios del sistema
Write
Se emplea para escribir un dato en un cierto dispositivo de salida, tales como una pantalla o un
disco magnético.
Llamadas a servicios del sistema
Read
Usada para leer de un dispositivo de entrada, tales como un teclado o un disco magnético.
Llamadas a servicios del sistema
Open
Usada para obtener un descriptor de un fichero del sistema, ese fichero suele pasarse a
write.
Llamadas a servicios del sistema
Categorías de las llamadas a servicios del sistema
- Comunicaciones
- Control del proceso
- Manipulación de archivos
- Manipulación de información
- Manipulación de periféricos
Llamadas a servicios del sistema
Comunicaciones
Consta de las acciones relacionadas con mensajes, como crear la conexión, enviar y recibir mensajes, transferir información de estado y eliminar la conexión
Llamadas a servicios del sistema
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
Llamadas a servicios del sistema
Manipulación de archivos
Consiste de crear, abrir, leer, obtener atributos, establecer atributos, cerrar y eliminar archivos.
Llamadas a servicios del sistema
Manipulación de información
Acciones que requieren obtener datos del sistema, como por ejemplo la fecha y hora.
Llamadas a servicios del sistema
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.
Modos de direccionamiento
Tipos de modos de direccionamiento
- Transferencia de registro a registro
- Inmediata
- Modalidad directa
- Modalidad indirecta
- Modalidad de base relativa
Modos de direccionamiento
Trasferencia de registro a registro
Realiza una copia del registro fuente
al registro destino, dejando intacto el primero.
Modos de direccionamiento
Inmediata
El operando se incluye como parte de la instrucción.
Modos de direccionamiento
Modalidad directa
Un valor de 16 bits forma parte de la instrucción y es interpretado como un acceso a la memoria.
Modos de direccionamiento
Modalidad indirecta
Emplea el contenido de los registros índice SI y DI como un desplazamiento para calcular la dirección de memoria.
Modos de direccionamiento
Modalidad de base relativa
Los registros BX y BP se utilizan para calcular direcciones de memoria.
Proceso de ensamblado y ligado
Partes del proceso de crear un programa
- Editar el programa
- Ensamblarlo y enlazarlo
- Realizar las correciones y depuraciones necesarias
Proceso de ensamblado y ligado
Formas de crear programas
- Usar un ensamblador profesional
- Utilizar el debugger
Proceso de ensamblado y ligado
¿Qué tareas se permiten hacer en el debugger?
- Ver el contenido de la memoria
- Ejecutar un programa
- Ensamblar y ejecutar programas sobre la marcha
Proceso de ensamblado y ligado
Comandos usados en clase
- r
- d
- e
- f
- a
- q
Desplegado de mensajes en el monitor
Funciones de interrupción 21h
- 01
- 02
- 07
- 08
- 09
- 2A
- 2C