SlideShare una empresa de Scribd logo
• La pila es un grupo de localidades de memoria que se
reservan con la finalidad de
• proporcionar un espacio para el almacenamiento
temporal de información.
• La pila de los programas es del tipo
• LIFO (Last In First Out, Ultimo en entrar, Primero en
salir).
• Para controlar la pila el microprocesador cuenta con dos
instrucciones básicas:
• Push (Meter) y Pop (sacar).
• El formato de estas instrucciones es el siguiente:
• Push operando
• Pop operando
• Cuando se ejecuta la instrucción Push, el contenido del
operando se almacena en la ultima posición de la pila
• Por ejemplo, si AX se carga previamente con el valor 5,
una instrucción Push AX almacenaría el valor 5 en la
ultima posición de la pila.
• Por otro lado la instrucción Pop saca el último dato
almacenado en la pila y lo coloca en el operando.
• Siguiendo el ejemplo anterior, la instrucción Pop BX
obtendría el número 5 y lo almacenaría en el registro BX.
• El siguiente ejemplo muestra como implementar la
instrucción XCHG por medio de las instrucciones Push y
Pop. Recuerde que la instrucción XCHG intercambia el
contenido de sus dos operandos.
• .COMMENT
• Programa: PushPop.ASM
• Descripción: Este programa demuestra el uso de las instrucciones para el
manejo de la
• pila, implementando la instrucción XCHG con Push y Pop
• *
• .MODEL tiny
• .CODE
• Inicio: ;Punto de entrada al programa
• Mov AX,5 ;AX=5
• Mov BX,10 ;BX=10
• Push AX ;Pila=5
• Mov AX,BX ;AX=10
• Pop BX ;BX=5
• Mov AX,4C00h ;Terminar programa y salir al DOS
• Int 21h ;
• END Inicio
• END
• ;Autor Victor De la Rocha
• ;URL http://www.mis-algoritmos.com
• .model small
• .stack ;Nos sirve como un almacen (segmento de pila)
• .data
• var1 db 5
• var2 db 3
• .code
• .startup
• mov ah, 02h
• mov dl, var1
• add dl, 30h
• int 21h
• mov dl, '+'
• int 21h
• mov dl, var2
• add dl, 30h
• int 21h
• mov dl,'='
• int 21h
• mov ah,0h
• mov al, var1
• add al, var2
• push AX ;Se guarda en la pila para no perder valores
• mov dl,ah
• mov ah, 02h
• add dl, 30h
• int 21h
• pop AX ; Saca todos los valores de la pila
• mov dl,al
• add dl,30h
• mov ah,02h
• int 21h
• .exit
• end
• ; HOLA.ASM
• ; Programa clásico de ejemplo. Despliega una leyenda en pantalla.
• STACK SEGMENT STACK ; Segmento de pila
• DW 64 DUP (?) ; Define espacio en la pila
• STACK ENDS
• DATA SEGMENT ; Segmento de datos
• SALUDO DB "Hola mundo!!",13,10,"$" ; Cadena
• DATA ENDS
• CODE SEGMENT ; Segmento de Codigo
• ASSUME CS:CODE, DS:DATA, SS:STACK
• INICIO: ; Punto de entrada al programa
• MOV AX,DATA ; Pone direccion en AX
• MOV DS,AX ; Pone la direccion en los registros
• MOV DX,OFFSET SALUDO ; Obtiene direccion del mensaje
• MOV AH,09H ; Funcion: Visualizar cadena
• INT 21H ; Servicio: Funciones alto nivel DOS
• MOV AH,4CH ; Funcion: Terminar
• INT 21H
• CODE ENDS
• END INICIO ; Marca fin y define INICIO

Más contenido relacionado

La actualidad más candente

Sistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUMSistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUM
Mari Cruz
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
YESENIA CETINA
 
macros Lenguaje ensamblador
macros Lenguaje ensambladormacros Lenguaje ensamblador
macros Lenguaje ensamblador
Jesus Adrian Muñoa Martinez
 
UML
UMLUML
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2
Humano Terricola
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
José Antonio Sandoval Acosta
 
Proyecto fernando compiladores 1
Proyecto fernando compiladores 1Proyecto fernando compiladores 1
Proyecto fernando compiladores 1
Fernando Jacome Montes
 
1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos1.2. El procesador y sus registros internos
Sistemas operativos procesos
Sistemas operativos procesosSistemas operativos procesos
Sistemas operativos procesossistoperativos
 
Equipo 6 programacion hibrida
Equipo 6 programacion hibridaEquipo 6 programacion hibrida
Equipo 6 programacion hibridagabo
 
Interbloqueos
InterbloqueosInterbloqueos
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
Angel Miguel Coria Lopez
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
José Antonio Sandoval Acosta
 
Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++Alincita Simon
 
Von neumann vs harvard
Von neumann vs harvardVon neumann vs harvard
Von neumann vs harvard
Manzelot
 
Modelos y capas de la ingenieria de software
Modelos y capas  de la ingenieria de softwareModelos y capas  de la ingenieria de software
Modelos y capas de la ingenieria de softwarejhonatanalex
 
Acceso Directo a la Memoria - DMA
Acceso Directo a la Memoria - DMAAcceso Directo a la Memoria - DMA
Acceso Directo a la Memoria - DMA
Erika Rodríguez
 
Caracteristicas del modelo orientado a objetos
Caracteristicas del modelo orientado a objetosCaracteristicas del modelo orientado a objetos
Caracteristicas del modelo orientado a objetos
Jose Diaz Silva
 
REGISTRO DE BANDERAS
REGISTRO DE BANDERASREGISTRO DE BANDERAS
REGISTRO DE BANDERAS
Fabian Rojas
 

La actualidad más candente (20)

Sistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUMSistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUM
 
Colas
ColasColas
Colas
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
macros Lenguaje ensamblador
macros Lenguaje ensambladormacros Lenguaje ensamblador
macros Lenguaje ensamblador
 
UML
UMLUML
UML
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 
Proyecto fernando compiladores 1
Proyecto fernando compiladores 1Proyecto fernando compiladores 1
Proyecto fernando compiladores 1
 
1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos
 
Sistemas operativos procesos
Sistemas operativos procesosSistemas operativos procesos
Sistemas operativos procesos
 
Equipo 6 programacion hibrida
Equipo 6 programacion hibridaEquipo 6 programacion hibrida
Equipo 6 programacion hibrida
 
Interbloqueos
InterbloqueosInterbloqueos
Interbloqueos
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
 
Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++
 
Von neumann vs harvard
Von neumann vs harvardVon neumann vs harvard
Von neumann vs harvard
 
Modelos y capas de la ingenieria de software
Modelos y capas  de la ingenieria de softwareModelos y capas  de la ingenieria de software
Modelos y capas de la ingenieria de software
 
Acceso Directo a la Memoria - DMA
Acceso Directo a la Memoria - DMAAcceso Directo a la Memoria - DMA
Acceso Directo a la Memoria - DMA
 
Caracteristicas del modelo orientado a objetos
Caracteristicas del modelo orientado a objetosCaracteristicas del modelo orientado a objetos
Caracteristicas del modelo orientado a objetos
 
REGISTRO DE BANDERAS
REGISTRO DE BANDERASREGISTRO DE BANDERAS
REGISTRO DE BANDERAS
 

Destacado

UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
Instituto Tecnológico de Tuxtla Gutiérrez
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfazjomapuga
 
Div, idiv, Neg ensamblador
Div, idiv, Neg ensambladorDiv, idiv, Neg ensamblador
Div, idiv, Neg ensamblador
David Flores Gallegos
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfazXavi Flores
 
Ensamblador
EnsambladorEnsamblador
Ensamblador
Omar Sanchez
 
Unidad 2-lenguajes-de-interfaz
Unidad 2-lenguajes-de-interfazUnidad 2-lenguajes-de-interfaz
Unidad 2-lenguajes-de-interfaz
Alberto Arredondo Infante
 
