viernes, 23 de febrero de 2018

Registros de PILA

   La pila es un área de memoria importante y por ello tiene, en vez de uno, dos registros que se usan como desplazamiento (offset) para apuntar a su contenido. Se usan como complemento al registro y son:

1- SP- Stack Pointer: Se traduce como puntero de pila y es el que se reserva el procesador para uso propio en instrucciones de manipulado de pila. Por lo general, el programador no debe alterar su contenido.
2- BP- Base pointer: Se usa como registro auxiliar. El programador puede usarlo para su provecho.


Registro de Apuntador de Instrucciones
   El registro apuntador de instrucciones (IP) de 16 bits contiene el desplazamiento de dirección de la siguiente instrucción que se ejecuta. El IP esta asociado con el registro CS en el sentido de que el IP indica la instrucción actual dentro del segmento de código que se esta ejecutando actualmente. Los procesadores 80386 y posteriores tienen un IP ampliado de 32 bits, llamado EIP.

Registro SI. El registro índice fuente de 16 bits es requerido por algunas operaciones con cadenas (de caracteres). En este contexto, el SI esta asociado con el registro DS.   

Registro DI. El registro índice destino también es requerido por algunas operaciones con cadenas de caracteres. En este contexto, el DI esta asociado con el registro ES.






Ejercicio del  vídeo en EMU8086
INGRESAR DATOS




.model small
.stack 64
.data

    n1 db 0
    n2 db 0
    suma db 0
    msg1 db "Dame el primer valor", '$'
    msg2 db 10, 13, "Dame el segundo valor", '$'
    msg3 db 10,13, "Suma", '$'
 
    .code
    inicio:
    ; direccionamos al segmento de datos
    mov ax, @data
    mov ds, ax
 
    ; solicitamos el primer digito
    mov ah,09
    lea dx, msg1
    int 21h
    ; se lee el primer valor
    mov ah,01
    int 21h
    sub al, 30h ; convertir el caracter a numero
    mov n1,al
 
    ; solicitamos el segundo digito
 
    mov ah, 09
    lea dx, msg2
    int 21h
    ; se lee el primer valor
    mov ah,01
    int 21h
    sub al, 30h ; convertir el caracter a numero
    mov n2, al
 
    ; operacion
    mov al, n1
    add al, n2
    add al, 30h   ; convierte el caracter
    mov suma, al
    mov ah, 09
    lea dx, msg3
    int 21h
 
 
    ; se imprime el caracter con el servicio 02 de la int 21h
    mov ah, 02
    mov dl, suma
    int 21h
    mov ah, 4ch
    end inicio
    end
   






No hay comentarios.:

Publicar un comentario

Conclusión   del equipo #1: Puertos paralelos  Un puerto paralelo es una interfaz entre un ordenador y un periférico. El puerto paralelo ...