elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 02:05  


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  masm, msvcrt.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: masm, msvcrt.  (Leído 761 veces)
_Enko


Desconectado Desconectado

Mensajes: 300



Ver Perfil
masm, msvcrt.
« en: 1 Diciembre 2011, 16:53 »

Hola, pense que era mi compu que tenia algun conflicto con visual studio o algo, pero no. Instalacion nueva del paquete de http://www.masm32.com/

Código
.386
.model flat, stdcall
option casemap :none   ; case sensitive
     include C:\masm32\include\windows.inc
     include C:\masm32\include\kernel32.inc
     include C:\masm32\include\user32.inc
     include C:\masm32\include\msvcrt.inc
     includelib C:\masm32\lib\kernel32.lib
     includelib C:\masm32\lib\msvcrt.lib
     includelib C:\masm32\lib\user32.lib
 
.code
   szPause db 'pause',0
   szFmt db '%s',0
   charsWritten dd 0
start:
   invoke AllocConsole
   invoke GetStdHandle, STD_OUTPUT_HANDLE
   invoke WriteConsole, eax, offset szPause, 5, offset charsWritten,NULL
   invoke crt_printf,offset szFmt, offset szPause
   invoke crt_system, offset szPause
   invoke ExitProcess, 0
   ret
end start
 
El resultado deberia de ser "pausepausePresione una tecla para continuar..."
Sin embargo, crt_printf no imprime la cadena, si devuelve 5 que son los caracteres que escribio. Es decir esta "imprimiendo el texto" pero no se imprime en la pantalla.

1)
Alguna idea de porque no imprime con printf?
Con o sin AllocConsole el resultado es el mismo. aunque printf se tendria que encargar solo de alojar una consola si  no esta  creada.


Saludos.


En línea


Servicio tecnico Blackberry http://www.serviciotecnicocelular.com
Eternal Idol
Moderador
***
Desconectado Desconectado

Mensajes: 4.388


Clarin miente, TN opera y los giles regurgitan.


Ver Perfil WWW
Re: masm, msvcrt.
« Respuesta #1 en: 1 Diciembre 2011, 17:42 »

¿Cambia en algo no llamar a WriteConsole? Mezclar la CRT con la API tal vez de problemas ...


En línea



La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
_Enko


Desconectado Desconectado

Mensajes: 300



Ver Perfil
Re: masm, msvcrt.
« Respuesta #2 en: 1 Diciembre 2011, 18:48 »

¿Cambia en algo no llamar a WriteConsole? Mezclar la CRT con la API tal vez de problemas ...

Originalmente el codigo era sin llamar a la api.
Código
.386
.model flat, stdcall
option casemap :none   ; case sensitive
 
include \masm32\include\msvcrt.inc
includelib \masm32\lib\msvcrt.lib
 
.code
szMsg         db "hola mundo",0
szPause       db "Pause",0
szFrm         db "%s",0
 
start:
 
invoke crt_printf, offset szFrm,  offset szMsg    
;push offset szMsg
;push offset szFrm
;call crt_printf
;add esp, 8
 
push offset szPause
call crt_system
add esp, 4
 
ret
end start
 

pd: si uso qedit, Antes guardo el archivo y luego  es BuildAll o AssembleLink?

Saludos.


edited:
milagrosamente cai en el problema...
SOLUCION:
en QEdit para aplicacion consola hay que hacer click en
CONSOLE BUILD ALL.

ya me parecia muy raro.
« Última modificación: 1 Diciembre 2011, 19:01 por _Enko » En línea


Servicio tecnico Blackberry http://www.serviciotecnicocelular.com
Eternal Idol
Moderador
***
Desconectado Desconectado

Mensajes: 4.388


Clarin miente, TN opera y los giles regurgitan.


Ver Perfil WWW
Re: masm, msvcrt.
« Respuesta #3 en: 1 Diciembre 2011, 19:09 »

Si, el problema es que el SUBSYSTEM es WINDOWS y no CONSOLE. Yo tambien use Assembly & Link y Build All y asi no funcionaron por eso, despues use lineas de comandos y funciono  ;D
En línea



La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
_Enko


Desconectado Desconectado

Mensajes: 300



Ver Perfil
Re: masm, msvcrt.
« Respuesta #4 en: 1 Diciembre 2011, 19:20 »

Jeje, cosas que pasan cuando la herramienta no es SISO. (Same Input = Same Output) :laugh:

desde ayer me habia encaprichado de que no funcionara y no encontraba explicacion... bastante molesto, dormi mal  :P


gracias por tomarte el  tiempo de ayudar :)

En línea


Servicio tecnico Blackberry http://www.serviciotecnicocelular.com
Eternal Idol
Moderador
***
Desconectado Desconectado

Mensajes: 4.388


Clarin miente, TN opera y los giles regurgitan.


Ver Perfil WWW
Re: masm, msvcrt.
« Respuesta #5 en: 1 Diciembre 2011, 19:23 »

Jeje de nadas, la linea de comandos es lo mas  ;-)
En línea



La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problemas con la biblioteca msvcrt.dll
Software
LuNeRa 1 1,167 Último mensaje 11 Julio 2004, 02:48
por LuNeRa
Ejemplo winsock con MASM
Programación General
Rozor 2 814 Último mensaje 20 Noviembre 2006, 02:31
por Duke
FASM o MASM?
ASM
Riki_89D 12 3,433 Último mensaje 16 Abril 2010, 18:50
por Иōҳ
ayuda con error _except_handler4_common archivo msvcrt.dll
Juegos y Consolas
darkangel2125 1 3,867 Último mensaje 18 Marzo 2011, 21:02
por Castiblanco
IDE EasyCode MASM
ASM
_Enko 2 1,303 Último mensaje 24 Diciembre 2011, 17:37
por Иōҳ
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines