tutorial smart remix online español curso aprender assembly fasm

assembly - smart - solidity español



¿Cómo escribir en la consola en fasm? (3)

Soy excepcionalmente nuevo en el montaje. Solo lo recogí ayer y miré muchos ejemplos y todavía no puedo entender cómo escribir en la consola. Siempre obtengo un error cuando parece replicarlo a mi manera.


La forma más fácil es usar las funciones C. En su uso más simple, printf() toma una cadena como parámetro y la escribe en la salida estándar.

Este código debería funcionar:

format PE console entry start include ''win32a.inc'' section ''.text'' code executable start: push hello call [printf] pop ecx push 0 call [ExitProcess] section ''.rdata'' data readable hello db ''Hello world!'', 10, 0 section ''.idata'' data readable import library kernel32, ''kernel32.dll'', / msvcrt, ''msvcrt.dll'' import kernel32, ExitProcess, ''ExitProcess'' import msvcrt, printf, ''printf''


Use WriteConsole .

include ''win32wxp.inc'' .code start: invoke AllocConsole invoke WriteConsole,<invoke GetStdHandle,STD_OUTPUT_HANDLE>,tex,12,dummy,0 invoke Sleep,-1 .end start .data tex TCHAR ''Hello World!'' dummy rd 1


Parece que esencialmente estás intentando escribir un programa hello world. Eche un vistazo a las respuestas a esta pregunta y compárela con su código. Esto debería llevarte más lejos.