The file format and any inherent capabilities or limitations of the file format. A DOS program is what people tend to call executable files with the COM format, and a Windows program is what you would call a PE format executable. You can find details about these two file formats at www.wotsit.org. It should go without saying that the COM format is vastly simpler and more limited than the PE format. :)