《387、486与Pentium的数值编程》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(美)Julio Sanchez,(美)Maria P.Canton著;刘吉峰,李慧军译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:1995
  • ISBN:7505330381
  • 页数:483 页
图书介绍:

第1章计算机与数制 1

本章概要 1

1.0 计数 1

1.0.1计数系统 1

目录 1

1.0.2罗马数字 2

1.1现行数制的由来 3

1.1.1数字电子计算机使用的数制 4

1.1.2位置特征 4

1.1.3基数 4

1.2数据类型 5

1.2.1整数 5

1.2.2带符号整数 5

1.2.3有理数与无理数 5

1.3基数的表示 6

1.2.4实数与复数 6

1.3.1十进制数与二进制数 7

1.3.2八进制数与十六进制数 7

1.4计数理论 9

1.5数值转换 11

1.5.1二进制数转换为十进制数 11

1.5.2二进制数转换为十六进制数 14

1.5.3十进制数转换为二进制数 16

第2章计算机运算基础 22

本章概要 22

2.0电子数字计算机 22

2.1数值数据的存储 22

2.2整数的编码 24

2.2.1带符号数的表示 24

2.2.2基数补码表示 24

2.3小数的编码 28

2.3.1定点表示 31

2.3.2浮点表示 32

2.4标准化的浮点编码 32

2.4.1 IEEE754单精度格式中浮点数的符号 33

2.4.2IEEE 754单精度格式中浮点数的指数 33

2.4.3 IEEE 754单精度格式中浮点数的尾数 34

2.4.4浮点数的编码和译码 35

2.5二进制编码的十进制(BCD) 37

第3章十进制算术运算 61

本章概要 61

3.0 Intel微处理器 61

3.1.2逻辑“或”(OR) 64

3.1.3逻辑“非”(NOT) 64

3.1逻辑运算指令 64

3.1.1逻辑“与”(AND) 64

3.1.4逻辑“异或”(XOR) 65

3.2算术运算指令 65

3.2.1带符号数和不带符号数的算术运算 65

3.2.2十进制运算 66

3.3.1移位和循环移位 68

3.3.1.1 移位指令 68

3.3辅助指令和位操作指令 68

3.3.1.2位循环指令 70

3.3.1.3双精度移位指令 70

3.3.1.4移位指令和位循环指令的寻址方式 71

3.3.2比较指令、位扫描指令和位测试指令 72

3.3.3增1指令、减1指令和符号扩展指令 76

3.3.4 486和Pentium的专有指令 76

3.3.4.1 BSWAP 76

3.4 CPU识别 78

3.3.4.2 XADD 78

3.3.4.3CMPXCHG和CMPXCHG8B 78

第4章BCD算术运算的算法与程序 82

本章概要 82

4.0 BCD算术运算的应用 82

4.1 BCD算术运算的算法 83

4.2浮点BCD加法 84

4.3浮点BCD减法 85

4.4浮点BCD乘法 85

4.5浮点BCD除法 85

4.6程序 85

第5章浮点运算单元的硬件 123

本章概要 123

5.0数学处理器 123

5.1.1 FPU的应用 124

5.1 Intel公司的数值数据处理器(NDP) 124

5.1.2 NDP的局限性 125

5.1.3主处理器/协处理器接口 126

5.1.4 NDP的版本 127

5.1.4.1 8087 127

5.1.4.2 80287 127

5.1.4.3 80387和486SX 128

5.1.5 486和PentiumCPU中的数值处理单元 128

5.2检测并识别NDP 128

5.3 ANSI/IEEE 754标准 131

5.3.1数值数据的编码 132

5.3.2舍入 133

5.3.3区间算术运算 134

5.3.4对∞的处理 134

5.3.5非单个数(NaN) 135

5.3.6.3上溢异常 136

5.3.6.2零除异常 136

5.3.6异常 136

5.3.6.1无效操作异常 136

5.3.6.4下溢异常 137

5.3.6.5结果不准确异常 138

第6章数据的存储与转换 139

本章概要 139

6.0 FPU的数据格式 139

6.0.1二进制整数…………………………………………………………………(14D)6.0.2十进制整数 141

6.0.3二进制实数 141

6.1实数的特殊编码方式 143

6.2内存中的数值数据 144

6.2.1利用DW指令初始化数据 145

6.2.2利用DD和DQ指令初始化数据 145

6.2.3利用DT指令初始化数据 145

6.2.5对内存变量的操作 146

6.2.4特殊数的内存方式 146

6.3十进制数的转换 147

6.3.1 ANSI/IEEE754标准要求的转换 147

6.3.2 FPU_INPUT过程 148

6.3.2.1 10Y的计算 150

6.3.2.2附加说明 150

6.3.3 FPU_OUTPUT过程 150

6.3.4 ASCII_TO_EXP过程 151

6.4转换程序代码 152

