Files
oldlinux-website/Book-Lite/code-list/html/P14-24.html
2024-02-19 01:11:57 -05:00

2712 lines
94 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
<meta name=Generator content="Microsoft Word 14 (filtered)">
<style>
<!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:黑体;
panose-1:2 1 6 9 6 1 1 1 1 1;}
@font-face
{font-family:黑体;
panose-1:2 1 6 9 6 1 1 1 1 1;}
@font-face
{font-family:Cambria;
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:方正小标宋简体;}
@font-face
{font-family:"\@黑体";
panose-1:2 1 6 9 6 1 1 1 1 1;}
@font-face
{font-family:"\@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:"\@方正小标宋简体";}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:;}
h1
{mso-style-link:"标题 1 Char";
margin-top:17.0pt;
margin-right:0cm;
margin-bottom:16.5pt;
margin-left:35.4pt;
text-align:center;
text-indent:-21.0pt;
page-break-after:avoid;
font-size:22.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
h2
{mso-style-link:"标题 2 Char";
margin-top:13.0pt;
margin-right:0cm;
margin-bottom:13.0pt;
margin-left:0cm;
text-indent:0cm;
page-break-after:avoid;
font-size:16.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
h3
{mso-style-link:"标题 3 Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:0cm;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
h4
{mso-style-link:"标题 4 Char";
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:28.8pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-28.8pt;
page-break-after:avoid;
font-size:12.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
h5
{mso-style-link:"标题 5 Char";
margin-top:14.0pt;
margin-right:0cm;
margin-bottom:14.5pt;
margin-left:36.0pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-36.0pt;
line-height:156%;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
h6
{mso-style-link:"标题 6 Char";
margin-top:12.0pt;
margin-right:0cm;
margin-bottom:3.2pt;
margin-left:43.2pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-43.2pt;
line-height:133%;
page-break-after:avoid;
font-size:12.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
p.MsoHeading7, li.MsoHeading7, div.MsoHeading7
{mso-style-link:"标题 7 Char";
margin-top:12.0pt;
margin-right:0cm;
margin-bottom:3.2pt;
margin-left:50.4pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-50.4pt;
line-height:133%;
page-break-after:avoid;
font-size:12.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
p.MsoHeading8, li.MsoHeading8, div.MsoHeading8
{mso-style-link:"标题 8 Char";
margin-top:12.0pt;
margin-right:0cm;
margin-bottom:3.2pt;
margin-left:57.6pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-72.0pt;
line-height:133%;
page-break-after:avoid;
font-size:12.0pt;
font-family:"Arial","sans-serif";}
p.MsoHeading9, li.MsoHeading9, div.MsoHeading9
{mso-style-link:"标题 9 Char";
margin-top:12.0pt;
margin-right:0cm;
margin-bottom:3.2pt;
margin-left:64.8pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-79.2pt;
line-height:133%;
page-break-after:avoid;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.MsoIndex1, li.MsoIndex1, div.MsoIndex1
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:10.5pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-10.5pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.MsoIndex2, li.MsoIndex2, div.MsoIndex2
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.0pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-10.5pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.MsoIndex3, li.MsoIndex3, div.MsoIndex3
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:31.5pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-10.5pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.MsoIndex4, li.MsoIndex4, div.MsoIndex4
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:42.0pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-10.5pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.MsoIndex5, li.MsoIndex5, div.MsoIndex5
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:52.5pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-10.5pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.MsoIndex6, li.MsoIndex6, div.MsoIndex6
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:63.0pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-10.5pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.MsoIndex7, li.MsoIndex7, div.MsoIndex7
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:73.5pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-10.5pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.MsoIndex8, li.MsoIndex8, div.MsoIndex8
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:84.0pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-10.5pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.MsoIndex9, li.MsoIndex9, div.MsoIndex9
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:94.5pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-10.5pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.MsoToc1, li.MsoToc1, div.MsoToc1
{margin-top:6.0pt;
margin-right:0cm;
margin-bottom:6.0pt;
margin-left:0cm;
font-size:10.0pt;
font-family:"Calibri","sans-serif";
text-transform:uppercase;
font-weight:bold;}
p.MsoToc2, li.MsoToc2, div.MsoToc2
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:10.5pt;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Calibri","sans-serif";
font-variant:small-caps;}
p.MsoToc3, li.MsoToc3, div.MsoToc3
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.0pt;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Calibri","sans-serif";
font-style:italic;}
p.MsoToc4, li.MsoToc4, div.MsoToc4
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:31.5pt;
margin-bottom:.0001pt;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.MsoToc5, li.MsoToc5, div.MsoToc5
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:42.0pt;
margin-bottom:.0001pt;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.MsoToc6, li.MsoToc6, div.MsoToc6
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:52.5pt;
margin-bottom:.0001pt;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.MsoToc7, li.MsoToc7, div.MsoToc7
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:63.0pt;
margin-bottom:.0001pt;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.MsoToc8, li.MsoToc8, div.MsoToc8
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:73.5pt;
margin-bottom:.0001pt;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.MsoToc9, li.MsoToc9, div.MsoToc9
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:84.0pt;
margin-bottom:.0001pt;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.MsoFootnoteText, li.MsoFootnoteText, div.MsoFootnoteText
{mso-style-link:"脚注文本 Char";
margin:0cm;
margin-bottom:.0001pt;
layout-grid-mode:char;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.MsoCommentText, li.MsoCommentText, div.MsoCommentText
{mso-style-link:"批注文字 Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.MsoHeader, li.MsoHeader, div.MsoHeader
{mso-style-link:"页眉 Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
layout-grid-mode:char;
border:none;
padding:0cm;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.MsoFooter, li.MsoFooter, div.MsoFooter
{mso-style-link:"页脚 Char";
margin:0cm;
margin-bottom:.0001pt;
layout-grid-mode:char;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.MsoIndexHeading, li.MsoIndexHeading, div.MsoIndexHeading
{mso-style-name:"索引标题\,索引类目\,索引类目1\,索引类目2";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.MsoCaption, li.MsoCaption, div.MsoCaption
{margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.MsoTof, li.MsoTof, div.MsoTof
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:42.0pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-21.0pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
span.MsoFootnoteReference
{vertical-align:super;}
p.MsoList, li.MsoList, div.MsoList
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.0pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.0pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.MsoList2, li.MsoList2, div.MsoList2
{margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.MsoList4, li.MsoList4, div.MsoList4
{margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.MsoDate, li.MsoDate, div.MsoDate
{mso-style-link:"日期 Char";
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:5.0pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
{mso-style-name:"超链接\,超级链接";
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;}
p
{mso-style-name:"普通\(网站\)\,普通 \(Web\)\,普通 \(Web\)1\,普通 \(Web\)2\,普通 \(Web\)3";
margin-right:0cm;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
pre
{mso-style-name:"HTML 预设格式\,HTML 预先格式化\,HTML 预先格式化1\,HTML 预先格式化2\,HTML 预先格式化3";
mso-style-link:"HTML 预设格式 Char\,HTML 预先格式化 Char\,HTML 预先格式化1 Char\,HTML 预先格式化2 Char\,HTML 预先格式化3 Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
tt
{font-family:;}
p.MsoCommentSubject, li.MsoCommentSubject, div.MsoCommentSubject
{mso-style-link:"批注主题 Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{mso-style-link:"批注框文本 Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.MsoTocHeading, li.MsoTocHeading, div.MsoTocHeading
{margin-top:24.0pt;
margin-right:0cm;
margin-bottom:0cm;
margin-left:0cm;
margin-bottom:.0001pt;
line-height:115%;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Cambria","serif";
color:#365F91;
font-weight:bold;}
p.1, li.1, div.1
{mso-style-name:1;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.0pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.0pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.a, li.a, div.a
{mso-style-name:;
mso-style-link:"代码程序 Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:;}
span.Char
{mso-style-name:"代码程序 Char";
mso-style-link:;
font-family:;}
p.a0, li.a0, div.a0
{mso-style-name:;
mso-style-link:"图说明 Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
span.Char0
{mso-style-name:"图说明 Char";
mso-style-link:;
font-family:;}
p.0, li.0, div.0
{mso-style-name:0;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:36.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
p.10, li.10, div.10
{mso-style-name:1;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:18.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
p.11, li.11, div.11
{mso-style-name:1;
margin-top:7.8pt;
margin-right:0cm;
margin-bottom:7.8pt;
margin-left:0cm;
text-align:center;
font-size:22.0pt;
font-family:;
font-weight:bold;}
p.a1, li.a1, div.a1
{mso-style-name:;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.3CharChar, li.3CharChar, div.3CharChar
{mso-style-name:"图中文字3 Char Char";
mso-style-link:"图中文字3 Char Char Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
line-height:9.0pt;
font-size:8.0pt;
font-family:"Times New Roman","serif";}
span.3CharCharChar
{mso-style-name:"图中文字3 Char Char Char";
mso-style-link:"图中文字3 Char Char";
font-family:;}
p.post, li.post, div.post
{mso-style-name:post;
margin:0cm;
margin-bottom:.0001pt;
text-align:right;
line-height:11.0pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.3, li.3, div.3
{mso-style-name:3;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
span.3CharChar1CharCharChar
{mso-style-name:"图中文字3 Char Char1 Char Char Char";
font-family:;}
span.3CharChar1CharChar
{mso-style-name:"图中文字3 Char Char1 Char Char";
font-family:;}
p.5Char, li.5Char, div.5Char
{mso-style-name:"图中文字5号 Char";
mso-style-link:"图中文字5号 Char Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
span.5CharChar
{mso-style-name:"图中文字5号 Char Char";
mso-style-link:"图中文字5号 Char";
font-family:;}
p.5CharChar0, li.5CharChar0, div.5CharChar0
{mso-style-name:"图中文字小5号 Char Char";
mso-style-link:"图中文字小5号 Char Char Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
span.5CharCharChar
{mso-style-name:"图中文字小5号 Char Char Char";
mso-style-link:"图中文字小5号 Char Char";
font-family:;}
p.5Char0, li.5Char0, div.5Char0
{mso-style-name:"图中文字小5号 Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.5, li.5, div.5
{mso-style-name:5;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
layout-grid-mode:char;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.2, li.2, div.2
{mso-style-name:2;
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:;}
p.20, li.20, div.20
{mso-style-name:2;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.21, li.21, div.21
{mso-style-name:2;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.3CharCharCharCharChar, li.3CharCharCharCharChar, div.3CharCharCharCharChar
{mso-style-name:"图中文字3 Char Char Char Char Char";
mso-style-link:"图中文字3 Char Char Char Char Char Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
line-height:9.0pt;
font-size:8.0pt;
font-family:"Times New Roman","serif";}
span.3CharCharCharCharCharChar
{mso-style-name:"图中文字3 Char Char Char Char Char Char";
mso-style-link:"图中文字3 Char Char Char Char Char";
font-family:;}
p.a2, li.a2, div.a2
{mso-style-name:;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.110, li.110, div.110
{mso-style-name:"样式 标题 1 + 居中1";
margin-right:0cm;
margin-left:0cm;
text-align:center;
page-break-after:avoid;
font-size:22.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
span.1Char
{mso-style-name:"标题 1 Char";
mso-style-link:"标题 1";
font-weight:bold;}
p.22, li.22, div.22
{mso-style-name:"样式 列表 2 + 居中";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.23, li.23, div.23
{mso-style-name:2;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.50, li.50, div.50
{mso-style-name:5;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.111, li.111, div.111
{mso-style-name:11;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.0pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.0pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.12, li.12, div.12
{mso-style-name:1;
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:;}
p.13, li.13, div.13
{mso-style-name:1;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.01, li.01, div.01
{mso-style-name:01;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:36.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
p.112, li.112, div.112
{mso-style-name:11;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:18.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
p.113, li.113, div.113
{mso-style-name:11;
margin-top:7.8pt;
margin-right:0cm;
margin-bottom:7.8pt;
margin-left:0cm;
text-align:center;
font-size:22.0pt;
font-family:;
font-weight:bold;}
p.14, li.14, div.14
{mso-style-name:1;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.3Char1, li.3Char1, div.3Char1
{mso-style-name:"图中文字3 Char1";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
line-height:9.0pt;
font-size:8.0pt;
font-family:"Times New Roman","serif";}
p.post1, li.post1, div.post1
{mso-style-name:post1;
margin:0cm;
margin-bottom:.0001pt;
text-align:right;
line-height:11.0pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.31, li.31, div.31
{mso-style-name:31;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.5Char1, li.5Char1, div.5Char1
{mso-style-name:"图中文字5号 Char1";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.5CharChar1, li.5CharChar1, div.5CharChar1
{mso-style-name:"图中文字小5号 Char Char1";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.5Char10, li.5Char10, div.5Char10
{mso-style-name:"图中文字小5号 Char1";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.51, li.51, div.51
{mso-style-name:51;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.120, li.120, div.120
{mso-style-name:12;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.0pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.0pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.02, li.02, div.02
{mso-style-name:02;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:36.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
p.121, li.121, div.121
{mso-style-name:12;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:18.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
p.122, li.122, div.122
{mso-style-name:12;
margin-top:7.8pt;
margin-right:0cm;
margin-bottom:7.8pt;
margin-left:0cm;
text-align:center;
font-size:22.0pt;
font-family:;
font-weight:bold;}
p.3Char2, li.3Char2, div.3Char2
{mso-style-name:"图中文字3 Char2";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
line-height:9.0pt;
font-size:8.0pt;
font-family:"Times New Roman","serif";}
p.post2, li.post2, div.post2
{mso-style-name:post2;
margin:0cm;
margin-bottom:.0001pt;
text-align:right;
line-height:11.0pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.32, li.32, div.32
{mso-style-name:32;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.5Char2, li.5Char2, div.5Char2
{mso-style-name:"图中文字小5号 Char2";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.52, li.52, div.52
{mso-style-name:52;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.3CharCharCharChar, li.3CharCharCharChar, div.3CharCharCharChar
{mso-style-name:"图中文字3 Char Char Char Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
line-height:9.0pt;
font-size:8.0pt;
font-family:"Times New Roman","serif";}
p.130, li.130, div.130
{mso-style-name:13;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.0pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.0pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.30, li.30, div.30
{mso-style-name:3;
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:;}
p.03, li.03, div.03
{mso-style-name:03;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:36.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
p.131, li.131, div.131
{mso-style-name:13;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:18.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
p.132, li.132, div.132
{mso-style-name:13;
margin-top:7.8pt;
margin-right:0cm;
margin-bottom:7.8pt;
margin-left:0cm;
text-align:center;
font-size:22.0pt;
font-family:;
font-weight:bold;}
p.33, li.33, div.33
{mso-style-name:3;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.3Char3, li.3Char3, div.3Char3
{mso-style-name:"图中文字3 Char3";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
line-height:9.0pt;
font-size:8.0pt;
font-family:"Times New Roman","serif";}
p.post3, li.post3, div.post3
{mso-style-name:post3;
margin:0cm;
margin-bottom:.0001pt;
text-align:right;
line-height:11.0pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.330, li.330, div.330
{mso-style-name:33;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.5Char20, li.5Char20, div.5Char20
{mso-style-name:"图中文字5号 Char2";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.5CharChar2, li.5CharChar2, div.5CharChar2
{mso-style-name:"图中文字小5号 Char Char2";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.5Char3, li.5Char3, div.5Char3
{mso-style-name:"图中文字小5号 Char3";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.53, li.53, div.53
{mso-style-name:53;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.3Char, li.3Char, div.3Char
{mso-style-name:"图中文字3 Char";
mso-style-link:"图中文字3 Char Char5";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
line-height:9.0pt;
font-size:8.0pt;
font-family:"Times New Roman","serif";}
span.3CharChar5
{mso-style-name:"图中文字3 Char Char5";
mso-style-link:"图中文字3 Char";
font-family:;}
p.54, li.54, div.54
{mso-style-name:5;
margin:0cm;
margin-bottom:.0001pt;
line-height:9.0pt;
text-autospace:ideograph-numeric;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.24, li.24, div.24
{mso-style-name:2;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:22.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
p.15, li.15, div.15
{mso-style-name:"样式 标题 1 + 居中";
margin-top:17.0pt;
margin-right:0cm;
margin-bottom:16.5pt;
margin-left:0cm;
text-align:center;
page-break-after:avoid;
font-size:22.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
p.25, li.25, div.25
{mso-style-name:"样式 标题 2 + 行距\: 单倍行距";
margin-top:13.0pt;
margin-right:0cm;
margin-bottom:13.0pt;
margin-left:28.9pt;
text-indent:-28.9pt;
page-break-after:avoid;
font-size:16.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
span.2Char
{mso-style-name:"标题 2 Char";
mso-style-link:"标题 2";
font-family:"Arial","sans-serif";
font-weight:bold;}
p.34, li.34, div.34
{mso-style-name:3;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.35, li.35, div.35
{mso-style-name:3;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.4, li.4, div.4
{mso-style-name:4;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.40, li.40, div.40
{mso-style-name:4;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.0pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.0pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.41, li.41, div.41
{mso-style-name:4;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.55, li.55, div.55
{mso-style-name:5;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.56, li.56, div.56
{mso-style-name:5;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.57, li.57, div.57
{mso-style-name:5;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.6, li.6, div.6
{mso-style-name:6;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.60, li.60, div.60
{mso-style-name:6;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.61, li.61, div.61
{mso-style-name:6;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.7, li.7, div.7
{mso-style-name:7;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.70, li.70, div.70
{mso-style-name:7;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.71, li.71, div.71
{mso-style-name:7;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.8, li.8, div.8
{mso-style-name:8;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.9, li.9, div.9
{mso-style-name:9;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.90, li.90, div.90
{mso-style-name:9;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.100, li.100, div.100
{mso-style-name:10;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.101, li.101, div.101
{mso-style-name:10;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.114, li.114, div.114
{mso-style-name:11;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.115, li.115, div.115
{mso-style-name:11;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.116, li.116, div.116
{mso-style-name:11;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.123, li.123, div.123
{mso-style-name:12;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.124, li.124, div.124
{mso-style-name:12;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.133, li.133, div.133
{mso-style-name:13;
mso-style-link:"图说明13 Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
span.13Char
{mso-style-name:"图说明13 Char";
mso-style-link:13;
font-family:;}
p.134, li.134, div.134
{mso-style-name:13;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.26, li.26, div.26
{mso-style-name:2;
margin-top:13.0pt;
margin-right:0cm;
margin-bottom:13.0pt;
margin-left:0cm;
page-break-after:avoid;
font-size:16.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
p.36, li.36, div.36
{mso-style-name:3;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
span.3Char0
{mso-style-name:"标题 3 Char";
mso-style-link:"标题 3";
font-family:"Arial","sans-serif";
font-weight:bold;}
p.16, li.16, div.16
{mso-style-name:1;
margin-top:17.0pt;
margin-right:0cm;
margin-bottom:16.5pt;
margin-left:0cm;
text-align:center;
page-break-after:avoid;
font-size:22.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
p.17, li.17, div.17
{mso-style-name:1;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.42, li.42, div.42
{mso-style-name:4;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
page-break-after:avoid;
font-size:12.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
span.4Char
{mso-style-name:"标题 4 Char";
mso-style-link:"标题 4";
font-family:"Arial","sans-serif";
font-weight:bold;}
p.a3, li.a3, div.a3
{mso-style-name:;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.27, li.27, div.27
{mso-style-name:2;
margin-top:13.0pt;
margin-right:0cm;
margin-bottom:13.0pt;
margin-left:28.8pt;
text-indent:-28.8pt;
page-break-after:avoid;
font-size:16.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
p.a4, li.a4, div.a4
{mso-style-name:;
margin-top:7.8pt;
margin-right:0cm;
margin-bottom:7.8pt;
margin-left:0cm;
text-align:center;
page-break-after:avoid;
font-size:22.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
p.18, li.18, div.18
{mso-style-name:1;
margin-top:7.8pt;
margin-right:0cm;
margin-bottom:7.8pt;
margin-left:0cm;
text-align:center;
page-break-after:avoid;
font-size:22.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
p.19, li.19, div.19
{mso-style-name:1;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.25pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.25pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.1a, li.1a, div.1a
{mso-style-name:1;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.25pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.25pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.37, li.37, div.37
{mso-style-name:3;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.62, li.62, div.62
{mso-style-name:6;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
layout-grid-mode:char;
font-size:7.5pt;
font-family:"Times New Roman","serif";}
p.a5, li.a5, div.a5
{mso-style-name:;
mso-style-link:"正文代码 Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
span.Char1
{mso-style-name:"正文代码 Char";
mso-style-link:;
font-family:;}
p.43, li.43, div.43
{mso-style-name:"样式 标题 4 +";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
page-break-after:avoid;
font-size:12.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
p.140, li.140, div.140
{mso-style-name:14;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.25pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.25pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.141, li.141, div.141
{mso-style-name:14;
mso-style-link:"图说明14 Char";
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.25pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.25pt;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
span.14Char
{mso-style-name:"图说明14 Char";
mso-style-link:14;
font-family:;}
p.a6, li.a6, div.a6
{mso-style-name:;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.a7, li.a7, div.a7
{mso-style-name:"样式 正文 +";
mso-style-link:"样式 正文 + Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
span.Char2
{mso-style-name:"样式 正文 + Char";
mso-style-link:"样式 正文 +";
font-family:"Times New Roman","serif";}
p.a8, li.a8, div.a8
{mso-style-name:;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:;}
p.a9, li.a9, div.a9
{mso-style-name:;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.aa, li.aa, div.aa
{mso-style-name:;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.ab, li.ab, div.ab
{mso-style-name:;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.ac, li.ac, div.ac
{mso-style-name:;
margin-top:0cm;
margin-right:21.0pt;
margin-bottom:0cm;
margin-left:21.0pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
border:none;
padding:0cm;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.125, li.125, div.125
{mso-style-name:"样式 标题 1 + 居中2";
margin-top:17.0pt;
margin-right:0cm;
margin-bottom:16.5pt;
margin-left:0cm;
text-align:center;
page-break-after:avoid;
font-size:22.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
p.ad, li.ad, div.ad
{mso-style-name:"样式 题注 + 宋体 五号 居中";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:;}
p.1b, li.1b, div.1b
{mso-style-name:1;
margin-top:17.0pt;
margin-right:0cm;
margin-bottom:16.5pt;
margin-left:0cm;
line-height:240%;
page-break-after:avoid;
font-size:16.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
p.38, li.38, div.38
{mso-style-name:3;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
page-break-after:avoid;
font-size:12.0pt;
font-family:;}
p.63, li.63, div.63
{mso-style-name:6;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:7.5pt;
font-family:"Times New Roman","serif";}
p.64, li.64, div.64
{mso-style-name:6;
margin:0cm;
margin-bottom:.0001pt;
line-height:10.0pt;
layout-grid-mode:char;
font-size:7.5pt;
font-family:"Times New Roman","serif";}
p.65, li.65, div.65
{mso-style-name:6;
mso-style-link:"图中文字6号 Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
line-height:10.0pt;
layout-grid-mode:char;
font-size:7.5pt;
font-family:"Times New Roman","serif";}
span.6Char
{mso-style-name:"图中文字6号 Char";
mso-style-link:6;
font-family:;}
p.ae, li.ae, div.ae
{mso-style-name:;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.28, li.28, div.28
{mso-style-name:2;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.af, li.af, div.af
{mso-style-name:;
margin-top:6.0pt;
margin-right:0cm;
margin-bottom:0cm;
margin-left:0cm;
margin-bottom:.0001pt;
page-break-after:avoid;
font-size:14.0pt;
font-family:;}
p.1c, li.1c, div.1c
{mso-style-name:1;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:16.0pt;
font-family:"Times New Roman","serif";}
p.af0, li.af0, div.af0
{mso-style-name:;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.af1, li.af1, div.af1
{mso-style-name:"样式 题注 + 居中";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
p.ListTitle, li.ListTitle, div.ListTitle
{mso-style-name:ListTitle;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.FigureTitle, li.FigureTitle, div.FigureTitle
{mso-style-name:FigureTitle;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.TableTitle, li.TableTitle, div.TableTitle
{mso-style-name:TableTitle;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.ProgramTitle, li.ProgramTitle, div.ProgramTitle
{mso-style-name:ProgramTitle;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.RightText, li.RightText, div.RightText
{mso-style-name:RightText;
margin-top:0cm;
margin-right:21.0pt;
margin-bottom:0cm;
margin-left:42.0pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
border:none;
padding:0cm;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.af2, li.af2, div.af2
{mso-style-name:;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.af3, li.af3, div.af3
{mso-style-name:;
mso-style-link:"关键词 Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
span.Char3
{mso-style-name:"关键词 Char";
mso-style-link:;
font-family:;}
p.af4, li.af4, div.af4
{mso-style-name:;
mso-style-link:"文件名 Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
span.Char4
{mso-style-name:"文件名 Char";
mso-style-link:;
font-family:;}
p.af5, li.af5, div.af5
{mso-style-name:;
mso-style-link:"选项 Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
span.Char5
{mso-style-name:"选项 Char";
mso-style-link:;
font-family:;}
p.af6, li.af6, div.af6
{mso-style-name:;
mso-style-link:"命令行 Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
span.Char6
{mso-style-name:"命令行 Char";
mso-style-link:;
font-family:;}
p.af7, li.af7, div.af7
{mso-style-name:;
mso-style-link:"函数名 Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
span.Char7
{mso-style-name:"函数名 Char";
mso-style-link:;
font-family:;}
p.af8, li.af8, div.af8
{mso-style-name:;
mso-style-link:"寄存器名 Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
span.Char8
{mso-style-name:"寄存器名 Char";
mso-style-link:;
font-family:"Times New Roman","serif";}
p.af9, li.af9, div.af9
{mso-style-name:;
mso-style-link:"变量名 Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman","serif";}
span.Char9
{mso-style-name:"变量名 Char";
mso-style-link:;
font-family:;}
p.58, li.58, div.58
{mso-style-name:5;
margin:0cm;
margin-bottom:.0001pt;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.59, li.59, div.59
{mso-style-name:5;
margin:0cm;
margin-bottom:.0001pt;
layout-grid-mode:char;
font-size:9.0pt;
font-family:"Times New Roman","serif";}
p.926, li.926, div.926
{mso-style-name:"样式 代码程序 + 左侧\: 9\.26 厘米";
margin:0cm;
margin-bottom:.0001pt;
layout-grid-mode:char;
font-size:10.0pt;
font-family:;}
span.5Char4
{mso-style-name:"标题 5 Char";
mso-style-link:"标题 5";
font-weight:bold;}
span.6Char0
{mso-style-name:"标题 6 Char";
mso-style-link:"标题 6";
font-family:"Arial","sans-serif";
font-weight:bold;}
span.7Char
{mso-style-name:"标题 7 Char";
mso-style-link:"标题 7";
font-weight:bold;}
span.8Char
{mso-style-name:"标题 8 Char";
mso-style-link:"标题 8";
font-family:"Arial","sans-serif";}
span.9Char
{mso-style-name:"标题 9 Char";
mso-style-link:"标题 9";
font-family:"Arial","sans-serif";}
span.Chara
{mso-style-name:"脚注文本 Char";
mso-style-link:;
font-family:;}
span.Charb
{mso-style-name:"批注文字 Char";
mso-style-link:;
font-family:;}
span.Charc
{mso-style-name:"页眉 Char";
mso-style-link:;
font-family:;}
span.Chard
{mso-style-name:"页脚 Char";
mso-style-link:;
font-family:;}
span.Chare
{mso-style-name:"日期 Char";
mso-style-link:;
font-family:;}
span.HTMLChar
{mso-style-name:"HTML 预设格式 Char\,HTML 预先格式化 Char\,HTML 预先格式化1 Char\,HTML 预先格式化2 Char\,HTML 预先格式化3 Char";
mso-style-link:"HTML 预设格式\,HTML 预先格式化\,HTML 预先格式化1\,HTML 预先格式化2\,HTML 预先格式化3";
font-family:;}
span.Charf
{mso-style-name:"批注主题 Char";
mso-style-link:;
font-family:;
font-weight:bold;}
span.Charf0
{mso-style-name:"批注框文本 Char";
mso-style-link:;
font-family:;}
.MsoChpDefault
{font-size:10.0pt;}
/* Page Definitions */
@page WordSection1
{size:595.3pt 841.9pt;
margin:72.0pt 54.0pt 72.0pt 54.0pt;
layout-grid:15.6pt;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
-->
</style>
</head>
<body lang=ZH-CN link=blue vlink=purple style='text-justify-trim:punctuation'>
<div class=WordSection1 style='layout-grid:15.6pt'>
<p class=ab><span style='font-family:黑体'>程序</span><span lang=EN-US>14-24
linux/include/linux/math_emu.h</span></p>
<div class=MsoNormal align=center style='text-align:center;layout-grid-mode:
char'><span lang=EN-US style='font-size:10.0pt'>
<hr size=4 width="100%" align=center>
</span></div>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp; 1 <b><i>/*</i></b></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp; 2 <b><i>&nbsp;*
linux/include/linux/math_emu.h</i></b></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp; 3&nbsp; <b><i>*</i></b></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp; 4&nbsp; <b><i>* (C) 1991 Linus
Torvalds</i></b></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp; 5&nbsp; <b><i>*/</i></b></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp; 6 #ifndef _LINUX_MATH_EMU_H</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp; 7 #define _LINUX_MATH_EMU_H</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp; 8 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp; 9 #include
&lt;linux/sched.h&gt;&nbsp; // </span><span style='font-size:10.0pt'>调度程序头文件。定义了任务结构<span
lang=EN-US>task_struct</span>、任务<span lang=EN-US>0 </span>的数据,</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><span style='font-size:10.0pt'>还有一些有关描述符参数设置和获取的嵌入式汇编函数宏语句。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;10 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // CPU</span><span
style='font-size:10.0pt'>产生异常中断<span lang=EN-US>int 7</span>时在栈中分布的数据构成的结构,与系统调用时内核栈中数据分布类似。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;11 struct info {</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
long ___math_ret;&nbsp;&nbsp;&nbsp;&nbsp; // math_emulate()</span><span
style='font-size:10.0pt'>调用者(<span lang=EN-US>int7</span>)返回地址。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
long ___orig_eip; &nbsp;&nbsp;&nbsp;&nbsp;// </span><span style='font-size:
10.0pt'>临时保存原<span lang=EN-US>EIP </span>的地方。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
long ___edi;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>异常中断<span lang=EN-US>int7 </span>处理过程入栈的寄存器。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;15&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
long ___esi;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
long ___ebp;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;17&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
long ___sys_call_ret; // </span><span style='font-size:10.0pt'>中断<span
lang=EN-US>7 </span>返回时将去执行系统调用的返回处理代码。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;18&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
long ___eax;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>以下部分(<span lang=EN-US>18--30 </span>行)与系统调用时栈中结构相同。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;19&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___ebx;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;20&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___ecx;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;21&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___edx;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
long ___orig_eax;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span style='font-size:
10.0pt'>如不是系统调用而是其它中断时,该值为<span lang=EN-US>-1</span></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;23&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___fs;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;24&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___es;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;25&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___ds;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
long ___eip;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 26 -- 30 </span><span
style='font-size:10.0pt'>行 由<span lang=EN-US>CPU </span>自动入栈。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;27&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___cs;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;28&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___eflags;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;29&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___esp;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;30&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___ss;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;31 };</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;32 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>为便于引用<span lang=EN-US>info</span>结构中各字段(栈中数据)所定义的一些常量。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;33 #define EAX (info-&gt;___eax)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;34 #define EBX (info-&gt;___ebx)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;35 #define ECX (info-&gt;___ecx)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;36 #define EDX (info-&gt;___edx)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;37 #define ESI (info-&gt;___esi)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;38 #define EDI (info-&gt;___edi)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;39 #define EBP (info-&gt;___ebp)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;40 #define ESP (info-&gt;___esp)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;41 #define EIP (info-&gt;___eip)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;42 #define ORIG_EIP
(info-&gt;___orig_eip)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;43 #define EFLAGS (info-&gt;___eflags)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;44 #define DS (*(unsigned short *)
&amp;(info-&gt;___ds))</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;45 #define ES (*(unsigned short *)
&amp;(info-&gt;___es))</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;46 #define FS (*(unsigned short *)
&amp;(info-&gt;___fs))</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;47 #define CS (*(unsigned short *)
&amp;(info-&gt;___cs))</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;48 #define SS (*(unsigned short *)
&amp;(info-&gt;___ss))</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;49 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>终止数学协处理器仿真操作。在<span lang=EN-US>math_emulation.c</span>程序中实现<span
lang=EN-US>(L488</span>行)。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>下面<span lang=EN-US>52-53</span>行上宏定义的实际作用是把<span
lang=EN-US>__math_abort</span>重新定义为一个不会返回的函数</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>(即在前面加上了<span lang=EN-US>volatile</span>)。该宏的前部分:</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // (volatile void
(*)(struct info *,unsigned int)) </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>是函数类型定义,用于重新指明<span lang=EN-US> __math_abort</span>函数的定义。后面是其相应的参数。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>关键词<span lang=EN-US>volatile </span>放在函数名前来修饰函数,是用来通知<span
lang=EN-US>gcc </span>编译器该函数不会返回<span lang=EN-US>,</span></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>以让<span lang=EN-US>gcc </span>产生更好一些的代码。详细说明请参见第<span
lang=EN-US>3</span><span lang=EN-US> $3.3.2</span>节内容。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>因此下面的宏定义,其主要目的就是利用<span lang=EN-US>__math_abort</span>,让它即可用作普通有返回函数,</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>又可以在使用宏定义<span lang=EN-US>math_abort() </span>时用作不返回的函数。
</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;50 void __math_abort(struct info *,
unsigned int);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;51 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;52 #define math_abort(x,y) \</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;53 (((volatile void (*)(struct info
*,unsigned int)) __math_abort)((x),(y)))</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;54&nbsp; </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;55 /*</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><b><i><span
lang=EN-US style='font-size:10.0pt'>&nbsp;</span></i></b><span lang=EN-US
style='font-size:10.0pt'>56 <b><i>&nbsp;* Gcc forces this stupid alignment
problem: I want to use only two longs</i></b></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><b><i><span
lang=EN-US style='font-size:10.0pt'>&nbsp;</span></i></b><span lang=EN-US
style='font-size:10.0pt'>57 <b><i>&nbsp;* for the temporary real 64-bit
mantissa, but then gcc aligns out the</i></b></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><b><i><span
lang=EN-US style='font-size:10.0pt'>&nbsp;</span></i></b><span lang=EN-US
style='font-size:10.0pt'>58 <b><i>&nbsp;* structure to 12 bytes which breaks
things in math_emulate.c. Shit. I</i></b></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><b><i><span
lang=EN-US style='font-size:10.0pt'>&nbsp;</span></i></b><span lang=EN-US
style='font-size:10.0pt'>59 <b><i>&nbsp;* want some kind of
&quot;no-alignt&quot; pragma or something.</i></b></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><b><i><span
lang=EN-US style='font-size:10.0pt'>&nbsp;</span></i></b><span lang=EN-US
style='font-size:10.0pt'>60 <b><i>&nbsp;*/</i></b></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; /*</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp; * Gcc</span><span
style='font-size:10.0pt'>会强迫这种愚蠢的对齐问题:我只想使用两个<span lang=EN-US>long</span>类型数据来表示<span
lang=EN-US>64</span>比特的</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp; * </span><span
style='font-size:10.0pt'>临时实数尾数,但是<span lang=EN-US>gcc</span>却会将该结构以<span
lang=EN-US>12</span>字节来对齐,这将导致<span lang=EN-US>math_emulate.c</span></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp; * </span><span
style='font-size:10.0pt'>中程序出问题。唉,我真需要某种非对齐“<span lang=EN-US>no-align</span>”编译指令。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp; */</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;61 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>临时实数对应的结构。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;62 typedef struct {</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;63 &nbsp;&nbsp;&nbsp;&nbsp; long
a,b;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'><span lang=EN-US>64</span>比特尾数。其中<span lang=EN-US>a</span>为低<span
lang=EN-US>32</span>位,<span lang=EN-US>b</span>为高<span lang=EN-US>32</span>位(包括<span
lang=EN-US>1</span>位固定位)。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;64 &nbsp;&nbsp;&nbsp;&nbsp; short
exponent;&nbsp;&nbsp;&nbsp; // </span><span style='font-size:10.0pt'>指数值。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;65 } temp_real;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;66 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>为了解决上面英文注释中所提及的对齐问题而设计的结构,作用同上面<span lang=EN-US>temp_real</span>结构。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;67 typedef struct {</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;68 &nbsp;&nbsp;&nbsp;&nbsp; short
m0,m1,m2,m3;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;69 &nbsp;&nbsp;&nbsp;&nbsp; short
exponent;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;70 } temp_real_unaligned;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;71 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'><span lang=EN-US>temp_real</span>类型值<span lang=EN-US>a</span>赋值给<span
lang=EN-US>80387</span>栈寄存器<span lang=EN-US>b (ST(i))</span></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;72 #define real_to_real(a,b) \</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;73 ((*(long long *) (b) = *(long long
*) (a)),((b)-&gt;exponent = (a)-&gt;exponent))</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;74 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>长实数(双精度)结构。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;75 typedef struct {</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;76 &nbsp;&nbsp;&nbsp;&nbsp; long
a,b;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // a </span><span
style='font-size:10.0pt'>为长实数的低<span lang=EN-US>32</span>位;<span lang=EN-US>b</span>为高<span
lang=EN-US>32</span>位。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;77 } long_real;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;78 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;79 typedef long short_real;&nbsp; // </span><span
style='font-size:10.0pt'>定义短实数类型。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;80</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>临时整数结构。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;81 typedef struct {</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;82 &nbsp;&nbsp;&nbsp;&nbsp; long
a,b;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // a </span><span
style='font-size:10.0pt'>为低<span lang=EN-US>32</span>位;<span lang=EN-US>b</span>为高<span
lang=EN-US>32</span>位。 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;83 &nbsp;&nbsp;&nbsp;&nbsp; short
sign;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span style='font-size:
10.0pt'>符号标志。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;84 } temp_int;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;85 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // 80387</span><span
style='font-size:10.0pt'>协处理器内部的状态字寄存器内容对应的结构。(参见图<span lang=EN-US>11-6</span></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;86 struct swd {</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;87 &nbsp;&nbsp;&nbsp;&nbsp; int
ie:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>无效操作异常。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;88 &nbsp;&nbsp;&nbsp;&nbsp; int
de:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>非规格化异常。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;89 &nbsp;&nbsp;&nbsp;&nbsp; int
ze:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>除零异常。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;90 &nbsp;&nbsp;&nbsp;&nbsp; int
oe:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>上溢出异常。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;91 &nbsp;&nbsp;&nbsp;&nbsp; int
ue:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>下溢出异常。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;92 &nbsp;&nbsp;&nbsp;&nbsp; int
pe:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>精度异常。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;93 &nbsp;&nbsp;&nbsp;&nbsp; int
sf:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>栈出错标志,表示累加器溢出造成的异常。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;94 &nbsp;&nbsp;&nbsp;&nbsp; int
ir:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // ir, b: </span><span
style='font-size:10.0pt'>若上面<span lang=EN-US>6</span>位任何未屏蔽异常发生,则置位。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;95 &nbsp;&nbsp;&nbsp;&nbsp; int
c0:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // c0--c3: </span><span
style='font-size:10.0pt'>条件码比特位。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;96 &nbsp;&nbsp;&nbsp;&nbsp; int c1:1;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;97 &nbsp;&nbsp;&nbsp;&nbsp; int c2:1;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;98 &nbsp;&nbsp;&nbsp;&nbsp; int
top:3;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>指示<span lang=EN-US>80387</span>中当前位于栈顶的<span
lang=EN-US>80</span>位寄存器。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;99 &nbsp;&nbsp;&nbsp;&nbsp; int c3:1;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>100 &nbsp;&nbsp;&nbsp;&nbsp; int b:1;</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>101 };</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>102 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // 80387</span><span
style='font-size:10.0pt'>内部寄存器控制方式常量。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>103 #define I387
(current-&gt;tss.i387)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
</span><span style='font-size:10.0pt'>进程的<span lang=EN-US>80387</span>状态信息。参见<span
lang=EN-US>sched.h</span>文件。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>104 #define SWD (*(struct swd *)
&amp;I387.swd)&nbsp;&nbsp; // 80387</span><span style='font-size:10.0pt'>中状态控制字。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>105 #define ROUNDING ((I387.cwd &gt;&gt;
10) &amp; 3)&nbsp;&nbsp; // </span><span style='font-size:10.0pt'>取控制字中舍入控制方式。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>106 #define PRECISION ((I387.cwd &gt;&gt;
8) &amp; 3)&nbsp;&nbsp; // </span><span style='font-size:10.0pt'>取控制字中精度控制方式。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>107 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>定义精度有效位常量。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>108 #define BITS24&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><span style='font-size:10.0pt'>精度有效数:<span lang=EN-US>24</span>位。(参见图<span
lang=EN-US>11-6</span></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>109 #define BITS53&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><span style='font-size:10.0pt'>精度有效数:<span lang=EN-US>53</span>位。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>110 #define BITS64&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><span style='font-size:10.0pt'>精度有效数:<span lang=EN-US>64</span>位。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>111 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>定义舍入方式常量。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>112 #define ROUND_NEAREST&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><span style='font-size:10.0pt'>舍入方式:舍入到最近或偶数。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>113 #define ROUND_DOWN&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><span style='font-size:10.0pt'>舍入方式:趋向负无限。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>114 #define ROUND_UP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><span style='font-size:10.0pt'>舍入方式:趋向正无限。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>115 #define ROUND_0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><span style='font-size:10.0pt'>舍入方式:趋向截<span lang=EN-US>0</span></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>116 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>常数定义。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>117 #define CONSTZ&nbsp;&nbsp;
(temp_real_unaligned) {0x0000,0x0000,0x0000,0x0000,0x0000}&nbsp; // 0</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>118 #define CONST1&nbsp;&nbsp;
(temp_real_unaligned) {0x0000,0x0000,0x0000,0x8000,0x3FFF}&nbsp; // 1.0</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>119 #define CONSTPI&nbsp;
(temp_real_unaligned) {0xC235,0x2168,0xDAA2,0xC90F,0x4000}&nbsp; // Pi</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>120 #define CONSTLN2 (temp_real_unaligned)
{0x79AC,0xD1CF,0x17F7,0xB172,0x3FFE}&nbsp; // Loge(2)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>121 #define CONSTLG2 (temp_real_unaligned)
{0xF799,0xFBCF,0x9A84,0x9A20,0x3FFD}&nbsp; // Log10(2)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>122 #define CONSTL2E (temp_real_unaligned)
{0xF0BC,0x5C17,0x3B29,0xB8AA,0x3FFF}&nbsp; // Log2(e)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>123 #define CONSTL2T (temp_real_unaligned)
{0x8AFE,0xCD1B,0x784B,0xD49A,0x4000}&nbsp; // Log2(10)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>124 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>设置<span lang=EN-US>80387</span>各状态</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>125 #define set_IE() (I387.swd |=
1)&nbsp;&nbsp;&nbsp; </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>126 #define set_DE() (I387.swd |= 2)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>127 #define set_ZE() (I387.swd |= 4)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>128 #define set_OE() (I387.swd |= 8)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>129 #define set_UE() (I387.swd |= 16)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>130 #define set_PE() (I387.swd |= 32)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>131 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>设置<span lang=EN-US>80387</span>各控制条件</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>132 #define set_C0() (I387.swd |= 0x0100)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>133 #define set_C1() (I387.swd |= 0x0200)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>134 #define set_C2() (I387.swd |= 0x0400)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>135 #define set_C3() (I387.swd |= 0x4000)</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>136 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>137 <b><i>/* ea.c */</i></b></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>138 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>计算仿真指令中操作数使用到的有效地址值,即根据指令中寻址模式字节计算有效地址值。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>参数:<span lang=EN-US>__info - </span>中断时栈中内容对应结构;<span
lang=EN-US>__code - </span>指令代码。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>返回:有效地址值。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>139 char * ea(struct info * __info,
unsigned short __code);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>140 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>141 <b><i>/* convert.c */</i></b></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>142 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>各种数据类型转换函数。在<span lang=EN-US>convert.c</span>文件中实现。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>143 void short_to_temp(const short_real *
__a, temp_real * __b);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>144 void long_to_temp(const long_real *
__a, temp_real * __b);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>145 void temp_to_short(const temp_real *
__a, short_real * __b);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>146 void temp_to_long(const temp_real *
__a, long_real * __b);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>147 void real_to_int(const temp_real * __a,
temp_int * __b);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>148 void int_to_real(const temp_int * __a,
temp_real * __b);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>149 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>150 <b><i>/* get_put.c */</i></b></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>151 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>存取各种类型数的函数。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>152 void get_short_real(temp_real *, struct
info *, unsigned short);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>153 void get_long_real(temp_real *, struct
info *, unsigned short);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>154 void get_temp_real(temp_real *, struct
info *, unsigned short);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>155 void get_short_int(temp_real *, struct
info *, unsigned short);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>156 void get_long_int(temp_real *, struct
info *, unsigned short);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>157 void get_longlong_int(temp_real *,
struct info *, unsigned short);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>158 void get_BCD(temp_real *, struct info
*, unsigned short);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>159 void put_short_real(const temp_real *,
struct info *, unsigned short);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>160 void put_long_real(const temp_real *,
struct info *, unsigned short);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>161 void put_temp_real(const temp_real *,
struct info *, unsigned short);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>162 void put_short_int(const temp_real *,
struct info *, unsigned short);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>163 void put_long_int(const temp_real *,
struct info *, unsigned short);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>164 void put_longlong_int(const temp_real
*, struct info *, unsigned short);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>165 void put_BCD(const temp_real *, struct
info *, unsigned short);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>166 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>167 <b><i>/* add.c */</i></b></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>168 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>仿真浮点加法指令的函数。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>169 void fadd(const temp_real *, const
temp_real *, temp_real *);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>170 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>171 <b><i>/* mul.c */</i></b></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>172 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>仿真浮点乘法指令。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>173 void fmul(const temp_real *, const
temp_real *, temp_real *);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>174 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>175 <b><i>/* div.c */</i></b></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>176 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>仿真浮点除法指令。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>177 void fdiv(const temp_real *, const temp_real
*, temp_real *);</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>178 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>179 <b><i>/* compare.c */</i></b></span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>180 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>比较函数。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>181 void fcom(const temp_real *, const
temp_real *); &nbsp;&nbsp;&nbsp;// </span><span style='font-size:10.0pt'>仿真浮点指令<span
lang=EN-US>FCOM</span>,比较两个数。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>182 void fucom(const temp_real *, const
temp_real *); &nbsp;&nbsp;// </span><span style='font-size:10.0pt'>仿真浮点指令<span
lang=EN-US>FUCOM</span>,无次序比较。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>183 void ftst(const temp_real *);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;// </span><span style='font-size:10.0pt'>仿真浮点指令<span
lang=EN-US>FTST</span>,栈顶累加器与<span lang=EN-US>0</span>比较。</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>184 </span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>185 #endif</span></p>
<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>186</span></p>
<div class=MsoNormal align=right style='text-align:right;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>
<hr size=4 width="100%" align=right>
</span></div>
<p class=MsoNormal><span lang=EN-US>&nbsp;</span></p>
</div>
</body>
</html>