Debug utilitario dos
Debug utilitario dosDebug utilitario dos
Debug utilitario dos
Victor Fernando Monroy Dipp
 
Ciclos y Condicionales - Iterate
Ciclos y Condicionales - IterateCiclos y Condicionales - Iterate
Ciclos y Condicionales - Iterate
Lincoln School
 
Instrucciones lenguaje assembler
Instrucciones lenguaje assemblerInstrucciones lenguaje assembler
Instrucciones lenguaje assemblerANDREA
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basicoGustavo Davila
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
iagardea
 
Dispositivos de Redes
Dispositivos de RedesDispositivos de Redes
Dispositivos de Redes
Iván Sánchez Cervantes
 
DISPOSITIVOS DE CAPA 2 DEL MODELO OSI
DISPOSITIVOS DE CAPA 2 DEL MODELO OSIDISPOSITIVOS DE CAPA 2 DEL MODELO OSI
DISPOSITIVOS DE CAPA 2 DEL MODELO OSI
Ewing Ma
 
Sistema hombre maquina
Sistema hombre maquinaSistema hombre maquina
Sistema hombre maquina
car_bet8
 
Trabajo buscadores miriadax
Trabajo buscadores miriadaxTrabajo buscadores miriadax
Trabajo buscadores miriadax
AURORA COBOS ARANDA
 
Libro sobre Doble via
Libro sobre Doble viaLibro sobre Doble via
Libro sobre Doble via
Yamile Barero
 
Aventuras odiseo 4
Aventuras odiseo 4Aventuras odiseo 4
Aventuras odiseo 4juanjofuro
 
Inteligencias multiples
Inteligencias multiplesInteligencias multiples
Inteligencias multiples
Sarai Birriel Benitez
 
Evolucion de la web 1.0 a la 5.0
Evolucion de la web 1.0 a la 5.0Evolucion de la web 1.0 a la 5.0
Evolucion de la web 1.0 a la 5.0
Thomas Castro Mindiola
 

Destacado (20)

Microcontrolador
MicrocontroladorMicrocontrolador
Microcontrolador
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfaz
 
Div, idiv, Neg ensamblador
Div, idiv, Neg ensambladorDiv, idiv, Neg ensamblador
Div, idiv, Neg ensamblador
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfaz
 
Ensamblador
EnsambladorEnsamblador
Ensamblador
 
Unidad 2-lenguajes-de-interfaz
Unidad 2-lenguajes-de-interfazUnidad 2-lenguajes-de-interfaz
Unidad 2-lenguajes-de-interfaz
 
Debug utilitario dos
Debug utilitario dosDebug utilitario dos
Debug utilitario dos
 
Ciclos y Condicionales - Iterate
Ciclos y Condicionales - IterateCiclos y Condicionales - Iterate
Ciclos y Condicionales - Iterate
 
Instrucciones lenguaje assembler
Instrucciones lenguaje assemblerInstrucciones lenguaje assembler
Instrucciones lenguaje assembler
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Dispositivos de Redes
Dispositivos de RedesDispositivos de Redes
Dispositivos de Redes
 
DISPOSITIVOS DE CAPA 2 DEL MODELO OSI
DISPOSITIVOS DE CAPA 2 DEL MODELO OSIDISPOSITIVOS DE CAPA 2 DEL MODELO OSI
DISPOSITIVOS DE CAPA 2 DEL MODELO OSI
 
Sistema hombre maquina
Sistema hombre maquinaSistema hombre maquina
Sistema hombre maquina
 
Trabajo buscadores miriadax
Trabajo buscadores miriadaxTrabajo buscadores miriadax
Trabajo buscadores miriadax
 
Libro sobre Doble via
Libro sobre Doble viaLibro sobre Doble via
Libro sobre Doble via
 
Aventuras odiseo 4
Aventuras odiseo 4Aventuras odiseo 4
Aventuras odiseo 4
 
Inteligencias multiples
Inteligencias multiplesInteligencias multiples
Inteligencias multiples
 
