《80x86汇编语言程序设计》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:沈美明,温冬婵编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2001
  • ISBN:7302045402
  • 页数:615 页
图书介绍:本书介绍汇编语言程序设计的内容。

前言 1

第1章 基础知识 1

1.1 进位记数制与不同基数的数之间的转换 1

1.1.1 二进制数 1

前言页 1

1.1.2 二进制数和十进制数之间的转换 2

1.1.3 十六进制数及其与二进制数、十进制数之间的转换 3

1.2 二进制数和十六进制数运算 5

1.2.1 二进制数运算 5

1.2.2 十六进制数运算 5

1.3 计算机中数和字符的表示 6

1.3.1 数的补码表示 6

1.3.2 补码的加法和减法 8

1.3.3 无符号整数 10

1.3.4 字符表示法 10

1.4.1 “与”运算(AND) 11

1.4 几种基本的逻辑运算 11

1.4.2 “或”运算(OR) 12

1.4.3 “非”运算(NOT) 12

1.4.4 “异或”运算(XOR,exclusive-OR) 12

习题 13

第2章 80x86计算机组织 14

2.1 80x86微处理器 14

2.2 基于微处理器的计算机系统构成 16

2.2.1 硬件 16

2.2.2 软件 17

2.3 中央处理机 18

2.3.1 中央处理机(CPU)的组成 18

2.3.2 80x86寄存器组 19

2.4 存储器 23

2.4.1 存储单元的地址和内容 23

2.4.2 实模式存储器寻址 25

2.4.3 保护模式存储器寻址 29

2.5 外部设备 34

习题 35

第3章 80x86的指令系统和寻址方式 38

3.1 80x86的寻址方式 39

3.1.1 与数据有关的寻址方式 39

3.1.2 与转移地址有关的寻址方式 47

3.2 80x86机器语言指令概况 49

3.2.1 操作码的机器语言表示 50

3.2.2 寻址方式的机器语言表示 50

3.2.3 加法的机器指令举例 52

3.2.4 指令的执行时间 55

3.2.5 32位指令格式简介 57

3.3 80x86的指令系统 58

3.3.1 数据传送指令 58

3.3.2 算术指令 69

3.3.3 逻辑指令 86

3.3.4 串处理指令 92

3.3.5 控制转移指令 100

3.3.6 处理机控制与杂项操作指令 120

习题 123

第4章 汇编语言程序格式 134

4.1 汇编程序功能 134

4.2 伪操作 135

4.2.1 处理器选择伪操作 135

4.2.2 段定义伪操作 135

4.2.3 程序开始和结束伪操作 143

4.2.4 数据定义及存储器分配伪操作 144

4.2.5 表达式赋值伪操作EQU 149

4.2.6 地址计数器与对准伪操作 150

4.3 汇编语言程序格式 152

4.2.7 基数控制伪操作 152

4.3.1 名字项 153

4.3.2 操作项 154

4.3.3 操作数项 154

4.3.4 注释项 159

4.4 汇编语言程序的上机过程 161

4.4.1 建立汇编语言的工作环境 161

4.4.2 建立ASM文件 162

4.4.3 用MASM程序产生OBJ文件 163

4.4.4 用LINK程序产生EXE文件 166

4.4.5 程序的执行 167

4.4.6 COM文件 169

习题 170

第5章 循环与分支程序设计 175

5.1 循环程序设计 175

5.1.1 循环程序的结构形式 175

5.1.2 循环程序设计方法 176

5.1.3 多重循环程序设计 186

5.2 分支程序设计 191

5.2.1 分支程序的结构形式 191

5.2.2 分支程序设计方法 191

5.2.3 跳跃表法 195

5.3 如何在实模式下发挥80386及其后继机型的优势 200

5.3.1 充分利用高档机的32位字长特性 200

5.3.2 通用寄存器可作为指针寄存器 204

5.3.3 与比例因子有关的寻址方式 204

5.3.4 各种机型提供的新指令 207

习题 209

第6章 子程序结构 212

6.1 子程序的设计方法 212

6.1.1 过程定义伪操作 212

6.1.3 保存与恢复寄存器 214

6.1.2 子程序的调用和返回 214

6.1.4 子程序的参数传送 215

6.1.5 增强功能的过程定义伪操作 228

6.2 嵌套与递归子程序 233

6.2.1 子程序的嵌套 233

6.2.2 递归子程序 234

6.3 子程序举例 241

6.4 DOS系统功能调用 255

习题 256

第7章 高级汇编语言技术 261

7.1 宏汇编 261

7.1.1 宏定义、宏调用和宏展开 261

7.1.2 宏定义中的参数 263

7.1.3 LOCAL伪操作 268

7.1.4 在宏定义内使用宏 269

7.1.5 列表伪操作 271

7.1.6 宏库的建立与调用 274

7.1.7 PURGE伪操作 276

7.2 重复汇编 277

7.2.1 重复伪操作 277

7.2.2 不定重复伪操作 279

7.3 条件汇编 281

7.3.1 条件伪操作IF的使用举例 282

7.3.2 条件伪操作IF1的使用举例 284

7.3.3 条件伪操作IFNDEF的使用举例 285

7.3.4 条件伪操作IFB的使用举例 290

7.3.5 条件伪操作IFEDN的使用举例 291

