First, I downloaded and used FASM to assemble files. FASM can be downloaded from flatassembler.net. It's pretty straightforward; extract the contents to a folder, add that folder (which contains FASM.exe) to the PATH environment variable, and add the INCLUDE subfolder to the INCLUDE path environment variable.

To tell FASM to compile a Windows executable, you must do:

format PE console    ; This tells FASM that the output should be a portable executable console application.
entry start          ; This tells FASM where the program begins
include 'win32a.inc' ; This is included with FASM and defines things needed to make a Windows executable.

; This declares the part of the file that is (readable) executable code
section '.text' code readable executable

; This is where the actual program begins.  Everything else is boilerplate.
start:

; This is the import section.
section '.idata' import data readable
import kernel,\
       ExitProcess,'ExitProcess'

Note that there's no actual assembly code in the lines above. Everything above is either a directive known by FASM or defined by the win32a.inc include.

-- Giac Veltri (Senior Engine Programmer)