Evolucion de la web 1.0 a la 5.0
Evolucion de la web 1.0 a la 5.0Evolucion de la web 1.0 a la 5.0
Evolucion de la web 1.0 a la 5.0
 

Similar a Manipulacion de la pila!!

Understanding Advanced Buffer Overflow
Understanding Advanced Buffer OverflowUnderstanding Advanced Buffer Overflow
Understanding Advanced Buffer OverflowConferencias FIST
 
Slides taller de exploiting Navaja Negra 4ed
Slides taller de exploiting Navaja Negra 4edSlides taller de exploiting Navaja Negra 4ed
Slides taller de exploiting Navaja Negra 4ed
Ignacio Sorribas
 
Manuel Blanco - GNU/Linux Binary Exploitation I&II [rooted2018]
Manuel Blanco - GNU/Linux Binary Exploitation I&II [rooted2018]Manuel Blanco - GNU/Linux Binary Exploitation I&II [rooted2018]
Manuel Blanco - GNU/Linux Binary Exploitation I&II [rooted2018]
RootedCON
 
dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...
dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...
dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...
CarlitosSalgadoOrtuo1
 
Abel Valero - VM + VFS = The Wooden Horse [rooted2018]
Abel Valero - VM + VFS = The Wooden Horse [rooted2018]Abel Valero - VM + VFS = The Wooden Horse [rooted2018]
Abel Valero - VM + VFS = The Wooden Horse [rooted2018]
RootedCON
 
Material taller de exploiting Navaja Negra 4ed
Material taller de exploiting Navaja Negra 4edMaterial taller de exploiting Navaja Negra 4ed
Material taller de exploiting Navaja Negra 4ed
Ignacio Sorribas
 
Colas Sesion once definicion, ejercicios.
Colas Sesion once definicion, ejercicios.Colas Sesion once definicion, ejercicios.
Colas Sesion once definicion, ejercicios.
MarvinLopez234718
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
Lupiita Paniagua
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
Sergio Lara Guevara
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
PTA Records
 
Microcontroladores: Ejemplo de un computador real: AtmegaX8PA
Microcontroladores: Ejemplo de un computador real: AtmegaX8PAMicrocontroladores: Ejemplo de un computador real: AtmegaX8PA
Microcontroladores: Ejemplo de un computador real: AtmegaX8PA
SANTIAGO PABLO ALBERTO
 
Ejercicios Ordenador_zuz (1).pdf
Ejercicios Ordenador_zuz (1).pdfEjercicios Ordenador_zuz (1).pdf
Ejercicios Ordenador_zuz (1).pdf
MelidaCedeo1
 
Arranque de Sistema Operativo con Assembler
Arranque de Sistema Operativo con AssemblerArranque de Sistema Operativo con Assembler
Arranque de Sistema Operativo con Assembler
Pedro Contreras Flores
 
Eduardo Blázquez - Técnicas de Ingeniería Inversa I & II [rooted2018]
Eduardo Blázquez - Técnicas de Ingeniería Inversa I & II [rooted2018]Eduardo Blázquez - Técnicas de Ingeniería Inversa I & II [rooted2018]
Eduardo Blázquez - Técnicas de Ingeniería Inversa I & II [rooted2018]
RootedCON
 
Curso c++
Curso c++Curso c++
Introducción al exploiting win32
Introducción al exploiting win32Introducción al exploiting win32
Introducción al exploiting win32
iaraoz
 
Leccion 3 y4_p1
Leccion 3 y4_p1Leccion 3 y4_p1
Leccion 3 y4_p1
Jair BG
 
Operaciones de pila
Operaciones de pilaOperaciones de pila
Operaciones de pila
Angel Minga
 

Similar a Manipulacion de la pila!! (20)

Understanding Advanced Buffer Overflow
Understanding Advanced Buffer OverflowUnderstanding Advanced Buffer Overflow
Understanding Advanced Buffer Overflow
 
Slides taller de exploiting Navaja Negra 4ed
Slides taller de exploiting Navaja Negra 4edSlides taller de exploiting Navaja Negra 4ed
Slides taller de exploiting Navaja Negra 4ed
 
