图书介绍

Windows汇编语言程序设计教程2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

Windows汇编语言程序设计教程
  • 戴水贵编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302212492
  • 出版时间:2010
  • 标注页数:364页
  • 文件大小:119MB
  • 文件页数:377页
  • 主题词:汇编语言-程序设计-教材

PDF下载


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

下载说明

Windows汇编语言程序设计教程PDF格式电子书版下载

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

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

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

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

图书目录

第1章 Windows汇编语言程序设计基础知识1

1.1 如何学习Windows汇编语言1

1.2 Windows汇编语言与DOS汇编语言的区别1

1.3 二进制数2

1.3.1 将十进制数转为二进制、八进制和十六进制数2

1.3.2 不同数制表示法5

1.3.3 计算机容量的一些计量单位5

1.3.4 无符号数的表示范围6

1.3.5 有符号数的表示范围7

1.3.6 补码7

1.3.7 数据的二进制存储9

1.4 汇编语言的基本元素10

1.4.1 整数常量10

1.4.2 算术运算符及其优先级10

1.4.3 实数常量11

1.4.4 字符常量和字符串常量11

1.4.5 标识符11

1.4.6 伪指令12

1.4.7 指令和标号13

1.4.8 MASM中的@@标号13

1.4.9 注释13

1.4.10 .mode1语句14

1.4.11 用.386指明使用的指令集14

1.4.12 节区的定义15

1.4.13 invoke伪指令16

1.4.14 续行号16

1.4.15 wsprintf格式化信息串函数和其他输入输出函数17

1.4.16 第一个输入输出程序例18

1.4.17 创建编译链接环境20

1.4.18 编译链接和运行20

1.4.19 建立编译链接批命令文件21

1.4.20 全局变量的定义和初始值21

1.4.21 局部变量24

1.4.22 可在程序代码中插入数据24

1.4.23 等号伪指令24

1.4.24 EQU伪指令25

1.4.25 当前地址运算符$26

1.4.26 OFFSET、ADDR操作符和LEA指令27

1.4.27 ALIGN和EVEN伪指令28

1.4.28 PTR操作符28

1.4.29 TYPE操作符29

1.4.30 LENGTHOF操作符30

1.4.31 SIZEOF或SIZE操作符31

1.4.32 LABLE伪指令31

1.4.33 TYPEDEF和TYPEDEF PTR操作符32

1.4.34 基数控制伪指令RADIX35

1.4.35 ORG伪指令35

1.4.36 REPT伪指令35

1.4.37 ASSUME伪指令37

1.4.38 SHORT伪指令37

1.5 高级语法38

1.5.1 高级语法while-endw38

1.5.2 条件运算符39

1.5.3 高级语法repeat-until40

1.5.4 高级语法if-elseif-endif42

1.5.5 高级语法continue43

1.5.6 高级语法break if44

1.6 结构体46

1.6.1 结构体的定义46

1.6.2 定义结构体变量并初始化47

1.6.3 结构体成员名的使用方法47

1.6.4 结构体的嵌套定义和使用50

1.6.5 用EQU定义结构体变量50

1.6.6 结构体定义例52

1.7 共用体53

1.7.1 共用体的定义和使用53

1.7.2 共用体的嵌套定义57

1.7.3 共用体和结构体的交叉定义例58

1.7.4 位结构RECORD和位屏蔽MASK59

1.8 宏定义和条件汇编伪指令61

1.8.1 宏定义及使用方法61

1.8.2 条件汇编伪指令和特殊操作符63

1.9 过程65

1.9.1 无参过程的定义65

1.9.2 无参过程的调用方法66

1.9.3 有参过程的定义67

1.9.4 有参过程的调用方法67

1.9.5 过程中的USES参数67

1.9.6 过程中的语言类型68

1.9.7 用PROTO声明过程69

1.9.8 过程中的值传递和地址传递69

1.9.9 用堆栈传递参数71

1.9.10 程序举例74

1.10 用IDA将过程反汇编85

1.10.1 ENTER和LEAVE指令85

1.10.2 ret和retn指令的区别87

1.10.3 不同类型过程的反汇编88

1.10.4 过程反汇编规律总结94

1.10.5 过程反汇编后的修改方法94

1.10.6 一个完整程序的反汇编95

1.11 常用数值转换库函数101

1.12 库函数应用程序举例102

习题106

第2章 寄存器和字符串操作指令110

2.1 80386以上CPU处理器的寄存器110

2.1.1 32位通用寄存器110

2.1.2 16位段寄存器111

2.1.3 32位标志寄存器112

2.1.4 算术运算影响的标志114

2.1.5 有符号数和无符号数的转移指令117

2.1.6 转移指令列表119

2.1.7 32位程序指针寄存器119

2.1.8 32位控制寄存器119

2.1.9 系统地址寄存器120

2.2 字符串操作指令120

2.2.1 REP MOVSB的使用方法(递增复制)121

2.2.2 REP MOVSB的使用方法(递减复制)123

2.2.3 REP STOSB的使用方法124

