Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

12/04/2010 #1


Dudas-Pila en Lenguaje Ensamblador
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
Mil gracias..
13/04/2010 #2
Moderador

Avatar de Chico3001

Respuesta: Dudas-Pila en Lenguaje Ensamblador
Aunque no conozco bien el ensamblador para DOS alli te van unos tips...

Primeramente tienes que definir la direccion donde pondras tu pila en el registro SP, posteriormente vas almacenando los valores con la instruccion PUSH y los recuperas con la instruccion POP

http://www.wikilearning.com/curso_gr...ador_iv/4312-8
14/04/2010 #3

Avatar de tecnogirl

Respuesta: Dudas-Pila en Lenguaje Ensamblador
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
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.