The MASM Forum Archive 2004 to 2012

Miscellaneous Forums => 16 bit DOS Programming => Topic started by: TedPride on December 31, 2004, 10:49:25 PM

Title: Where to get 16-bit (DOS) assembler / compiler?
Post by: TedPride on December 31, 2004, 10:49:25 PM
I'm completely new to Assembly programming, and the course I'm taking seems fixated on programming assembly in DOS, not Windows. I tried the latest version of MASM, but it seems to be only for 32-bit programming (gives me the usual errors for interrupts and so on), and I tried Arrowsoft Assembler, but it only makes .OBJ files and won't actually compile my code. It also doesn't support segment directives.

My question is, what software package(s) should I be using for turning my raw .ASM into .EXE? Preferably something that works in DOS, and is as simple to use as possible, while at the same time being as compatible as possible with MASM. A version of MASM for DOS would be ideal, except I haven't been able to figure out where to get one.

I'm beginning to think that learning the language is the easy part.  :'(
Title: Re: Where to get 16-bit (DOS) assembler / compiler?
Post by: MichaelW on December 31, 2004, 11:19:53 PM
You can use recent versions of MASM, but you need a 16-bit linker, like the one available here:

http://spiff.tripnet.se/~iczelion/download.html

As a minimum you could assemble and link from the command line or from a batch file with:

ML /c filename.asm
LINK16 filename.obj;
Title: Re: Where to get 16-bit (DOS) assembler / compiler?
Post by: TedPride on January 01, 2005, 12:29:39 AM
I finally located the following post, which seems to agree with you:
http://www.masmforum.com/viewtopic.php?t=4838
Title: Re: Where to get 16-bit (DOS) assembler / compiler?
Post by: Apakekdah on April 23, 2007, 06:55:12 PM
:'( i know i late, but i realy need 16 bit compiler for .com/.exe files...

thx
Title: Re: Where to get 16-bit (DOS) assembler / compiler?
Post by: MichaelW on April 23, 2007, 07:13:31 PM
If by compiler you mean assembler, you can use the version of ML from the MASM32 package or any other 6.x version, or AFAIK any 7.x version. You can get the 16-bit Microsoft linker here:

http://website.masm32.com/microsft.htm
Title: Re: Where to get 16-bit (DOS) assembler / compiler?
Post by: lingo on April 23, 2007, 07:27:00 PM
Some additional info here:
http://www.masm32.com/board/index.php?topic=6647.0
Title: Re: Where to get 16-bit (DOS) assembler / compiler?
Post by: eek on April 27, 2007, 12:33:06 PM
Pure 100% DOS

http://www.btinternet.com/~btketman/tutpage.html

Title: Re: Where to get 16-bit (DOS) assembler / compiler?
Post by: jcarlock on April 29, 2007, 07:52:37 PM
16-bit linker from Microsoft
http://download.microsoft.com/download/vc15/Update/1/WIN98/EN-US/Lnk563.exe

A 16 bit linker and compiler also comes with the Win2003 DDK, last time I checked (Early 2006)...
http://www.microsoft.com/whdc/devtools/ddk/

NOTE: The DDK is a big file. There is also a KMDF (Kernel Mode Driver Framework) available, but it it 100% 32-bit/64-bit (no 16-bit support).

Hope this helps.
Title: Re: Where to get 16-bit (DOS) assembler / compiler?
Post by: ridgerunner on June 02, 2007, 06:05:21 AM
If your development platform is running 16-bit DOS, you can only run MASM versions 6.11 or 6.11D (or earlier). The later versions of MASM (6.12, 6.13, 6.14, 6.15) will simply not run under 16-bit DOS. Although these later versions will happily assemble 16-bit code when run from a 32-bit Windows platform, they blow up if you try to run them from DOS - i.e. If you type in: "ML MYPROG.ASM" from a 16-bit DOS command prompt, all you will see is...

This program cannot be run in DOS mode

As far as a C compiler, the last MS version that runs under 16-bit DOS was VC 1.52.

I am not sure of where you can obtain these 16-bit versions legally for free however.