Want to create interactive content? It’s easy in Genially!

Get started free

Unidad 1: Introduccion del lenguaje ensamblador

Corsais305

Created on March 21, 2025

Start designing with a free template

Discover more than 1500 professional designs like these:

Fill in the Blanks

Museum Flipcards

Image Comparison Slider

Microcourse: Key Skills for the Professional Environment

The Meeting Microlearning

The Meeting Microlearning Mobile

Corporate Who's Who

Transcript

DEPURACION

IMPORTANCIA

Desplegado de Mensajes en el Monitor

IMPORTANCIA DE LA PROGRAMACION l.e.

VENTAJAS Y DESVENTAJAS

DEPURACION

PROCESOS DE ENSAMBLADO

El Procesador y sus Registros Internos

Unidad 1: Introduccion del lenguaje ensamblador

Tipos de Registros

ENSAMBLADO

REFERENCIAS IEEE

MODOS DE DIRECCIONAMIENTO

La Memo ria Principal (RAM)

EJEMPLO

Llamadas a Servicios del Sistema

MAPEO DE MEMORIA

El Concepto de Interrupciones

TIPOS

EJEMPLO

MECANISMOS

Tipos de registros

  • Registros de propósito general → Almacenan datos temporales durante la ejecución de un programa (AX, BX, CX, DX en x86).
  • Contador de programa (IP o EIP) → Almacena la dirección de la siguiente instrucción a ejecutar.
  • Registro de estado (FLAGS) → Guarda información sobre el resultado de las operaciones.
  • Puntero de pila (SP) → Controla la memoria de la pila.

Importancia del lenguaje ensamblador

  • Se usa en sistemas embebidos, drivers, firmware y depuración de código.
  • Permite un control total del hardware y optimización del rendimiento.
  • Es útil para el análisis de malware y la ingeniería inversa.

VENTAJAS Y DESVENTAJAS

  • Mayor eficiencia en el uso de recursos.
  • Mayor velocidad de ejecución.
  • Permite optimización extrema del código.
  • Difícil de aprender y depurar.
  • Código específico para cada arquitectura.
  • Requiere más tiempo de desarrollo.

MEMORIA RAM

Es el hardware físico que podemos encontrar dentro de una computadora que tiene como función la de almacenar datos de forma temporal, sirviendo como la memoria "operativa" de la computadora. La memoria RAM adicional permite que una computadora trabaje con más información al mismo tiempo, lo que generalmente tiene un efecto dramático en el rendimiento total del sistema.

Interrupciones

Las interrupciones son eventos que alteran el flujo normal de ejecución de un procesador para atender situaciones que requieren atención inmediata. Son fundamentales en la arquitectura de computadoras, ya que permiten que el sistema reaccione rápidamente a eventos externos o internos sin que la CPU tenga que estar constantemente verificando su ocurrencia (polling).

Tipos de interrupciones

  • Interrupciones de hardware → Generadas por dispositivos externos (teclado, ratón, disco duro).
  • Interrupciones de software → Generadas por el programa mediante instrucciones especiales (INT 21H).

Lenguajes de bajo nivel

  • Código máquina → Instrucciones en formato binario ejecutadas directamente por la CPU.
  • Lenguaje ensamblador → Representación simbólica del código máquina, usa mnemónicos para facilitar la programación.

Características de los lenguajes de bajo nivel

  • No requieren compilación, solo ensamblado.
  • Control total sobre el hardware.
  • Uso directo de registros y memoria.
  • Dependencia de la arquitectura del procesador.

Lenguaje ensamblador

Es un lenguaje simbólico que usa instrucciones de la CPU representadas por palabras clave (mnemónicos). Cada instrucción corresponde a una operación específica de la CPU.

LLAMADAS A SERVICIOS DEL SISTEMA

Son funciones proporcionadas por el sistema operativo para acceder a recursos como archivos, memoria, procesos y dispositivos.

Categorías de Llamadas al Sistema

  • Manejo de archivos
Abrir, leer, escribir, cerrar archivos.
  • Gestión de memoria
Asignar y liberar memoria dinámica.
  • Control de procesos
Crear, terminar, sincronizar procesos.
  • Manejo de dispositivos
Interacción con hardware y controladores.

El Procesador y sus Registros Internos

