Título: Diferencia entre estos dos codes (ASM) Publicado por: Riki_89D en 24 Octubre 2009, 16:55 pm Hola que tal estan?
buen veran hayer estuve repasando los ejemplos que trae el MASM,y vi uno llamado (minimum) i se trata de un Hola mundo de soloo 1K!! aqui os pongo el codigo que utilizaba antes: Código: .386 Bien,ese codigo me muestra el mensaje hola mundo pero el tamaño del exe es de 2,50 Ks pero tambien hice el de 1k kqie es asin: Código: .386 Por que este ocupa menos que el otro? y lo que no entiendo es lo de JMP @F JMP = Jump no? eso a donde salta a @@ ? I LA "F" que pinta hay?¿ salu2 Título: Re: Diferencia entre estos dos codes (ASM) Publicado por: PeterPunk77 en 24 Octubre 2009, 17:43 pm La diferencia de tamaño viene dada porque en el primer ejemplo los datos del título y texto van en una sección nueva (.data) que no existe en el segundo ejemplo, que lo incluye directamente en el código.
Eso quiere decir que si los desensamblas verás: Código del primer ejemplo: Código: 00401000 <>/$ 6A 00 PUSH 0 ; /Style = MB_OK|MB_APPLMODAL Código: Memory map Código del segundo ejemplo (mínimo): Código: 00401000 <>/$ /EB 12 JMP SHORT 00401014 Código: Memory map El tamaño de las secciones se puede definir en la compilación, pero para el MASM por defecto es de 1 kb por sección, y ese es el tamaño que ganas entre ambos códigos. Con respecto al "@F" es una de las palabras reservadas del MASM que hace referencia a la siguiente etiqueta (para los saltos) y existe otra "@B" para saltar a la etiqueta anterior. Título: Re: Diferencia entre estos dos codes (ASM) Publicado por: Riki_89D en 24 Octubre 2009, 18:57 pm Gracias por responder,y otra pregunta imaginate que tengo 2 elementos guardados en la pila,como puedo hacer que ESP apunte al primero (no que lo retire sino solo que apunte a ese elemento)
salu2 Título: Re: Diferencia entre estos dos codes (ASM) Publicado por: YST en 24 Octubre 2009, 19:08 pm Gracias por responder,y otra pregunta imaginate que tengo 2 elementos guardados en la pila,como puedo hacer que ESP apunte al primero (no que lo retire sino solo que apunte a ese elemento) Algo a si Código
el Código te valdria 4 pero el 5 seguiria en la pila ;) |