图书介绍

INTEL汇编语言程序设计 第5版PDF|Epub|txt|kindle电子书版本网盘下载

INTEL汇编语言程序设计 第5版
  • (美)KIP R.IRVINE著;温玉杰 梅广宇 罗云彬等译 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121043994
  • 出版时间:2007
  • 标注页数:660页
  • 文件大小:34MB
  • 文件页数:690页
  • 主题词:汇编语言-程序设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

INTEL汇编语言程序设计 第5版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 基本概念1

1.1 欢迎来到汇编语言的世界1

1.1.1 一些精彩的提问2

1.1.2 汇编语言应用程序4

1.1.3 本节习题5

1.2 虚拟机的概念5

1.2.1 PC汇编编译器的历史7

1.2.2 本节习题7

1.3 数据的表示方法8

1.3.1 二进制数8

1.3.2 二进制加法10

1.3.3 整数存储的尺寸10

1.3.4 十六进制整数11

1.3.5 有符号整数12

1.3.6 字符的存储14

1.3.7 本节习题16

1.4 布尔运算17

1.4.1 布尔函数的真值表19

1.4.2 本节习题20

1.5 本章小结20

第2章 IA-32处理器体系结构22

2.1 基本概念22

2.1.1 微机的基本结构22

2.1.2 指令执行周期23

2.1.3 内存的读取26

2.1.4 程序是如何运行的27

2.1.5 本节习题29

2.2 IA-32处理器体系结构29

2.2.1 操作模式29

2.2.2 基本执行环境30

2.2.3 浮点单元32

2.2.4 Intel微处理器的历史33

2.2.5 本节习题34

2.3 IA-32的内存管理35

2.3.1 实地址模式35

2.3.2 保护模式37

2.3.3 本节习题39

2.4 IA-32微机的构成39

2.4.1 主板39

2.4.2 视频输出40

2.4.3 存储器41

2.4.4 输入输出接口41

2.4.5 本节习题42

2.5 输入输出系统42

2.5.1 所有这一切是如何工作的42

2.5.2 本节习题44

2.6 本章小结45

第3章 汇编语言基础47

3.1 汇编语言的基本元素47

3.1.1 整数常量47

3.1.2 整数表达式48

3.1.3 实数常量48

3.1.4 字符常量49

3.1.5 字符串常量49

3.1.6 保留字49

3.1.7 标识符49

3.1.8 伪指令50

3.1.9 指令50

3.1.10 NOP(空操作)指令52

3.1.11 本节习题53

3.2 例子:整数相加减53

3.2.1 AddSub的另一个版本55

3.2.2 程序模板56

3.2.3 本节习题56

3.3 汇编、链接和运行程序57

3.3.1 汇编-链接-执行57

3.3.2 本节习题59

3.4 定义数据59

3.4.1 内部数据类型59

3.4.2 数据定义语句59

3.4.3 定义BYTE和SBYTE数据60

3.4.4 定义WORD和SWORD数据62

3.4.5 定义DWORD和SDWORD数据62

3.4.6 定义QWORD数据63

3.4.7 定义TBYTE数据63

3.4.8 定义实数63

3.4.9 小尾顺序64

3.4.10 为AddSub程序添加变量64

3.4.11 未初始化数据的声明65

3.4.12 本节习题65

3.5 符号常量66

3.5.1 等号伪指令66

3.5.2 计算数组和字符串的大小67

3.5.3 EQU伪指令68

3.5.4 TEXTEQU伪指令68

3.5.5 本节习题69

3.6 实地址模式程序设计(可选)69

3.6.1 基本的修改69

3.7 本章小结70

3.8 编程练习71

第4章 数据传送、寻址和算术运算72

4.1 数据传送指令72

4.1.1 简介72

4.1.2 操作数类型72

4.1.3 直接内存操作数73

4.1.4 MOV指令73

4.1.5 整数的零/符号扩展74

4.1.6 LAHF和SAHF指令76

4.1.7 XCHG指令76

4.1.8 直接偏移操作数77

4.1.9 例子程序(数据传送)78

