Here is three file based on sha1-586.asm produce from sha1-586.pl

I known OpenSSL want distribute only Perl script, but I don't known Perl and
 I just want submit "as is". If anyone can convert to Perl script, I can be very
 happy.

sha1-586.asm is produced by sha1-586.pl for MASM
sha1-386.asm is a version of sha1-586.asm which don't use BSWAP.
sha1-386.asm is compatible with 386 and 486, and hsa very little performance
degradation on modern CPU. My goal is optimize for modern CPU, but don't break
compatibility with 386/486.

sha1-x64 is a conversion of sha1-586.asm to x86-64 (AMD64/Intel EM64T) Masm ML64
code.

On the main loop, we just replace [esp] by [rsp], and [esi] by [r11]
(compare sha1-586.asm and sha1-x64_nosubstitueregister.asm)

sha1-x64_nosubstitueregister.asm is a direct translation of sha1-586.asm with
minimal change. It is probably easy to converted to perl script, using sha1-586.pl.



sha1-x64.asm use register r8, r10, r12, r13, r14, r15 to replace stack to store
some integer. This give performance little better, but is probably need complex
modification on perl script.

I've used Microsoft C++ compiler and ML64 for Windows 64 bits, using Windows
parameter convetion


they are described at
http://weblogs.asp.net/oldnewthing/archive/2004/01/14/58579.aspx 
http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp
