1 2;--- 32-bit mixed-language sample. 3;--- Main program is assembly, and CRT functions can be used. 4;--- 1. Using MS VC 5;--- assemble: jwasm -coff Mixed232.asm 6;--- link: link Mixed232.obj \msvc\lib\libc.lib /out:Mixed2.exe 7;--- 2. Using Digital Mars C++ 8;--- assemble: jwasm -DDMC Mixed232.asm 9;--- link: \dm\bin\link Mixed232.obj,Mixed2.exe,,kernel32.lib user32.lib snn.lib; 10;--- 3. Using Open Watcom ("stack-based" RTL) 11;--- assemble: jwasm -zcw Mixed232.asm 12;--- link: wlink format windows nt runtime console 13;--- file mixed232.obj 14;--- libpath \watcom\lib386\nt 15;--- lib clib3s.lib, kernel32.lib, user32.lib 16;--- op start=mainCRTStartup, stack=0x10000, heap=0x10000 17;--- 4. Using Open Watcom ("register-based" RTL) 18;--- assemble: jwasm -zf1 -DOW Mixed232.asm 19;--- link: wlink format windows nt runtime console 20;--- file mixed232.obj 21;--- libpath \watcom\lib386\nt 22;--- lib clib3r.lib, kernel32.lib, user32.lib 23;--- op start=mainCRTStartup, stack=0x10000, heap=0x10000 24 25 .386 26ifdef OW 27 .MODEL FLAT, fastcall 28else 29 .MODEL FLAT, c 30endif 31 option casemap:none 32 33ifdef DMC 34extern _acrtused_con:abs ;tell Digital Mars OPTLINK what we want 35endif 36 37printf proto :ptr BYTE, :VARARG 38 39 .CONST 40 41szHello db 10,"hello, world.",10,0 42 43 .CODE 44 45main proc 46 47 invoke printf, addr szHello 48 xor eax,eax 49 ret 50main endp 51 52 END 53