4.1.10 本节习题78

4.2 加法和减法79

4.2.1 INC和DEC指令79

4.2.2 ADD指令80

4.2.3 SUB指令80

4.2.4 NEG指令81

4.2.5 实现算术表达式81

4.2.6 加法和减法影响的标志81

4.2.7 例子程序(AddSub3)85

4.2.8 本节习题86

4.3 和数据相关的操作符和伪指令86

4.3.1 OFFSET操作符87

4.3.2 ALIGN伪指令87

4.3.3 PTR操作符88

4.3.4 TYPE操作符89

4.3.5 LENGTHOF操作符89

4.3.6 SIZEOF操作符89

4.3.7 LABEL伪指令90

4.3.8 本节习题90

4.4 间接寻址91

4.4.1 间接操作数91

4.4.2 数组92

4.4.3 变址操作数93

4.4.4 指针94

4.4.5 本节习题95

4.5 JMP和LOOP指令96

4.5.1 JMP指令96

4.5.2 LOOP指令97

4.5.3 整数数组求和98

4.5.4 复制字符串99

4.5.5 本节习题99

4.6 本章小结100

4.7 编程练习101

第5章 过程103

5.1 简介103

5.2 与外部库链接103

5.2.1 背景知识103

5.2.2 本节习题104

5.3 本书附带的链接库104

5.3.1 概述104

5.3.2 过程的描述106

5.3.3 库测试程序116

5.3.4 本节习题119

5.4 堆栈操作119

5.4.1 运行时栈120

5.4.2 PUSH和POP指令122

5.4.3 本节习题124

5.5 过程的定义和使用124

5.5.1 PROC伪指令125

5.5.2 CALL和RET指令126

5.5.3 例子:对整数数组求和129

5.5.4 流程图129

5.5.5 保存和恢复寄存器130

5.5.6 本节习题132

5.6 使用过程进行程序设计132

5.6.1 整数求和程序(设计)132

5.6.2 整数求和程序的实现134

5.6.3 本节习题136

5.7 本章小结136

5.8 编程练习137

第6章 条件处理139

6.1 简介139

6.2 布尔和比较指令139

6.2.1 CPU的状态标志140

6.2.2 AND指令140

6.2.3 OR指令141

6.2.4 XOR指令142

6.2.5 NOT指令143

6.2.6 TEST指令143

6.2.7 CMP指令144

6.2.8 设置和清除单个CPU状态标志145

6.2.9 本节习题145

6.3 条件跳转146

6.3.1 条件结构146

6.3.2 条件跳转(Jcond)指令146

6.3.3 条件跳转指令的类型147

6.3.4 条件跳转的应用151

6.3.5 位测试指令(可选)154

6.3.6 本节习题156

6.4 条件循环指令156

6.4.1 LOOPZ和LOOPE指令156

6.4.2 LOOPNZ和LOOPNE指令157

6.4.3 本节习题157

6.5 条件结构158

6.5.1 IF块结构语句158

6.5.2 复合表达式160

6.5.3 WHILE循环161

6.5.4 以表格驱动的分支选择163

6.5.5 本节习题165

6.6 应用:有限状态机166

6.6.1 输入字符串的验证166

6.6.2 有符号整数的验证167

6.6.3 本节习题170

6.7 决策伪指令170

6.7.1 有符号比较和无符号比较171

6.7.2 复合表达式172

6.7.3 .REPEAT和.WHILE伪指令174

6.8 本章小结175

6.9 编程练习176

第7章 整数算术指令179

7.1 简介179

7.2 移位和循环移位指令179

7.2.1 逻辑移位和算术移位180

7.2.2 SHL指令180

7.2.3 SHR指令181

7.2.4 SAL和SAR指令182

7.2.5 ROL指令182

7.2.6 ROR指令183

7.2.7 RCL和RCR指令183

7.2.8 符号溢出184

7.2.9 SHLD/SHRD指令184

7.2.10 本节习题185

7.3 移位和循环移位的应用186

7.3.1 多双字移位186

7.3.2 二进制乘法187

