Dudas-Pila en Lenguaje Ensamblador

#1
Hola a todos, como están?
Debo realizar un programa por debug en comandos de Ms-Dos o lenguaje assembler:
Realizar un programa que copie 8 datos de 16 bits desde la direccion 020c:100 a la direccion de la pila 4000:FFC0.
La verdad no entiendo que tiene hacer si pasas los codigos a 4000:FFC0

el programa que me explico la profe sobre realizar un programa que copie 8 datos de 16 bits desde la direccion 020c:100 a la direccion 4000:400
MOV BX,020C
MOV DS,BX
MOV SI,100
MOV DX,4000
MOV ES,DX
MOV DI,400
MOV CX,8
LODSW
STOSW
LOOP 113
NOP
Y funciona muy bien pero en caso de Pila. no tengo idea como pasar.

Pero en caso si es pila como puedo pasar los datos a 4000: FFC0?

.Aunque no la entiendo muy bien en este tema. Y tengo muchas dudas :confused:
Mil gracias..
 
#3
diana1518: Aprovechando el codigo que posteaste, lo use para crear una version similar pero basada para copiar los datos en el stack como te piden. Abre una sesion en Debug y ensambla el siguiente codigo:

Código:
MOV BX, 020Ch ; inicia el par de registros [DS] BX:SI
MOV DS, BX ; apuntando al primer dato a copiar.
MOV SI, 100h
MOV DX, 4000h ; Iniciar el stack pointer (SS:SP) en
MOV SS, DX ; la direccion 4000:FFC0 pedida.
MOV SP, 0FFC0h
MOV CX, 8 ; CX = # de datos a copiar
L1: LODSW ; Copia el dato apuntado por (BX:SI) en AX
PUSH AX ; Guarda el contenido de AX en el Stack
LOOP L1 ; Repetir CX veces
NOP
Al final, los 8 words quedan disponibles en el stack. Tanto tu programa como el que te envio los probe y me funcionaron. Si te quedan dudas escribe. Saludos
 
Última edición:
Arriba