★ wanayoo — archive 1999 http://grc.com/smgassembly.htmNouvelle recherche | Portail wanayoo
Authoring Windows Applications In
Assembly Language
-
Huh? . . . Windows in Assembler?

Am I sick? Perhaps. Am I a dinosaur destined for early extinction? Yeah, probably. But I truly love programming. It's what I do. It fulfills me and sustains me . . . and I'm never in a hurry to "just be done with it." I can't stand sloppiness in my work, so for me that means writing the smallest, tightest, fastest, most economical computer programs possible. And THAT means authoring Windows applications in Assembly Language.

Though the rest of the world may argue that they're more "productive" (when measured by hard disk space consumed per second), I stand by the principle that: "Small Is Beautiful".


Small Is Beautiful?

Sure, I think so. Don't you?

When I began the development of the first Windows application I'd ever created, ChromaZone, I was determined not to let the fact that I was writing for Windows keep me from creating really great software. And frankly, I just don't consider a utility program that's 4 megabytes big, and contains all sorts of files that the author didn't create, to be "really great software". Do you?

So I needed to figure out how to write Windows Applications in Assembly Language. (Just as I had created SpinRite and all prior products in my life.) Well, I did that, and ChromaZone became a testament to what one guy who really cares about quality can produce.

Please allow me to urge you to download and check out the FREE ChromaZone Demo (174k). It's a rather amazing Windows Screen Saver Construction Set that I wrote in 100% pure assembly language. There's NOTHING TO INSTALL since the ZIP file contains a single executable program that just runs. The demo program contains 100 separate, customizable, amazing screen savers. ChromaZone demonstrates, far better than any words could, what one determined guy working alone can produce.

ChromaZone is pretty much the last word in "display hardware palette animation", so it will require you to temporarily drop your system down into 256-color mode ... but if you will give it a whirl I know you'll be quite amazed. I am not trying to sell you a copy of ChromaZone. Really, I'm not. It's just a piece of work that I'm so very proud of, that I'd really like to share the demo with you if you'll take a moment to check it out. It runs on any Windows platform (Win3/95/98), except NT, since it depends upon the virtual timer vxd (VTD) that's not present in NT.

Anyway ... ChromaZone is 16-bit Windows Assembly Language Technology. But before I had it completed the world had (pretty much unnecessarily) moved over to the "bigger must be better" 32-bit world of Windows 95.  <<sigh>>  So the next thing I did was to develop the technology to create modern state of the art 32-bit Windows Applications in the same 100% pure assembly language. That's where I am today. Every scrap of code I've written and offer on this web site was written in small, tight, lean and mean assembly language.

You really can feel the difference.

Many visitors to this site have asked if I could provide them with some help getting started authoring 32-bit Windows Applications in Assembly Language. So I created the "Small Is Beautiful" Starter Kit containing everything you'd need to assemble a full-function, state of the art 32-bit Windows Application in assembly language . . .


The Small Is Beautiful Starter Kit:

The file is 20k . . . Sorry it's so big, but I included all of the source code and header files, as well as a copy of the finished SIB.EXE so you could see the result even if you didn't have the other required assembly tools!

SIB.ZIP (20k) -- This zip file contains all of the files necessary to assemble a state of the art 32-bit Windows Application ... written in nothing but assembly language (it also contains the executable SIB.EXE app so that you can see what it looks like and browse the files even if you don't own a copy of Microsoft's Macro Assembler, MASM, or Linker). The App includes a toolbar with standard icons, tool tips, a status bar and common dialogs. And ... of course ... full source code for the entire project.


Microsoft's Macro Assembler, FREE ! ! !

That's right! Microsoft has made their Windows 98 DDK (Device Driver Kit) available from their web site FOR FREE DOWNLOAD! The kit INCLUDES everything you need to build 32-bit Windows Applications in Assembly Language ... including Microsoft's Macro Assembler MASM (ML.EXE) and the 32-bit Linker (LINK.EXE). Grab it NOW before it goes away!

http://www.microsoft.com/hwdev/ddk/ddk98.htm
or
http://www.microsoft.com/ddk/install98ddk.htm

And ... after you get those version 6.11d files from the DDK, you may want to update them to the latest and greatest version 6.13. You can do that with this much smaller little patch file from Microsoft:

http://support.microsoft.com/support/kb/articles/q177/7/59.asp?FR=0

Best luck with it ... and if you write something great let me know and I'll put a link to it here ... you never know, maybe Small Is Beautiful software will catch on and I won't become a dinosaur after all!


Assembly Language Resources on the Web . . .

Even though Assembly Language programming seems to be a lost and dying art, the Web is chock full of interesting and useful resources. Here are some of the better goodies I've uncovered in my travels:

The Art of Assembly Language. (Online HTML & Offline PDF) An INCREDIBLE resource for assembly language beginners, or those needing to know how to use the free copy of MASM and LINK they downloaded from Microsoft's site. "The Art of Assembly Language Programming" is a textbook on machine organzation and assembly language programming developed and written by Randall Hyde for his CS264 (Assembly Language Programming) course at Cal Poly Pomona and US Riverside.
The Netwide Assembler Project. NASM is the Netwide Assembler, a free portable assembler for the Intel 80x86 microprocessor series, which uses the traditional Intel instruction mnemonics and syntax. It's multiplatform, running under MS-DOS, Win9x & NT, OS/2, Linux and other Unixes on 8086/Alpha/SPARC/etc. It's written in ANSI C and the source is available. See Also: The NASM Advocate Site and The NASM-IDE site. A free Integrated Development Environment for NASM.
The SERIOUSLY cool Intel Secrets Site. If you like the idea of "undocumented" instructions and unauthorized info, you'll get a kick out of this site! One of my favorites is the Pentium "RDTSC"
Adam Stanislav's "Whiz Kid Technomagic" site. Adam's entheusiasm for Windows programming with assembler shows. He provides lots of sample source code on a wide variety of topics.
YahooSee what YAHOO turns up on Assembly Language! This link will take you to Yahoo and initiate a search for Assembly Language related pages and resources on the Web. You'll find that there's a lot more about assembly language out there than you'd probably expect.


Steve's Personal
Home Page
Join my Personal eMail System!
A Few Truly
Cool Utilities
Inside Microsoft's
ClearType Technology
Project-X
Authoring Windows Applications in
100% Pure Assembly Language !!
My Resumé

Purchase Info ___ To GRC's Homepage ___ To GRC's eMail Facility
Purchasing Info ___ To GRC's Home ___ To eMail System

The entire contents of this page are Copyright (c) 1999 by Gibson Research Corporation.
SpinRite and ChromaZone are trademarks of Gibson Research Corporation, Laguna Hills, CA, USA.