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

Get started free

Arquitectura y Programacion en Lenguaje Ensamblador.pptx

emmanuel magallanes infante

Created on March 14, 2026

Start designing with a free template

Discover more than 1500 professional designs like these:

Magazine dossier

Momentum: Onboarding Escape Game

Momentum: Manager Guide

Wizardry Letter

Search Bar Card

Piñata

Microlearning: When to Use Chat, Meetings or Email

Transcript

SYSTEM_ARCHITECTURE_V1.0

Arquitectura yProgramaciónen Lenguaje Ensamblador

Una inmersión profunda en la representación nemotécnica del código máquina y la interacción directa con el hardware del procesador.

01001101 01001111 0101011001000001 01011000 00101100 01000100 01000001 01010100 01000001 00001101 00001010

FECHA DE EMISIÓN

CATEGORÍA

ESTADO

2026-03-14

Sistemas de Bajo Nivel

READY_TO_EXECUTE

ARQUITECTURA X86

NODO 1: Estructura de un Programa

Organización de memoria y directivas que instruyen al ensamblador sobre la generación del código sin producir código de máquina directamente.

Configuración Global

Segmentos Base

Declaración de Datos

Define el alcance y el modelo de gestión de memoria para todo el ejecutable.

Divisiones lógicas que separan las instrucciones de los datos y la gestión dinámica.

Reserva de espacio físico y asignación de valores constantes en memoria.

DB

DW

DD

.STACK

MEMORIA TEMPORAL

.MODEL

DIRECTIVA DE SEGMENTACIÓN

CONCEPTO CRÍTICO

.DATA

VARIABLES

Almacenamiento Little Endian: Bytes menos significativos en direcciones bajas.

Define tamaño de código/datos

Modos: SMALL, LARGE, TINY

.CODE

INSTRUCCIONES

ESTADO DE NODO

COMPILACIÓN

Estructura Jerárquica Activa

Directiva-Basada (No-Ejecutable)

0x0001_STRUCT_INIT

Subnodos 1.1 y 1.2Modelo de Memoria y Segmentos Básicos

.STACK [size]

DIRECTIVA .MODEL

Reserva espacio para direcciones de retorno y parámetros.

Determina la organización y límites de los segmentos de memoria.

.STACK 100h ; Reserva 256 bytes

TINY

Un solo segmento (64KB total)

.DATA

Sección para declaración de variables y constantes.

SMALL

1 Code + 1 Data (64KB c/u)

MSG DB 'Sistemas', 0VAL DW ?

MEDIUM

Multi Code / 1 Data

.CODE

COMPACT

1 Code / Multi Data

Contiene la lógica ejecutable. Requiere directiva END.

main PROC  MOV AX, @DATA   ... main ENDP

LARGE

Multi Code / Multi Data

ARCHITECTURE_REFERENCE: x86_16BIT_REAL_MODE

MEM_SEGMENTATION_ACTIVE

DIRECTIVE_ONLY

SUBNODO 1.3: DECLARACIÓN DE DATOS Y CONSTANTES

Gestión de variables y constantes bajo el esquema de almacenamiento Little Endian.

Directivas de Definición

CONCEPTO: LITTLE ENDIAN

En la arquitectura x86, el byte menos significativo se almacena en la dirección de memoria más baja.

DB

DW

8 BITS (BYTE)

16 BITS (WORD)

caracter DB 'A'

numero DW 1234h

Dato: 1234h (16-bit)

DD

EQU

32 BITS (DWORD)

CONSTANTE

34h

12h

dir DD 0FFFFh

MAX EQU 256

Dir: N

Dir: N+1

LOW BYTE

HIGH BYTE

DUP

Reserva de múltiples posiciones

arreglo DB 10 DUP(0)

Nota: EQU no reserva memoria física, solo actúa como una sustitución de texto para el ensamblador.

Reserva 10 bytes inicializados en cero.

SYSTEM_MEMORY_MAP_V2.0

ASSEMBLY_ARCHITECTURE // 2026-03-14

NODO 2: Arquitectura Interna

Espacios de memoria ultrarrápidos dentro del procesador indispensables para ejecutar instrucciones y realizar direccionamientos eficientes.

PROPÓSITO GENERAL

PUNTEROS E ÍNDICES

ESTADO (FLAGS)

Bits que reflejan el resultado de operaciones y controlan el funcionamiento de la CPU.

Utilizados principalmente para operaciones aritméticas y movimiento de datos.

Cruciales para la gestión de memoria y el acceso a estructuras de datos.

ZF

SF

AX, BX

SP, BP

DATOS / BASE

GESTIÓN DE PILA

CF

OF

CX, DX

SI, DI

