Make MD5 assembler code able to handle messages larger than 2GB on 32-bit
systems and above. PR: 664
This commit is contained in:
parent
3cb08a4fb1
commit
411a301c04
4 changed files with 10 additions and 1 deletions
|
@ -293,7 +293,7 @@ sub md5_block
|
||||||
&mov(&DWP(12,$tmp2,"",0),$D);
|
&mov(&DWP(12,$tmp2,"",0),$D);
|
||||||
|
|
||||||
&cmp($tmp1,$X) unless $normal; # check count
|
&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("eax"); # pop the temp variable off the stack
|
||||||
&pop("ebx");
|
&pop("ebx");
|
||||||
|
|
|
@ -141,7 +141,10 @@ sub main'jle { &out1("jle",@_); }
|
||||||
sub main'jz { &out1("jz",@_); }
|
sub main'jz { &out1("jz",@_); }
|
||||||
sub main'jge { &out1("jge",@_); }
|
sub main'jge { &out1("jge",@_); }
|
||||||
sub main'jl { &out1("jl",@_); }
|
sub main'jl { &out1("jl",@_); }
|
||||||
|
sub main'ja { &out1("ja",@_); }
|
||||||
|
sub main'jae { &out1("jae",@_); }
|
||||||
sub main'jb { &out1("jb",@_); }
|
sub main'jb { &out1("jb",@_); }
|
||||||
|
sub main'jbe { &out1("jbe",@_); }
|
||||||
sub main'jc { &out1("jc",@_); }
|
sub main'jc { &out1("jc",@_); }
|
||||||
sub main'jnc { &out1("jnc",@_); }
|
sub main'jnc { &out1("jnc",@_); }
|
||||||
sub main'jnz { &out1("jnz",@_); }
|
sub main'jnz { &out1("jnz",@_); }
|
||||||
|
|
|
@ -149,7 +149,10 @@ sub main'jle { &out1("jle NEAR",@_); }
|
||||||
sub main'jz { &out1("jz NEAR",@_); }
|
sub main'jz { &out1("jz NEAR",@_); }
|
||||||
sub main'jge { &out1("jge NEAR",@_); }
|
sub main'jge { &out1("jge NEAR",@_); }
|
||||||
sub main'jl { &out1("jl NEAR",@_); }
|
sub main'jl { &out1("jl NEAR",@_); }
|
||||||
|
sub main'ja { &out1("ja NEAR",@_); }
|
||||||
|
sub main'jae { &out1("jae NEAR",@_); }
|
||||||
sub main'jb { &out1("jb NEAR",@_); }
|
sub main'jb { &out1("jb NEAR",@_); }
|
||||||
|
sub main'jbe { &out1("jbe NEAR",@_); }
|
||||||
sub main'jc { &out1("jc NEAR",@_); }
|
sub main'jc { &out1("jc NEAR",@_); }
|
||||||
sub main'jnc { &out1("jnc NEAR",@_); }
|
sub main'jnc { &out1("jnc NEAR",@_); }
|
||||||
sub main'jnz { &out1("jnz NEAR",@_); }
|
sub main'jnz { &out1("jnz NEAR",@_); }
|
||||||
|
|
|
@ -154,7 +154,10 @@ sub main'jnz { &out1("jnz",@_); }
|
||||||
sub main'jz { &out1("jz",@_); }
|
sub main'jz { &out1("jz",@_); }
|
||||||
sub main'jge { &out1("jge",@_); }
|
sub main'jge { &out1("jge",@_); }
|
||||||
sub main'jl { &out1("jl",@_); }
|
sub main'jl { &out1("jl",@_); }
|
||||||
|
sub main'ja { &out1("ja",@_); }
|
||||||
|
sub main'jae { &out1("jae",@_); }
|
||||||
sub main'jb { &out1("jb",@_); }
|
sub main'jb { &out1("jb",@_); }
|
||||||
|
sub main'jbe { &out1("jbe",@_); }
|
||||||
sub main'jc { &out1("jc",@_); }
|
sub main'jc { &out1("jc",@_); }
|
||||||
sub main'jnc { &out1("jnc",@_); }
|
sub main'jnc { &out1("jnc",@_); }
|
||||||
sub main'jno { &out1("jno",@_); }
|
sub main'jno { &out1("jno",@_); }
|
||||||
|
|
Loading…
Reference in a new issue