A386 and Win32 Programming

©2006 --- Eric's home page --- Main A86 page --- E-mail Eric

I am now making available for download a freeware package that has all the additional elements needed for users of my A386 assembler to create 32-bit programs that run under Windows 95 or later (95, 98, NT, 2000, ME, XP, etc.). The package includes the complete source code for a template program HELLO32 that demonstrates some of the features of Win32 programming.

For compiling resource scripts, I have included the freeware resource compiler GORC, written by Jeremy Gordon. The home page for Jeremy's programming tools is http://www.godevtool.com, which includes a number of useful tools. I particularly recommend the debugger GoBug, which works quite well with the A386-based programs produced by this package.

For producing the final EXE file, I have included the freeware linker ALINK, written by Anthony Williams. The home page for ALINK is http://alink.home.dhs.org. This is a "beta test" version 1.7: although I have found it to work quite solidly in the context of linking my A386-based programs, Anthony reports that it still has some bugs in other contexts. The version provided by his page is still V1.6 at the time of this writing.

The *.LIB files are catalogs used by ALINK, of all the functions provided by the Win32 API. For some reason I do not fathom, the link can fail if the files are listed in a random order. The file ALINK.DEF, which AW incorporates into the link by default, includes an ordering of the .LIB files that works.

To bring together A386, GORC, and ALINK, I have written a tool AW, which stands for "Assemble for Windows". AW allows you to write both the resource script and the assembler source code in a single A386 source file. You can feed the source file to AW, and it will call all three programs to produce the working EXE file from the source.

To get this system to run successfuly under Windows XP, AW is now a .BAT file which calls a tool AWBAT.COM which generates a batch file JMAKE.BAT. After AWBAT is run, AW calls JMAKE to compile the programs.

I have also provided the source code for a 32-bit program template called HELLO32. HELLO32 places the classic "Hello, World!" message in a Window on the screen, as well as demonstrating a number of Win32 features: the menu, status-bar messages, a toolbar with tooltips, open/save dialog boxes, an About box, etc.

Thanks to Jeremy and Anthony for allowing me to include their programs in this package!

Click here to download the complete freeware package (ZIP format, 470K).

Click here to download the complete freeware package (EXE format, 496K).

Click here to view the main documentation file.

Click here to view the main HELLO32.8 source file.

Click here to view the complete HELLO32.LST listing file.

Click here to order A386 online now, and receive the software within minutes; or send payment to:

Eric Isaacson
416 E. University Ave.
Bloomington, IN 47401-4739

For your convenience, I accept Visa, MasterCard and American Express, by telephone or mail. My voice number is 1-812-339-1811. My fax number is 1-812-335-1611.
Eric's home page --- Main A86 page --- E-mail Eric