Programación General > ASM (Ensamblador)

 No Se Lo Que Es

(1/1)

Douglas:
tengo  un programa pequeño :comp:   en masm y me esta dando problemas  al momento de compilarlo sucede lo siguiente (lo ilustrare con un ejemplo para explicarme mejor)

masm prueba.asm
0 warning
0 severe

link prueba.obj


LINK : warning L4021 no stack segment
 

esta parte de arriba es que no se lo que es y no he podido avanzar  :(  por favor aquel que me pueda ayudar se lo agradecer un monton.

Les anexo el codigo

Forly:
Hola Amigo:

Yo también soy nuevo en esto del ASM. De hecho no utilizo el MASM sino el TASM para mis ejercicios.

Por otro lado, no tengo acceso al código que dices haber adjuntado.

Sin embargo, te puedo decir que el SEGMENTO DE STACK (segmento de PILA), es una porción de memoria RAM reservada para almacenar variables transitorias que utiliza el procesador durante la ejecución de los programas.

Tú también pudes hacer uso de él por intermedio de órdenes tales como PUSH o POP.

Lo importante de esto, es que lo utilices o no, es necesario reservar espacio para este tipo de segmento.

Esto lo puedes hacer con la directiva:

.STACK 100h

Para ser un poco más claro te agrego un esquema de código:

; ESTE ES UN ESQUMA DE CODIGO
.model SMALL               ; Declaracion del modelo de memoria

.stack                          ; Declaracion del segmento de pila.
                                   ; Puedes agregar el tamaño, aunque por defecto
                                   ; toma 100h

.data                           ; Declaracion del area de datos. Aqui se declaran
                                  ; todas las variables que vayas a usar.

.code                           ; Inicio del area de codigo del programa.
INICIO:                       ; Sector de comienzo del programa.

                                  ; En este espacio van todas las instruciones de
                                  ; tu programa

end INICIO                  ; Aqui terminan las instrucciones.

end                             ; Aqui termina el programa.



Bueno Amigo, esperando que esto te ayude, te mando un abrazo.

hecktor00:

--- Código: Text --- PAGE 60,132;TITLE P04ASM1 ESTRUCTURA DE UN PROGRAMA .EXESTACKSG   SEGMENT     PARA STACK 'Stack'                         STACKSG   ENDS DATASG    SEGMENT     PARA 'Data'          DATASG    ENDS CODESG   SEGMENT     PARA 'Code'BEGIN    PROC            FAR        ASSUME   SS:STACKSG, DS:DATASG,CS:CODESG     MOV              AX, DATASG            &#59;Obtiene la dirección del segmento de datos        MOV              DS, AX                &#59;Almacena dirección en DS               &#59;Inicio del programa          MOV    AH,09H    &#59;Solicita desplegar         MOV    AL,'*'                 &#59;Asterisco        MOV    BH,00H    &#59;Pagina numero 0        MOV     BL,0DAH    &#59;Atributo de color  MOV    CX,05    &#59;5 veces        INT     10H    &#59;Llama al BIOS        MOV              AX, 4C00H             &#59;Peticion        INT              21HBEGIN   ENDP                                   &#59;Termina programa principal        CODESG  ENDS                END               BEGIN  este codigo, te puede servir para q  t puedas tomar como estructura.

Suerte!
t envio este

Navegación

[0] Índice de Mensajes

Ir a la versión completa