More accessible and maintained these days is NASM. Yes, it is available for DOS.
You can create .com files directly with NASM, but .exe requires a linker.
For protected mode, one can use ld from DJGPP. For protected *and* real mode, there is wlink from Open Watcom (v2). Both can be used with NASM.
The other day I've prepared a small package of NASM + WLINK + GNU Make + DOS32A extender. Creates DOS (pmode and real mode) and Win32 executables. I can send it to you if you want (2 MB).
You can also do 32-bit programming for Windows or Linux. I wouldn't recommend 64-bit Windows assembly, the calling convention is atrocious and most examples on the web are wrong.
Of good help are the manuals from Intel and AMD.
http://www.intel.com/content/www/us/en/proces … er-manuals.html
http://developer.amd.com/resources/documentat … guides-manuals/ (look for AMD64)