2.2.4 LODSB和STOSB的配合使用125

2.2.5 SCASB的使用方法126

2.2.6 CMPSB的使用方法128

2.2.7 LOOPNZ的使用方法131

习题133

第3章 指令详解135

3.1 普通指令135

3.2 移位指令157

3.3 转移指令161

3.4 特权指令162

第4章 控制台编程166

4.1 控制台输入输出函数166

4.1.1 控制台句柄166

4.1.2 控制台输出函数167

4.1.3 控制台输入函数168

4.2 文件管理170

4.2.1 CreateFile打开或创建文件171

4.2.2 WriteFile写文件172

4.2.3 ReadFile读文件174

4.2.4 SetFilePointer移动文件指针175

4.2.5 GetFileSize测试文件大小178

4.2.6 CreateFileMapping建立内存映射文件180

4.2.7 MapViewOfFile将内存映射文件中的内容映射到内存180

4.2.8 GetCL将命令行参数搬入缓冲区183

4.2.9 FindFirstFile搜索第一个文件184

4.2.10 FindNextFile搜索下一个文件184

4.3 直接访问硬盘186

4.3.1 读硬盘引导扇区187

4.3.2 读硬盘引导扇区并显示189

4.4 申请内存192

4.4.1 GetProcessHeap获取进程当前的默认堆193

4.4.2 HeapAlloc申请内存193

4.4.3 HeapFree释放内存193

第5章 图形界面编程195

5.1 MessageBox显示信息框并将程序用IDA反汇编195

5.2 第一个图形界面程序197

5.3 用IDA将程序反汇编202

5.4 创建窗口并演示消息205

5.5 资源文件209

5.5.1 资源文件程序例209

5.5.2 资源文件程序例的反汇编212

5.5.3 菜单资源的使用方法214

第6章 图形操作222

6.1 用画笔和刷子绘图222

6.2 给窗口和按钮画有阴影的外框228

第7章 将典型C程序反汇编成汇编语言236

7.1 一重循环的反汇编236

7.2 二重循环的反汇编238

7.3 do-while循环的反汇编239

7.4 while循环的反汇编240

7.5 if-else的反汇编241

7.6 switch-case的反汇编242

7.7 结构体的反汇编244

7.8 共用体的反汇编246

7.9 一维数组的反汇编247

7.10 二维数组的反汇编248

7.11 静态变量(static)在不同存储区250

7.12 指针程序的反汇编252

7.13 二级指针程序的反汇编254

7.14 函数指针程序的反汇编257

习题259

第8章 时钟中断260

8.1 秒表计时器程序例261

8.2 秒表计时器程序的反汇编265

第9章 动态链接库271

9.1 如何编写动态链接库程序271

9.2 如何在用户程序中调用动态链接库中的函数273

第10章 实模式和保护模式内存管理279

10.1 地址线的根数和寻址范围的关系279

10.2 实地址模式下的逻辑地址280

10.3 保护模式282

10.3.1 保护模式下内存寻址示意图282

10.3.2 非系统段描述符的格式和含义283

10.3.3 系统段描述符的格式和含义286

10.3.4 定义段描述符结构体287

10.3.5 段描述符结构体使用例288

10.3.6 描述符表寄存器289

10.3.7 如何通过全局描述符表寻址290

10.3.8 如何获取系统全局描述符表291

10.3.9 访问高端内存程序例292

10.3.10 局部描述符表298

10.3.11 门描述符304

10.3.12 任务状态段TSS305

10.3.13 用调用门实现越权访问313

10.3.14 中断描述符表321

10.3.15 分页管理与映射328

习题337

第11章 调试工具Windbg的安装与使用339

11.1 VMware是什么339

11.1.1 VMware的安装方法339

11.1.2 虚拟机安装完后的配置341

11.2 Windbg的安装方法343

11.2.1 Windbg快捷键的设置343

11.2.2 通信端口的配置343

11.2.3 基本设置343

11.2.4 Windbg的启动344

11.3 Windbg的使用方法346

11.3.1 如何装入可执行程序346

11.3.2 如何反汇编整个程序347

11.3.3 如何调试进程348

11.4 Windbg命令列表349

11.4.1 显示和设置寄存器R350

11.4.2 单步跟踪T,TA,TC,WT,P,PA,PC350

11.4.3 反汇编U,UF351

11.4.4 断点BP,BU,BM351

11.4.5 断点管理BL,BD,BE,BC352

11.4.6 对内存变量的访问设置断点BA353

11.4.7 列表装载模块名LM353

11.4.8 切换数制和语法表达式N,.EXPR354

11.4.9 数据修改E354

11.4.10 数据查看D355

11.4.11 显示当前过程所有局部变量名和值DV355

11.4.12 显示内存变量DT356

11.4.13 运行到程序尾或断点或指定地址G357

11.4.14 显示栈信息K357

11.4.15 显示最近的符号表LN357

11.4.16 退出Q357

11.4.17 查找内存S358

附录A 键盘扫描码和ASCII码表359

习题答案361

热门推荐