7.3.3 显示二进制数的数据位187

7.3.4 分离MS-DOS文件的各个日期域188

7.3.5 本节习题188

7.4 乘法和除法指令189

7.4.1 MUL指令189

7.4.2 IMUL指令190

7.4.3 乘法操作的基准(性能)测试192

7.4.4 DIV指令192

7.4.5 有符号整数除法193

7.4.6 算术表达式的实现195

7.4.7 本节习题196

7.5 扩展加法和减法197

7.5.1 ADC指令197

7.5.2 扩展加法的例子198

7.5.3 SBB指令199

7.5.4 本节习题199

7.6 ASCII和未压缩十进制算术指令200

7.6.1 AAA指令201

7.6.2 AAS指令202

7.6.3 AAM指令202

7.6.4 AAD指令203

7.6.5 本节习题203

7.7 压缩十进制算术指令203

7.7.1 DAA指令204

7.7.2 DAS指令205

7.7.3 本节习题205

7.8 本章小结205

7.9 编程练习206

第8章 高级过程208

8.1 简介208

8.2 堆栈框架208

8.2.1 堆栈参数209

8.2.2 局部变量216

8.2.3 ENTER和LEAVE指令219

8.2.4 LOCAL伪指令220

8.2.5 过程WriteStackFrame223

8.2.6 本节习题224

8.3 递归225

8.3.1 递归求和225

8.3.2 计算阶乘226

8.3.3 本节习题228

8.4 .MODEL伪指令229

8.4.1 语言选项关键字229

8.4.2 本节习题231

8.5 INVOKE,ADDR,PROC和PROTO(可选)231

8.5.1 INVOKE伪指令231

8.5.2 ADDR操作符232

8.5.3 PROC伪指令232

8.5.4 PROTO伪指令235

8.5.5 参数分类237

8.5.6 例子:交换两个整数238

8.5.7 调试疑难提示239

8.5.8 本节习题239

8.6 创建多模块程序240

8.6.1 过程名的隐藏和导出240

8.6.2 调用外部过程241

8.6.3 跨越模块的边界使用变量和符号241

8.6.4 例子:ArraySum程序242

8.6.5 使用ENTERN创建模块243

8.6.6 使用INVOKE和PROTO创建模块246

8.6.7 本节习题248

8.7 本章小结248

8.8 编程练习249

第9章 字符串和数组251

9.1 简介251

9.2 基本字符串操作指令251

9.2.1 MOVSB,MOVSW和MOVSD指令252

9.2.2 CMPSB,CMPSW和CMPSD指令253

9.2.3 SCASB,SCASW和SCASD指令255

9.2.4 STOSB,STOSW和STOSD指令255

9.2.5 LODSB,LODSW和LODSD指令256

9.2.6 本节习题256

9.3 精选的字符串过程257

9.3.1 Str_compare过程257

9.3.2 Str_length过程258

9.3.3 Str_copy过程258

9.3.4 Str_trim过程259

9.3.5 Str_ucase过程260

9.3.6 字符串库演示程序261

9.3.7 本节习题263

9.4 二维数组263

9.4.1 行和列的顺序263

9.4.2 基址变址操作数263

9.4.3 相对基址变址操作数265

9.4.4 本节习题266

9.5 整数数组的查找和排序266

9.5.1 冒泡排序法266

9.5.2 二分查找268

9.5.3 本节习题274

9.6 本章小结274

9.7 编程练习275

第10章 结构和宏279

10.1 结构279

10.1.1 定义结构279

10.1.2 声明结构变量281

10.1.3 引用结构变量282

10.1.4 例子:显示系统时间284

10.1.5 结构的嵌套286

10.1.6 例子:醉汉走路286

10.1.7 联合的声明和使用289

10.1.8 本节习题291

10.2 宏292

10.2.1 概述292

10.2.2 宏的定义292

10.2.3 宏的调用293

10.2.4 宏的其他特性294

10.2.5 使用本书附带的宏库297

10.2.6 例子程序:封装302

10.2.7 本节习题303

10.3 条件汇编伪指令304