第7章FPU的结构与指令集 187

本章概要 187

7.0 FPU的内部结构 187

7.0.1 FPU寄存器堆栈 187

7.0.2 FPU控制寄存器 189

7.0.3 FPU状态寄存器 192

7.0.4 FPL环境区 200

7.0.4.1特征字寄存器 200

7.0.4.2指令指针和数据指针 204

7.0.5 FPU状态区 204

7.1 FPU指令格式 204

7.1.1寄存器操作数 206

7.1.2内存操作数 207

7.2 FPU指令集 207

7.2.1数据传输指令 207

7.2.2非超越函数指令 209

7.2.2.1基本的算术指令 209

7.2.2.2求比例指令和求平方根指令 210

7.2.2.3部分求余指令 211

7.2.2.4部分求余指令的改进 213

7.2.2.5编码 214

7.2.3 比较指令 218

7.2.4超越函数指令 220

7.2.5常数指令 223

7.2.6处理器控制指令 224

第8章超越函数计算的基本例程 226

本章概要 226

8.0用于FPU环境的软件 226

8.1用FPU计算指数函数 227

8.1.1乘方的计算 228

8.1.1.1指数函数的对数算法 228

8.1.1.2二进制幂运算 231

8.1.1.3指数因子化 235

8.1.1.4算法的应用 245

8.1.1.5算法的精度与性能分析 246

8.2用FPU计算三角函数 248

8.2.1角度转换 249

8.2.2角度范围的操作 251

8.2.2.1缩减到单位圆 251

8.2.2.2缩小到第一象限 252

8.2.3用8087/80287计算三角函数 254

8.2.3.1用于计算正切、正弦和余弦的8087/80287例程 254

8.2.3.2 8087/80287计算三角函数的例程 256

8.2.4反三角函数的计算 267

8.2.5用80387、486和Pentium计算三角函数 272

8.3对数运算 274

8.3.1自然对数和常用对数的计算 274

8.3.2反对数的计算 275

9.0计算器操作 278

9.0.1双曲函数 278

本章概要 278

第9章支持例程的编程 278

9.0.2反双曲函数 282

9.0.3阶乘 284

9.0.4数值数据排序 286

9.0.5模数运算 288

9.0.6整数部分和小数部分 289

9.0.7求解三角形 290

9.1用于输入和输出的高级例程 292

9.2解二次方程 295

9.3带有虚数和复数问题的处理 297

9.3.1复数运算 298

9.3.2二次方程的实数根和虚数根 304

9.3.3极坐标和直角坐标间的转换 309

9.4财务计算 312

9.5出错处理例程 319

第10章线性系统编程 325

本章概要 325

10.0线性方程概述 325

10.0.1线性方程组 325

10.0.2线性方程组的矩阵表示 327

10.1矩阵形式的数值数据 328

10.1.1 内存中的矩阵 329

10.1.2矩阵元素 330

10.1.3矩阵的填充 330

10.1.4矩阵的显示 333

10.1.5矩阵元素的定位 335

10.2矩阵的运算 336

10.2.1 向量 337

10.2.2向量与标量运算 337

10.2.3矩阵与标量运算 344

10.2.4矩阵与矩阵运算 347

10.3解线性方程组 357

10.3.1高斯消去法 357

10.3.2高斯消去法中的误差 357

10.4另一种高斯算法 358

10.5使用高斯消去法的例程 359

第11章用FPU绘图 387

本章概要 387

11.0图形和数值编程 387

11.1 VGA结构 387

11.1.1 VGA模式 388

11.1.2 VGA的组成 389

11.1.2.1视屏存储器 389

11.1.2.2 VGA寄存器概述 390

11.2 VGA图形模式编程 397

11.3.1直线的绘制 403

11.3 VGA系统中曲线的绘制 403

11.3.2象素的平滑 405

11.3.3直线坐标的计算 407

11.3.4直线的显示 412

11.3.5二次曲线的绘制 413

11.3.5.1 圆 413

11.3.5.2椭圆 415

11.3.5.3抛物线 417

11.3.5.4双曲线 420

11.3.6二次曲线的显示 421

11.3.7 VGA图形模式下文本的显示 425

本章概要 428

12.0函数映射 428

第12章表达式求解 428

12.1开发一个语法分析器 429

12.2对用户的表达式进行计算 430

12.2.1表达式术语 430

12.2.2表达式语法 431

12.2.3符号表和数值数据 432

12.3代数语法分析器和求解算法 433

12.3.1计算例程的操作 433

12.3.2 CALCULATE_Y例程 456

12.4按表达式绘图 463

附录A MATHUNIT库 466

A1在汇编语言中使用MATHUNI 468

A2在高级语言中使用MATHUNIT 470

A3与Quickbasic的接口 470

A4与Microsoft/IBM C语言的接口 477

A5与Turbo Pascal的接口 481