提交 57ee0070 编写于 作者: A Andy Polyakov

Fix constants.

PR: 1059
上级 82e8cb40
...@@ -826,7 +826,7 @@ my $aes_key=&DWP(60,"esp"); #copy of aes_key ...@@ -826,7 +826,7 @@ my $aes_key=&DWP(60,"esp"); #copy of aes_key
&lea ("ebp",&DWP(&label("AES_Te")."-".&label("pic_point"),"ebp")); &lea ("ebp",&DWP(&label("AES_Te")."-".&label("pic_point"),"ebp"));
# allocate aligned stack frame... # allocate aligned stack frame...
&lea ($key,&DWP(-64-260,"esp")); &lea ($key,&DWP(-64-244,"esp"));
&and ($key,-64); &and ($key,-64);
# ... and make sure it doesn't alias with AES_Te modulo 4096 # ... and make sure it doesn't alias with AES_Te modulo 4096
...@@ -845,7 +845,7 @@ my $aes_key=&DWP(60,"esp"); #copy of aes_key ...@@ -845,7 +845,7 @@ my $aes_key=&DWP(60,"esp"); #copy of aes_key
&set_label("te_break_out"); # else %esp -= (p-s)&0xfff + framesz; &set_label("te_break_out"); # else %esp -= (p-s)&0xfff + framesz;
&sub ($s3,$s0); &sub ($s3,$s0);
&and ($s3,0xfff); &and ($s3,0xfff);
&add ($s3,64+320); &add ($s3,64+256);
&sub ($key,$s3); &sub ($key,$s3);
&align (4); &align (4);
&set_label("te_ok"); &set_label("te_ok");
...@@ -870,7 +870,7 @@ my $aes_key=&DWP(60,"esp"); #copy of aes_key ...@@ -870,7 +870,7 @@ my $aes_key=&DWP(60,"esp"); #copy of aes_key
&jb (&label("skip_ecopy")); &jb (&label("skip_ecopy"));
} }
# copy key schedule to stack # copy key schedule to stack
&mov ("ecx",260/4); &mov ("ecx",244/4);
&mov ("esi",$s3); &mov ("esi",$s3);
&lea ("edi",$aes_key); &lea ("edi",$aes_key);
&mov ($_key,"edi"); &mov ($_key,"edi");
...@@ -949,7 +949,7 @@ my $aes_key=&DWP(60,"esp"); #copy of aes_key ...@@ -949,7 +949,7 @@ my $aes_key=&DWP(60,"esp"); #copy of aes_key
&jb (&label("skip_ezero")); &jb (&label("skip_ezero"));
} }
# zero copy of key schedule # zero copy of key schedule
&mov ("ecx",256/4); &mov ("ecx",240/4);
&xor ("eax","eax"); &xor ("eax","eax");
&align (4); &align (4);
&data_word(0xF689ABF3); # rep stosd &data_word(0xF689ABF3); # rep stosd
...@@ -991,7 +991,7 @@ my $aes_key=&DWP(60,"esp"); #copy of aes_key ...@@ -991,7 +991,7 @@ my $aes_key=&DWP(60,"esp"); #copy of aes_key
&lea ("ebp",&DWP(&label("AES_Td")."-".&label("pic_point"),"ebp")); &lea ("ebp",&DWP(&label("AES_Td")."-".&label("pic_point"),"ebp"));
# allocate aligned stack frame... # allocate aligned stack frame...
&lea ($key,&DWP(-64-260,"esp")); &lea ($key,&DWP(-64-244,"esp"));
&and ($key,-64); &and ($key,-64);
# ... and make sure it doesn't alias with AES_Td modulo 4096 # ... and make sure it doesn't alias with AES_Td modulo 4096
...@@ -1010,7 +1010,7 @@ my $aes_key=&DWP(60,"esp"); #copy of aes_key ...@@ -1010,7 +1010,7 @@ my $aes_key=&DWP(60,"esp"); #copy of aes_key
&set_label("td_break_out"); # else %esp -= (p-s)&0xfff + framesz; &set_label("td_break_out"); # else %esp -= (p-s)&0xfff + framesz;
&sub ($s3,$s0); &sub ($s3,$s0);
&and ($s3,0xfff); &and ($s3,0xfff);
&add ($s3,64+320); &add ($s3,64+256);
&sub ($key,$s3); &sub ($key,$s3);
&align (4); &align (4);
&set_label("td_ok"); &set_label("td_ok");
...@@ -1035,7 +1035,7 @@ my $aes_key=&DWP(60,"esp"); #copy of aes_key ...@@ -1035,7 +1035,7 @@ my $aes_key=&DWP(60,"esp"); #copy of aes_key
&jb (&label("skip_dcopy")); &jb (&label("skip_dcopy"));
} }
# copy key schedule to stack # copy key schedule to stack
&mov ("ecx",260/4); &mov ("ecx",244/4);
&mov ("esi",$s3); &mov ("esi",$s3);
&lea ("edi",$aes_key); &lea ("edi",$aes_key);
&mov ($_key,"edi"); &mov ($_key,"edi");
...@@ -1199,7 +1199,7 @@ my $aes_key=&DWP(60,"esp"); #copy of aes_key ...@@ -1199,7 +1199,7 @@ my $aes_key=&DWP(60,"esp"); #copy of aes_key
&jb (&label("skip_dzero")); &jb (&label("skip_dzero"));
} }
# zero copy of key schedule # zero copy of key schedule
&mov ("ecx",256/4); &mov ("ecx",240/4);
&xor ("eax","eax"); &xor ("eax","eax");
&align (4); &align (4);
&data_word(0xF689ABF3); # rep stosd &data_word(0xF689ABF3); # rep stosd
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册