This is the AUTHORS file for the NASM project located at:
http://nasm.sourceforge.net/

Names should be inserted as follows:

N: Name Here
E: Email Here
D: Description Here
D: Additional Description Here.... and so on
C: Copyright information

Such is life.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

N: Julian Hall
E: Jules@acris.co.uk
D: Original author and co-conspirator

N: Simon Tatham
E: anakin@pobox.com
D: Original author and co-conspirator

N: Nelson Rush
E: palisade@users.sourceforge.net
D: Some guy.

N: Frank Kotler
E: fbkotler@users.sf.net
D: Bug smashing.
D: Documentation - "KATMAI" and "3DNow!" instructions supported by 0.98
D: General coordination and moral support.

N: Stephen Silver
E: nasm@argentum.freeserve.co.uk
D: Documentation - "3dNow!" instructions and misc.
D: insns.dat fixes and new instructions.

N: AMD Inc. (names of developers here?)
E:
D: 3DNow instructions
D: New Athlon instructions
D: Makefile.vc fix

N: John Coffman
E: johninsd@users.sourceforge.net
D: added Jcc optimizations; CPU level checks
D: bug fixes, compilation fixes

N: Yuri Zaporozhets
E: r_tty@yahoo.co.uk
D: RDOFF support

N: H. Peter Anvin
E: hpa@zytor.com
D: Primary maintainer for the 0.98, late 0.98.x and 2.x releases.
C: Contributions since 2008-12-15 are Copyright Intel Corporation.

N: John Fine
E: johnfine@earthlink.net
D: Preprocessor and OBJ (OMF) output format driver
D: Organized DOS versions of 0.98 release

N: Kendall Bennet
E: KendallB@scitechsoft.com
D: NASM enhancements
D: macros
D: Syntax modifications

N: Gary Clark
E:
D: AMD 3DNow! instructions

N: Andrew Crabtree
E:
D: Debugging support

N: Rafael R. Sevilla
E: dido@pacific.net.ph
D: RDF2HEX utility

N: Jaime Tejedor Gómez, aka Metalbrain
E: metalbrain_coder@gmx.net
D: jecxz bug fix

N: James Seter
E: pharos@zsnes.com
D: --POSTFIX, --PREFIX switches
D: ?

N: Edward J. Beroset
E: beroset@mindspring.com
D: added %substr and %strlen

N: Stanislav Karchebny, aka berkus, madfire, daemonhunter
E: madfire@users.sourceforge.net
D: multiple sections support for -fbin format
D: cvs maintenance
D: webpage at http://nasm.2y.net maintenance

N: Debbie Wiles, aka debs
E: debs@dwiles.demon.co.uk
D: Work on docs, added undocumented instructions (esp SSE2 and 3D-Now!)
D: Added other documentation and tidied up docs
D: Added a few instructions to insns.dat and tidied it up.

N: Trevor Woerner
E: FIXME
D: Quiet compiler warnings

N: Michael K. Ter Louw
E: mterlo1 "at" uic "dot" edu
D: Multisection support for "-f bin"

N: Martin Wawro
E: FIXME
D: stabs debug support for "-f elf"

N: Alexei Frounze
E: alexfru@users.sourceforge.net
D: "-I" paths searched for "incbined" files
D: bugswatting

N: Keith Kanios, aka SpooK
E: keith@kanios.net
D: c99 Compliance
D: General x64 Support
D: win64 (x86-64 COFF) output format
D: __BITS__ Standard Macro
D: Website Maintenance @ http://nasm.sourceforge.net/

N: Chuck Crayne
E: ccrayne@users.sourceforge.net
D: elf64 (x86_64) output format

N: Cyrill Gorcunov
E: gorcunov@gmail.com
D: AMD XOP/FMA4/CVT16 instructions