7.4 高级语言结构 293

7.4.1 .IF/.ELSEIF/.ELSE/.ENDIF 293

7.4.2 .WHILE/.ENDW 295

7.4.3 .REPEAT/.UNTIL和.REPEAT/.UNTILCXZ 296

7.4.4 .BREAK和.CONTINUE 298

7.4.5 高级语言结构中使用的表达式 300

习题 301

第8章 输入输出程序设计 305

8.1 I/O设备的数据传送方式 305

8.1.1 CPU与外设 305

8.1.2 直接存储器存取方式 305

8.2 程序直接控制I/O方式 306

8.2.1 I/O端口 306

8.2.2 I/O指令 307

8.2.3 I/O程序举例 308

8.3 中断传送方式 312

8.3.1 8086的中断分类 313

8.3.2 中断向量表 315

8.3.3 中断过程 319

8.3.4 中断优先级的中断嵌套 320

8.3.5 中断处理程序 322

8.3.6 中断程序举例 323

8.4 80386输入输出 335

8.4.1 80386 I/O操作 335

8.4.2 I/O允许位图 336

8.5 80386的中断处理 336

8.5.1 80386的中断和异常 337

8.5.2 实地址下的中断处理 339

8.5.3 保护方式下的中断处理 340

8.5.4 虚拟8086方式下的中断处理 342

习题 343

第9章 BIOS和DOS中断 345

9.1 键盘I/O 347

9.1.1 字符码与扫描码 347

9.1.2 BIOS键盘中断 348

9.1.3 DOS键盘功能调用 349

9.2 显示器I/O 354

9.2.1 字符属性 354

9.2.2 BIOS显示中断 357

9.2.3 DOS显示功能调用 365

9.3 打印机I/O 366

9.3.1 DOS打印功能 367

9.3.2 打印的控制字符 368

9.3.3 BIOS打印功能 372

9.4 串行通信口I/O 375

9.4.1 串行通信接口 375

9.4.2 串行口功能调用 378

9.4.3 串行通信口中断 383

习题 392

10.1.1 显示分辨率 394

10.1 显示方式 394

第10章 彩色图形程序设计 394

10.1.2 BIOS设置显示方式 395

10.1.3 确定显示适配器 397

10.2 视频显示存储器 398

10.2.1 图形存储器映象 398

10.2.2 数据到颜色的转换 401

10.2.3 直接视频显示 402

10.3 EGA/VGA图形程序设计 405

10.3.1 读写像素 406

10.3.2 图形方式下的文本显示 411

10.3.3 彩色绘图程序 414

10.4 计算机动画 418

10.4.1 动画显示技术 419

10.4.2 交互式动画 422

10.4.3 游戏程序实例 424

习题 445

第11章 发声系统的程序设计 447

11.1 可编程内部定时器8253/54 447

11.1.1 编程结构 447

11.1.2 操作模式 447

11.1.3 控制字 450

11.1.4 IBM PC 8253/54定时器的使用 451

11.2 通用发声程序 452

11.2.1 扬声器驱动方式 452

11.2.2 通用发声程序GENSOUND 453

11.2.3 80x86 PC的时间延迟 456

11.3 乐曲程序 457

11.3.1 音调与频率和时间的关系 457

11.3.2 演奏乐曲的程序 458

11.3.3 键盘控制发声程序 460

11.4 报警程序 467

习题 472

第12章 磁盘文件存取技术 474

12.1 磁盘的记录方式 474

12.1.1 磁盘记录信息的地址 474

12.1.2 磁盘系统区和数据区 476

12.1.3 磁盘目录及文件分配表 476

12.2 文件代号式磁盘存取 478

12.2.1 路径名和ASCIZ串 479

12.2.2 文件代号和错误返回代码 479

12.2.3 文件属性 480

12.2.4 写磁盘文件 481

12.2.5 读磁盘文件 486

12.2.6 移动读写指针 491

12.3 字符设备的文件代号式I/O 497

12.4 利用文件控制块的磁盘存取方式 500

12.4.1 文件控制块 501

12.4.2 建立磁盘文件 503

12.4.3 顺序读磁盘文件 509

12.4.4 随机存取磁盘文件 513

12.4.5 绝对磁盘I/O 516

12.5 BIOS磁盘存取功能 517

12.5.1 BIOS磁盘操作 517

12.5.2 状态字节 519

12.5.3 BIOS磁盘操作举例 519

习题 522

第13章 模块化程序设计 524

13.1 汇编程序概述 524

13.1.1 汇编程序的主要工具 524

13.1.2 汇编过程 526

13.1.3 几个问题 527

13.2.1 连接程序的主要功能 529

13.2 连接程序及连接对程序设计的要求 529

13.2.2 连接对程序设计的要求 530

13.3 汇编语言程序与高级语言程序的连接 547

13.3.1 直接插入法 547

13.3.2 C语言程序调用汇编语言过程法 548

13.4 模块化程序设计概述 552

13.4.1 模块化程序设计 553

13.4.2 结构化程序设计 555

13.4.3 程序设计举例 556

习题 564

参考文献 569

附录1 80x86指令系统一览表 570

附录2 伪操作与操作符表 588

附录3 中断向量地址一览表 603

附录4 DOS系统功能调用(INT 21H) 605

附录5 BIOS功能调用 611