Procesador El procesador (o CPU, Central Processing Unit) es el componente principal de un sistema informático encargado de ejecutar instrucciones y realizar cálculos para el funcionamiento del software. Se compone de varias unidades que trabajan en conjunto para procesar datos de manera eficiente. Registros Internos del Procesador Los registros internos del procesador son pequeñas unidades de almacenamiento dentro de la CPU que permiten un acceso ultrarrápido a datos e instrucciones. Estos registros desempeñan un papel fundamental en la ejecución de programas, ya que almacenan temporalmente información utilizada en las operaciones del procesador.

MODOS DE DIRECCIONAMIENTO

Los modos de direccionamiento son las diferentes maneras en que una CPU puede acceder a datos en memoria o registros al ejecutar una instrucción. Definen cómo se calcula la dirección efectiva de los operandos.

Direccionamiento Inmediato:

  • El operando es un valor constante dentro de la instrucción.
  • No necesita acceder a la memoria.
Direccionamiento Directo (Absoluto):
  • La instrucción contiene la dirección de memoria donde se encuentra el dato.
Direccionamiento Indirecto
  • La instrucción contiene una dirección de memoria que a su vez almacena otra dirección donde está el dato.
  • Permite acceso dinámico a datos.

TIPOS

  • Tipos de llamadas al sistema
  • Manejo de archivos (open(), read(), write()).
  • Gestión de memoria (malloc(), free()).
  • Control de procesos (fork(), exec()).

MAPEO DE MEMORIA

Es la forma en que el sistema operativo organiza la memoria. Se divide en:
  • Segmento de código → Contiene las instrucciones del programa.
  • Segmento de datos → Almacena variables y estructuras de datos.
  • Segmento de pila → Maneja las llamadas a funciones y valores temporales

Mecanismo de manejo de interrupciones

  • Se recibe la interrupción.
  • Se ejecuta una rutina especial (ISR).
  • Se guarda el estado de la CPU.
  • Se ejecuta la acción correspondiente.
  • Se restaura el estado y se continúa la ejecución.

Proceso de Ensamblado y Ligado

El proceso de ensamblado y ligado es fundamental en la generación de programas ejecutables a partir de código en lenguaje ensamblador o compilado desde otros lenguajes como C y C++.

FASES ENSAMBLADO

a) Análisis Léxico y Sintáctico

  • Se lee el código fuente y se identifican tokens (mnemonics, operandos, etiquetas).
  • Se detectan errores de sintaxis.
b) Traducción y Resolución de Direcciones
  • Se convierten las instrucciones a su equivalente en código máquina.
  • Se determinan direcciones de memoria para etiquetas y variables.
c) Generación de Código Máquina (Objeto)
  • Se produce un archivo .obj o .o con código binario listo para ser enlazado.

esplegado de Mensajes en el Monitor en Ensamblador

El desplegado de mensajes en el monitor en ensamblador se realiza a través de interrupciones del sistema, que permiten enviar datos a la consola. Dependiendo del sistema operativo y del ensamblador utilizado, se pueden emplear diferentes interrupciones o llamadas al sistema.

REFERNCIAS

[1] Laureano, A. (2019, 26 de febrero). 1.8 Desplegado de mensajes en el monitor. BLOGGEANDO LO QUE SÉ. Consultado el 20-03-2025 [En linea] Disponible en: https://pythonambrocioisaias.blogspot.com/2019/02/18-desplegado-de-mensajes-en-el-monitor.html [2]Gomila, J. G. (2023, 15 de diciembre). Lenguaje Ensamblador, Qué es y Cómo Funciona. Guía Completa. Frogames. Consultado el 20-03-2025 [En linea] Disponible en: https://cursos.frogamesformacion.com/pages/blog/lenguaje-ensamblador-que-es [3] Lenguajes de ensamblador: Introducción. (s.f.). Informática y Tecnología Digital. Consultado el 20-03-2025 [En linea] Disponible en: https://informatecdigital.com/lenguajes-de-ensamblador-introduccion/ [4] Unidad 1. Introducción al lenguaje ensamblador. (s.f.). Víctor Hugo. Consultado el 20-03-2025 [En linea] Disponible en: https://vhugobarnes.wordpress.com/2020/04/21/introduccion-al-lenguaje-ensamblador/