10.3.1 检查缺少的参数305

10.3.2 默认的参数初始化值306

10.3.3 布尔表达式306

10.3.4 IF,ELSE和ENDIF伪指令306

10.3.5 IFIDN和IFIDNI伪指令307

10.3.6 例子:对矩阵行求和308

10.3.7 特殊操作符310

10.3.8 宏函数313

10.3.9 本节习题314

10.4 定义重复块315

10.4.1 WHILE伪指令315

10.4.2 REPEAT伪指令316

10.4.3 FOR伪指令316

10.4.4 FORC伪指令317

10.4.5 例子:链表318

10.4.6 本节习题319

10.5 本章小结320

10.6 编程练习320

第11章 MS-Windows程序设计323

11.1 Win32控制台编程323

11.1.1 背景知识324

11.1.2 Win32控制台函数327

11.1.3 显示消息框328

11.1.4 控制台输入330

11.1.5 控制台输出335

11.1.6 文件的读写337

11.1.7 Irvine32库的文件I/O过程341

11.1.8 测试文件I/O过程342

11.1.9 控制台窗口的操作345

11.1.10 光标的控制348

11.1.11 文本颜色的控制348

11.1.12 时间和日期函数350

11.1.13 本节习题353

11.2 编写Windows图形界面应用程序354

11.2.1 必须了解的数据结构354

11.2.2 MessageBox函数356

11.2.3 WinMain过程356

11.2.4 WinProc过程356

11.2.5 ErrorHandler过程357

11.2.6 程序清单357

11.2.7 本节习题361

11.3 动态内存分配362

11.3.1 堆测试程序364

11.3.2 本节习题367

11.4 IA-32内存管理367

11.4.1 线性地址368

11.4.2 页面地址转换371

11.4.3 本节习题372

11.5 本章小结373

11.6 编程练习374

第12章 高级语言接口376

12.1 简介376

12.1.1 约定376

12.1.2 本节习题377

12.2 内联汇编代码377

12.2.1 Microsoft Visual C++中的__asm伪指令377

12.2.2 文件加密的例子380

12.2.3 本节习题382

12.3 在保护模式下与C++程序链接383

12.3.1 使用汇编语言优化C++代码383

12.3.2 调用C和C++函数388

12.3.3 乘法表的例子390

12.3.4 调用C库函数393

12.3.5 目录列表程序395

12.3.6 本节习题396

12.4 在实地址模式下与C/C++程序链接396

12.4.1 与Borland C++程序链接397

12.4.2 例子:ReadSector397

12.4.3 例子:大随机整数401

12.4.4 本节习题402

12.5 本章小结402

12.6 编程练习403

第13章 16位MS-DOS程序设计405

13.1 MS-DOS和IBM-PC405

13.1.1 内存组织405

13.1.2 重定向输入输出407

13.1.3 软件中断407

13.1.4 INT指令408

13.1.5 16位程序的编写409

13.1.6 本节习题409

13.2 MS-DOS功能调用(INT 21h)410

13.2.1 精选的输出功能调用411

13.2.2 例子程序:Hello World413

13.2.3 精选的输入功能调用414

13.2.4 日期/时间功能调用417

13.2.5 本节习题420

13.3 标准MS-DOS文件I/O服务420

13.3.1 创建或打开文件(716Ch)421

13.3.2 关闭文件句柄(3Eh)423

13.3.3 移动文件指针(42h)423

13.3.4 获取文件创建的日期和时间423

13.3.5 精选的库例程424

13.3.6 例子:读取并复制文本文件425

13.3.7 读取MS-DOS命令行427

13.3.8 例子:创建二进制文件429

13.3.9 本节习题432

13.4 本章小结432

13.5 练习题433

第14章 磁盘基础知识435

14.1 磁盘存储系统435

14.1.1 磁道、柱面和扇区436

14.1.2 磁盘分区(卷)437

14.1.3 本节习题438

14.2 文件系统438

14.2.1 FAT12439

14.2.2 FAT16440

14.2.3 FAT32440

14.2.4 NTFS440

