If you are using the tiny memory model (see the /AT option for CL), you will be creating a .COM file (see the /TINY option for LINK). Usually, CL tells LINK to link tiny-model programs with CRTCOM.LIB; this file contains startup code needed by any .COM program written in C. Programs written in assembly language do not need this code. Use the /Ln option to keep LINK from linking with this startup code.