http://kipirvine.com/asm/examples/index.htm
los include de la libreria irvine no se si realmente son compatibles con masm.
Con visual cpp fue tan facil como:
Código
solamente hubo que agregar en la opcion del linker irvine32.lib para que pueda resolver el simbolo WriteString. Y funciona bien.
unsigned int __stdcall WriteString(); int main() { char *hello = "hola mundo"; __asm{ mov edx, hello } WriteString(); system("pause"); return 0; }
primero, que en masm no he podido hacer el include de irvine32.inc, se supone que es para masm, pero a mi me ha creado conflicto SmallWin.inc que resolvi haciendo el prototipo manualmente.
Código
Igual no funciona, por alguna extraña razon no tiene un handle valido a la consola.
.386 .model flat, stdcall option casemap :none include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\msvcrt.inc WriteString PROTO includelib \masm32\lib\kernel32.lib includelib \masm32\lib\msvcrt.lib includelib Irvine32.lib .data szMsg db "Hola a todos",0 .code start: mov edx, offset szMsg call WriteString invoke ExitProcess, 0 end start
No uso masm, no se si tendra alguna vuelta mas, pero en si, tal cual esta deberia funcionar.