14.2.5 磁盘的基本区域441

14.2.6 本节习题442

14.3 磁盘目录442

14.3.1 MS-DOS目录结构443

14.3.2 MS-Windows中的长文件名445

14.3.3 文件分配表(FAT)446

14.3.4 本节习题447

14.4 读写磁盘扇区(7305h)447

14.4.1 扇区显示程序448

14.4.2 本节习题452

14.5 系统级文件功能调用452

14.5.1 获取磁盘剩余空间(7303h)453

14.5.2 创建子目录(39h)455

14.5.3 删除子目录(3Ah)455

14.5.4 设置当前目录(3Bh)456

14.5.5 获取当前目录(47h)456

14.5.6 获取/设置文件属性(7143h)456

14.5.7 本节习题457

14.6 本章小结457

14.7 编程练习458

第15章 BIOS程序设计460

15.1 简介460

15.1.1 BIOS数据区460

15.2 INT 16h键盘中断461

15.2.1 键盘是如何工作的462

15.2.2 INT 16h功能调用462

15.2.3 本节习题467

15.3 INT 10h视频程序设计467

15.3.1 背景知识467

15.3.2 色彩的控制469

15.3.3 INT 10h视频功能调用470

15.3.4 库过程中的例子479

15.3.5 本节习题480

15.4 使用INT 10h绘图481

15.4.1 和像素相关的INT 10h功能调用481

15.4.2 画线程序482

15.4.3 笛卡儿坐标程序483

15.4.4 把笛卡儿坐标转换为屏幕坐标486

15.4.5 本节习题486

15.5 内存映射图形487

15.5.1 模式13h:320×200,256色487

15.5.2 内存映射图形程序488

15.5.3 本节习题491

15.6 鼠标程序设计491

15.6.1 鼠标INT 33h功能调用491

15.6.2 鼠标跟踪程序495

15.6.3 本节习题499

15.7 本章小结500

15.8 练习题501

第16章 高级MS-DOS程序设计503

16.1 简介503

16.2 定义段503

16.2.1 简化段定义伪指令504

16.2.2 显式段定义505

16.2.3 段超越前缀508

16.2.4 段的组合508

16.2.5 本节习题510

16.3 程序的运行时结构510

16.3.1 程序段前缀511

16.3.2 COM程序511

16.3.3 EXE程序513

16.3.4 本节习题514

16.4 中断处理514

16.4.1 硬件中断515

16.4.2 中断控制指令517

16.4.3 编写中断处理例程517

16.4.4 内存驻留程序519

16.4.5 应用:程序No_Reset520

16.4.6 本节习题523

16.5 使用I/O端口控制硬件523

16.5.1 输入输出端口524

16.5.2 PC声音程序524

16.6 本章小结525

第17章 浮点处理和指令编码527

17.1 浮点二进制表示527

17.1.1 IEEE二进制浮点数的表示527

17.1.2 指数529

17.1.3 二进制浮点数的正规化529

17.1.4 IEEE表示法529

17.1.5 把十进制分数转换为二进制实数531

17.1.6 本节习题532

17.2 浮点单元533

17.2.1 浮点寄存器栈533

17.2.2 近似535

17.2.3 浮点异常536

17.2.4 浮点指令集537

17.2.5 算术运算指令539

17.2.6 浮点值的比较542

17.2.7 读写浮点值545

17.2.8 异常的同步546

17.2.9 代码示例547

17.2.10 混合模式算术运算548

17.2.11 屏蔽和未屏蔽的异常549

17.2.12 本节习题550

17.3 Intel指令编码551

17.3.1 IA-32指令的格式551

17.3.2 单字节指令552

17.3.3 立即操作数送寄存器552

17.3.4 寄存器模式指令553

17.3.5 IA-32的操作数尺寸前缀554

17.3.6 内存模式指令555

17.3.7 本节习题557

17.4 本章小结558

17.5 编程练习559

附录A MASM参考手册562

附录B IA-32指令集582

附录C BIOS和MS-DOS中断611

附录D 习题答案619

热门推荐