CONTADOR / E-S

CADENAS / ÍNDICE

ARQUITECTURA DE REGISTROS X86

CPU_INTERNAL_MAP_REVISION_2026.03.14

Tipos de Registros y Flags

SUBNODOS 2.1, 2.2 Y 2.3 — ARQUITECTURA INTERNA

REG_SET_X86_64

PROPÓSITO GENERAL

PUNTEROS E ÍNDICES

REGISTRO DE ESTADO

AX

Acumulador

GESTIÓN DE PILA (STACK)

Reflejan el resultado de la última operación de la ALU.

Aritmética, E/S, Mul/Div.

SP

Stack Pointer (Cima de Pila)

BX

Base

ZF

Zero Flag

RES = 0

BP

Base Pointer (Acceso a Pila)

Direcciones base para acceso a memoria.

CX

Contador

SF

Sign Flag

Control de bucles y desplazamientos.

NEGATIVO

MANIPULACIÓN DE CADENAS

SI

Source Index (Origen)

DX

Datos

Extensión aritmética y operaciones E/S.

CF

DI

Carry Flag

Destination Index (Destino)

ACARREO

OF

Overflow Flag

DESBORDE

CPU_CLOCK: SYNC

TECH_BLUEPRINT_DESIGN_SYSTEM

NODO 3: MODOS DE DIRECCIONAMIENTO

Técnicas para calcular la Dirección Efectiva (EA) y localizar operandos en el sistema.

MODE_01

MODE_02

MODE_03

Inmediato

De Registro

Directo

El operando es una constante incluida directamente en la instrucción.

Los datos residen en registros internos. Alta velocidad, sin acceso a memoria.

La dirección de memoria se especifica explícitamente mediante un valor o etiqueta.

MOV AX, 500

MOV AX, BX

MOV AX, [1000h]

MODE_04

MODE_05

MOV AX, [BP + 2]

Indirecto por Registro

Con Desplazamiento (Base / Indexado)

Un registro (BX, BP, SI, DI) contiene la dirección del operando.

Combina un registro base/índice con una constante. Crucial para el acceso a arreglos y estructuras de datos complejas.

MOV AX, arreglo[DI]

MOV AX, [BX]

ADDRESSING_LOGIC_UNIT // X86_ARCHITECTURE

FAST EXECUTION

MEMORY ACCESS

NODO 4 // OPERACIONES ATÓMICAS

Juego de Instrucciones: Transferencia y Aritmética

Comandos fundamentales para la gestión de flujo de datos y el procesamiento matemático básico del procesador.

TRANSFERENCIA DE DATOS

OPERACIONES ARITMÉTICAS

MOV

Copia de origen a destino.

ADICIÓN Y SUSTRACCIÓN

Ej: MOV AX, BX

ADD / ADC (Con acarreo)

SUB / SBB (Con préstamo)

PUSH/POP

Gestión de la Pila (LIFO).

MULTIPLICACIÓN Y DIVISIÓN

Apilar y desapilar datos del segmento .STACK

MUL / IMUL (Signo)

DIV / IDIV (Signo)

LEA

Carga de Dirección Efectiva.

Obtiene la dirección de memoria, no el contenido.

OPERADORES UNITARIOS

XCHG

Intercambio de Valores.

INC (Operando + 1)

DEC (Operando - 1)

Ej: XCHG AX, BX (AX ↔ BX)

// Nota: Las instrucciones aritméticas modifican los Flags de estado (ZF, SF, CF, OF).

ISA_X86_CORE_V1

INSTRUCCIONES DE NIVEL 4.3 - 4.4

NODO 4: Lógica y Control de Flujo

Manipulación de bits y mecanismos de decisión que rompen la ejecución secuencial para implementar lógica condicional y repetitiva.

LÓGICA Y DESPLAZAMIENTO

CONTROL DE FLUJO

OPERACIONES BITWISE

CMP

Comparación

Resta implícita que solo afecta a los Flags.

AND / OR

XOR / NOT

Máscaras y unión de bits.

Limpiar o invertir bits.

Saltos Condicionales

Estructuras

DESPLAZAMIENTOS Y ROTACIÓN

JE/JZ: Igual a cero

LOOP: Basado en CX

JG/JL: Mayor / Menor

CALL: Subrutina

SHL / SHR

ROL / ROR

JMP: Incondicional

RET: Retorno

Mult/Div por potencias de 2.

Rotación circular de bits.

Nota: Los saltos dependen directamente del estado del registro EFLAGS tras una instrucción CMP o aritmética.

ESTADO

MÓDULO

ARCHITECTURE_BLUEPRINT // NODE_04_FINAL

EXEC_READY

ISA_x86