Subj : Short executables To : Eddy Thilleman From : David Noon Date : Wed Jan 31 2001 10:54 am Hi Eddy, Replying to a message of Eddy Thilleman to David Noon: DN>> Try this [I first posted this code in this echo back in 1998]: DN>> HWORLD.ASM OS/2 32-bit command line program. ET> Hmm, maybe I'll try to assemble this, does TASM do the job? Try this one, if your TASM does only 16-bit code. Just remember to link it with OS/2's LINK.EXE and use OS2.LIB from the OS/2 Developer's Toolkit 1.3 [although OS2386.LIB in the later DTK's also contains the 16-bit imports, I think]. ========================== HWORLD16.ASM ============================ ; OS/2 16-bit command line program. Sample of assembler code. ; Copyright: Public domain .286 .MODEL SMALL,PASCAL .CONST MsgText DB "Hello, Eddy!" MsgLen EQU $-MsgText EXTERN VioWrtTTY: FAR .CODE HelloWorld PROC NEAR PUSH BP MOV BP,SP ; Call VioWrtTTY to display our message PUSH SEG MsgText PUSH OFFSET MsgText PUSH MsgLen PUSH 0 CALL VioWrtTTY ; Clean stack area and return MOV SP,BP POP BP RET HelloWorld ENDP .STACK END HelloWorld ==================================================================== It works out a couple of bytes smaller than the 32-bit program I posted before [44 bytes, compared to 53 bytes]. This is like counting archangels on the head of a pin. Regards Dave --- FleetStreet 1.25.1 * Origin: My other computer is an IBM S/390 (2:257/609.5) .