X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fmd5%2Fasm%2Fmd5-586.pl;h=6cb66bb49991500f88bdfe0c79b81ffbd137d7ce;hb=bed2b769f552229c3686d522c7602eb8977e3516;hp=0249e100e1d3683c66fd3cd2e72fb6bed5c7406d;hpb=a96e7810e29747976f55defa2788cbe24e595352;p=oweals%2Fopenssl.git diff --git a/crypto/md5/asm/md5-586.pl b/crypto/md5/asm/md5-586.pl index 0249e100e1..6cb66bb499 100644 --- a/crypto/md5/asm/md5-586.pl +++ b/crypto/md5/asm/md5-586.pl @@ -7,7 +7,8 @@ $normal=0; -push(@INC,"perlasm","../../perlasm"); +$0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; +push(@INC,"${dir}","${dir}../../perlasm"); require "x86asm.pl"; &asm_init($ARGV[0],$0); @@ -29,7 +30,7 @@ $X="esi"; 0, 7, 14, 5, 12, 3, 10, 1, 8, 15, 6, 13, 4, 11, 2, 9, # R3 ); -&md5_block("md5_block_x86"); +&md5_block("md5_block_asm_data_order"); &asm_finish(); sub Np @@ -183,6 +184,7 @@ sub md5_block &mov($X, &wparam(1)); # esi &mov($C, &wparam(2)); &push("ebp"); + &shl($C, 6); &push("ebx"); &add($C, $X); # offset we end at &sub($C, 64); @@ -292,7 +294,7 @@ sub md5_block &mov(&DWP(12,$tmp2,"",0),$D); &cmp($tmp1,$X) unless $normal; # check count - &jge(&label("start")) unless $normal; + &jae(&label("start")) unless $normal; &pop("eax"); # pop the temp variable off the stack &pop("ebx");