Registro Apuntador Base
Enviado por jessica10d • 29 de Marzo de 2014 • 245 Palabras (1 Páginas) • 405 Visitas
BP (Apuntador Base) Su función es la de proporcionar direcciones para la transferencia e intercambio de datos.
La instrucción PUSH, sitúa en la pila el contenido de la dirección indicada, primero se incremente el puntero de la pila y acto seguido el contenido de la dirección se copia en la RAM que indica el apuntador de la pila SP.
La instrucción POP, lee el contenido de la dirección de la pila que índica el SP (apuntador del stack) y lo sitúa en la dirección especificada, después decrementa el apuntador de la pila SP dejándolo en la posición anterior.
Veamos un par de ejemplos:
PUSH DX ;Mete en la pila el contenido de DX.
PUSH CX ;Mete en la pila el contenido de CX.
POP AX ;Saca de la pila su último valor (CX), y lo coloca en AX
POP BP ;Saca de la pila su último valor (DX), y se lo asigna a BP.
MOV DX,300 ;Cargo en DX el número 0x0300.
PUSH DX ;Empuja DX a la pila (0x0300).
MOV CX,200 ;Cargo en CX el número 0x0200.
PUSH CX ;Meto en la pila el contenido de CX (0x0200).
POP AX ;Saco de la pila el número 0x0200 y lo cargo en AX.
POP BX ;Saco de la pila el número 0x0300 y lo cargo en BX.
ADD AX,BX ;Sumo BX en AX. AX vale 0x0500.
La pila se puede operar con los registros AX, BX, CX, DX, SI, DI, BP, SP, CS, DS y ES, sin embargo no se puede hacer un POP CS, solamente empujarlo a la pila.
...