[Consulta] ¿Cómo imprimir un carácter en la consola de Windows (32 bits) (NASM)

Iniciado por HelloWorldCodigo, 23 Agosto 2015, 03:17 AM

0 Miembros y 3 Visitantes están viendo este tema.

HelloWorldCodigo

Hola, muy buenas a todos y a todas. La pregunta es cómo podría imprimir un carácter en la consola de Windows, trabajando en 32 bits. No querría tener que usar ni GCC (querría usar NASM puro), ni tampoco DosBox. ¡Muchas gracias!

Eternal Idol

Tenes que usar los servicios del S.O. en este caso la API de Windows. Con GetStdHandle obtenes el HANDLE correspondiente (STD_OUTPUT_HANDLE para escribir en consola) y despues podes usar WriteFile (y ReadFile para leer con STD_INPUT_HANDLE).
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

Shout

Cita de: Eternal Idol en 23 Agosto 2015, 10:31 AM
Tenes que usar los servicios del S.O. en este caso la API de Windows. Con GetStdHandle obtenes el HANDLE correspondiente (STD_OUTPUT_HANDLE para escribir en consola) y despues podes usar WriteFile (y ReadFile para leer con STD_INPUT_HANDLE).
Y... No podría usar printf?
I'll bring you death and pestilence, I'll bring you down on my own

Eternal Idol

Cita de: Shout en 23 Agosto 2015, 17:46 PM
Y... No podría usar printf?

Aunque yo diria que con "NASM puro" se asume usar los servicios del S.O. para llamar a printf tendria que enlazar (o cargar) una RTL de C, si sabes como hacerlo con NASM (yo siempre trabajo con MASM) explicaselo a HelloWorldCodigo.
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

HelloWorldCodigo

Entonces, si no tengo que usar C Standard, donde están definidos GetStdHandle?

Eternal Idol

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