Manuel Blanco - GNU/Linux Binary Exploitation I&II [rooted2018]
Manuel Blanco - GNU/Linux Binary Exploitation I&II [rooted2018]Manuel Blanco - GNU/Linux Binary Exploitation I&II [rooted2018]
Manuel Blanco - GNU/Linux Binary Exploitation I&II [rooted2018]
 
dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...
dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...
dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...
 
Programas asm
Programas asmProgramas asm
Programas asm
 
Abel Valero - VM + VFS = The Wooden Horse [rooted2018]
Abel Valero - VM + VFS = The Wooden Horse [rooted2018]Abel Valero - VM + VFS = The Wooden Horse [rooted2018]
Abel Valero - VM + VFS = The Wooden Horse [rooted2018]
 
02c.Unidad central de proceso
02c.Unidad central de proceso02c.Unidad central de proceso
02c.Unidad central de proceso
 
Material taller de exploiting Navaja Negra 4ed
Material taller de exploiting Navaja Negra 4edMaterial taller de exploiting Navaja Negra 4ed
Material taller de exploiting Navaja Negra 4ed
 
Colas Sesion once definicion, ejercicios.
Colas Sesion once definicion, ejercicios.Colas Sesion once definicion, ejercicios.
Colas Sesion once definicion, ejercicios.
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
 
Microcontroladores: Ejemplo de un computador real: AtmegaX8PA
Microcontroladores: Ejemplo de un computador real: AtmegaX8PAMicrocontroladores: Ejemplo de un computador real: AtmegaX8PA
Microcontroladores: Ejemplo de un computador real: AtmegaX8PA
 
Ejercicios Ordenador_zuz (1).pdf
Ejercicios Ordenador_zuz (1).pdfEjercicios Ordenador_zuz (1).pdf
Ejercicios Ordenador_zuz (1).pdf
 
Arranque de Sistema Operativo con Assembler
Arranque de Sistema Operativo con AssemblerArranque de Sistema Operativo con Assembler
Arranque de Sistema Operativo con Assembler
 
Eduardo Blázquez - Técnicas de Ingeniería Inversa I & II [rooted2018]
Eduardo Blázquez - Técnicas de Ingeniería Inversa I & II [rooted2018]Eduardo Blázquez - Técnicas de Ingeniería Inversa I & II [rooted2018]
Eduardo Blázquez - Técnicas de Ingeniería Inversa I & II [rooted2018]
 
Curso c++
Curso c++Curso c++
Curso c++
 
Introducción al exploiting win32
Introducción al exploiting win32Introducción al exploiting win32
Introducción al exploiting win32
 
Leccion 3 y4_p1
Leccion 3 y4_p1Leccion 3 y4_p1
Leccion 3 y4_p1
 
Operaciones de pila
Operaciones de pilaOperaciones de pila
Operaciones de pila
 

Más de romo91

Modos de direccionamiento!!
Modos de direccionamiento!!Modos de direccionamiento!!
Modos de direccionamiento!!
romo91
 
Modos de direccionamiento!!
Modos de direccionamiento!!Modos de direccionamiento!!
Modos de direccionamiento!!romo91
 
Registros del cpu!
Registros del cpu!Registros del cpu!
Registros del cpu!romo91
 
Lenguaje ensamblador y Estructura del CPU
Lenguaje ensamblador y Estructura del CPULenguaje ensamblador y Estructura del CPU
Lenguaje ensamblador y Estructura del CPU
romo91
 
Direccionamiento directo
Direccionamiento directoDireccionamiento directo
Direccionamiento directoromo91
 
El procesador y sus registros internos
El procesador y sus registros internosEl procesador y sus registros internos
El procesador y sus registros internosromo91
 

Más de romo91 (6)

Modos de direccionamiento!!
Modos de direccionamiento!!Modos de direccionamiento!!
Modos de direccionamiento!!
 
Modos de direccionamiento!!
Modos de direccionamiento!!Modos de direccionamiento!!
Modos de direccionamiento!!
 
Registros del cpu!
Registros del cpu!Registros del cpu!
Registros del cpu!
 
Lenguaje ensamblador y Estructura del CPU
Lenguaje ensamblador y Estructura del CPULenguaje ensamblador y Estructura del CPU
Lenguaje ensamblador y Estructura del CPU
 
Direccionamiento directo
Direccionamiento directoDireccionamiento directo
Direccionamiento directo
 
El procesador y sus registros internos
El procesador y sus registros internosEl procesador y sus registros internos
El procesador y sus registros internos
 

Manipulacion de la pila!!

  • 1.
  • 2. • La pila es un grupo de localidades de memoria que se reservan con la finalidad de • proporcionar un espacio para el almacenamiento temporal de información. • La pila de los programas es del tipo • LIFO (Last In First Out, Ultimo en entrar, Primero en salir).
  • 3. • Para controlar la pila el microprocesador cuenta con dos instrucciones básicas: • Push (Meter) y Pop (sacar). • El formato de estas instrucciones es el siguiente: • Push operando • Pop operando • Cuando se ejecuta la instrucción Push, el contenido del operando se almacena en la ultima posición de la pila
  • 4. • Por ejemplo, si AX se carga previamente con el valor 5, una instrucción Push AX almacenaría el valor 5 en la ultima posición de la pila. • Por otro lado la instrucción Pop saca el último dato almacenado en la pila y lo coloca en el operando. • Siguiendo el ejemplo anterior, la instrucción Pop BX obtendría el número 5 y lo almacenaría en el registro BX. • El siguiente ejemplo muestra como implementar la instrucción XCHG por medio de las instrucciones Push y Pop. Recuerde que la instrucción XCHG intercambia el contenido de sus dos operandos.
  • 5. • .COMMENT • Programa: PushPop.ASM • Descripción: Este programa demuestra el uso de las instrucciones para el manejo de la • pila, implementando la instrucción XCHG con Push y Pop • * • .MODEL tiny • .CODE • Inicio: ;Punto de entrada al programa • Mov AX,5 ;AX=5 • Mov BX,10 ;BX=10 • Push AX ;Pila=5 • Mov AX,BX ;AX=10 • Pop BX ;BX=5 • Mov AX,4C00h ;Terminar programa y salir al DOS • Int 21h ; • END Inicio • END
  • 6. • ;Autor Victor De la Rocha • ;URL http://www.mis-algoritmos.com • .model small • .stack ;Nos sirve como un almacen (segmento de pila) • .data • var1 db 5 • var2 db 3 • .code • .startup • mov ah, 02h • mov dl, var1 • add dl, 30h • int 21h • mov dl, '+' • int 21h • mov dl, var2 • add dl, 30h • int 21h • mov dl,'=' • int 21h • mov ah,0h • mov al, var1 • add al, var2 • push AX ;Se guarda en la pila para no perder valores • mov dl,ah • mov ah, 02h • add dl, 30h • int 21h • pop AX ; Saca todos los valores de la pila • mov dl,al • add dl,30h • mov ah,02h • int 21h • .exit • end
  • 7. • ; HOLA.ASM • ; Programa clásico de ejemplo. Despliega una leyenda en pantalla. • STACK SEGMENT STACK ; Segmento de pila • DW 64 DUP (?) ; Define espacio en la pila • STACK ENDS • DATA SEGMENT ; Segmento de datos • SALUDO DB "Hola mundo!!",13,10,"$" ; Cadena • DATA ENDS • CODE SEGMENT ; Segmento de Codigo • ASSUME CS:CODE, DS:DATA, SS:STACK • INICIO: ; Punto de entrada al programa • MOV AX,DATA ; Pone direccion en AX • MOV DS,AX ; Pone la direccion en los registros • MOV DX,OFFSET SALUDO ; Obtiene direccion del mensaje • MOV AH,09H ; Funcion: Visualizar cadena • INT 21H ; Servicio: Funciones alto nivel DOS • MOV AH,4CH ; Funcion: Terminar • INT 21H • CODE ENDS • END INICIO ; Marca fin y define INICIO