Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
8f2d60ec
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
1 年多 前同步成功
通知
9
Star
18
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
8f2d60ec
编写于
12月 27, 2006
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix for "strange errors" exposed by ccgost engine. The fix is
two extra insructions in sqradd loop at line #503.
上级
123b23fa
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
10 addition
and
10 deletion
+10
-10
crypto/bn/asm/x86-mont.pl
crypto/bn/asm/x86-mont.pl
+10
-10
未找到文件。
crypto/bn/asm/x86-mont.pl
浏览文件 @
8f2d60ec
...
...
@@ -360,7 +360,7 @@ $carry="ebp";
&mov
(
$carry
,"
edx
");
&mul
(
$word
);
# np[j]*m
&add
(
$carry
,
&DWP
(
$frame
,"
esp
",
$
j
,
4
));
# +=tp[j
]
&add
(
$carry
,
&DWP
(
$frame
,"
esp
",
$
num
,
4
));
# +=tp[num-1
]
&adc
("
edx
",
0
);
&add
(
$carry
,"
eax
");
&adc
("
edx
",
0
);
...
...
@@ -374,9 +374,9 @@ $carry="ebp";
&mov
(
&DWP
(
$frame
,"
esp
",
$num
,
4
),"
edx
");
# tp[num-1]=
&cmp
(
$j
,
$_bpend
);
&mov
(
&DWP
(
$frame
+
4
,"
esp
",
$num
,
4
),"
eax
");
# tp[num]=
&je
(
&label
("
x86done
"));
&je
(
&label
("
common_tail
"));
&mov
(
$word
,
&DWP
(
0
,
$j
));
# bp[i]
&mov
(
$word
,
&DWP
(
0
,
$j
));
# bp[i
+1
]
&mov
(
$inp
,
$_ap
);
&mov
(
$_bp
,
$j
);
# &bp[++i]
&xor
(
$j
,
$j
);
...
...
@@ -473,7 +473,7 @@ $sbit=$num;
&mov
(
&DWP
(
$frame
,"
esp
",
$num
,
4
),"
edx
");
# tp[num-1]=
&cmp
(
$j
,
$num
);
&mov
(
&DWP
(
$frame
+
4
,"
esp
",
$num
,
4
),"
eax
");
# tp[num]=
&je
(
&label
("
x86done
"));
&je
(
&label
("
common_tail
"));
&mov
(
$word
,
&DWP
(
4
,
$inp
,
$j
,
4
));
# ap[i]
&lea
(
$j
,
&DWP
(
1
,
$j
));
...
...
@@ -500,6 +500,8 @@ $sbit=$num;
&adc
("
edx
",
0
);
&lea
(
$carry
,
&DWP
(
0
,
$sbit
,"
eax
",
2
));
&shr
("
eax
",
31
);
&cmp
(
$carry
,
$sbit
);
&adc
("
eax
",
0
);
&add
(
$carry
,
&DWP
(
$frame
-
4
,"
esp
",
$j
,
4
));
# +=tp[j]
&adc
("
eax
",
0
);
&cmp
(
$j
,
$_num
);
...
...
@@ -529,12 +531,10 @@ $sbit=$num;
&mov
("
eax
",
&DWP
(
4
,
$inp
));
# np[1]
&jmp
(
&label
("
3rdmadd
"));
&set_label
("
x86done
",
4
);
&mov
(
$np
,
$_np
);
# make adjustments for tail processing
}
&set_label
("
common_tail
",
16
);
&mov
(
$np
,
$_np
);
&mov
("
esi
",
&DWP
(
$frame
+
4
,"
esp
",
$num
,
4
));
# load upmost overflow bit
&mov
(
$rp
,
$_rp
);
# load result pointer
# [$ap and $bp are zapped]
...
...
@@ -563,12 +563,12 @@ $sbit=$num;
&mov
(
$j
,
$num
);
# j=num-1
&sbb
("
esi
",
0
);
# esi holds upmost overflow bit
&jc
(
&label
("
copy
"));
&set_label
("
zap
",
16
);
&set_label
("
zap
",
8
);
&mov
(
&DWP
(
$frame
,"
esp
",
$j
,
4
),
$i
);
# zap temporary vector
&dec
(
$j
);
&jge
(
&label
("
zap
"));
&set_label
("
exit
",
4
);
&set_label
("
exit
",
8
);
&mov
("
esp
",
$_sp
);
# pull saved stack pointer
&mov
("
eax
",
1
);
&set_label
("
just_leave
");
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录