Win32 Programming for x86 Assembly Language Programmers
Welcome to the world of Win32 programming.
That's right! It's not impossible to write a Windows program
in assembly language.
My focus here is on using the basic Windows system calls.
You should know, or learn from other resources, how to write
code for the Intel x86 processors (and compatibles). I have used
the Intel syntax for machine instructions, so the information
here should be useful for those familiar with the MASM (by
Microsoft) or the TASM (by Borland/Inprise) assemblers.
I assume you have used Windows programs, but I
don't assume you have written a Windows program.
The core set of basic system calls is called the Win32
API (application programming interface).
The Win32 API was once called the SDK interface because it was
the original interface supported by Microsoft's Windows SDK
(Software Development Kit). This was to distinguish it
from the MFC (Microsoft Foundation Classes) interface created
for C++. Microsoft now supports more than one SDK.
The Win32 API is supported by the Platform SDK.
Example code has been tested on Win98 SE (second edition) with
TASM 4.0 and the linker and libraries from VC++ 4.0.
No attempt has been made to make these programs compatible
with NT 3.xx. [See Win32
Platforms.]
Programming
- The very beginnings
- Some fundamentals
- Message loops
- GUI topics
- Non-GUI topics
- Other topics
Name change, January 3, 2001.
Updated February 5, 2001.
Links updated February 7, 2001
Comments and criticisms can be sent to
Henry Takeuchi, htak@eskimo.com.