图书介绍
汇编语言基础及驱动程序开发PDF|Epub|txt|kindle电子书版本网盘下载
![汇编语言基础及驱动程序开发](https://www.shukui.net/cover/33/33415921.jpg)
- 戴水贵,敖志刚,俞海英等编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302266495
- 出版时间:2012
- 标注页数:320页
- 文件大小:48MB
- 文件页数:334页
- 主题词:汇编语言-驱动程序-程序设计-高等学校-教材
PDF下载
下载说明
汇编语言基础及驱动程序开发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 计算机内存中的数是以二进制表示的4
1.3.3 计算机容量的一些计量单位5
1.3.4 无符号数的表示范围5
1.3.5 有符号数的表示范围6
1.3.6 补码7
1.3.7 数据的二进制存储8
1.4 汇编语言的基本元素9
1.4.1 整数常量9
1.4.2 算术运算符及其优先级10
1.4.3 实数常量10
1.4.4 字符常量和字符串常量10
1.4.5 标识符11
1.4.6 伪指令12
1.4.7 指令和标号12
1.4.8 MASM中的@@标号12
1.4.9 注释13
1.4.10 .model语句13
1.4.11 用.386指明使用的指令集14
1.4.12 节区的定义14
1.4.13 invoke伪指令15
1.4.14 续行号16
1.4.15 wsprintf格式化信息串函数和其他输入/输出函数16
1.4.16 第一个输入/输出程序实例18
1.4.17 创建编译连接环境19
1.4.18 编译连接和运行20
1.4.19 建立编译连接批命令文件20
1.4.20 全局变量的定义和初始值20
1.4.21 局部变量23
1.4.22 可在程序代码中插入数据23
1.4.23 等号伪指令23
1.4.24 EQU伪指令24
1.4.25 当前地址运算符$26
1.4.26 OFFSET、ADDR操作符和LEA指令26
1.4.27 ALIGN和EVEN伪指令27
1.4.28 PTR操作符27
1.4.29 TYPE操作符28
1.4.30 LENGTHOF操作符29
1.4.31 SIZEOF或SIZE操作符30
1.4.32 LABEL伪指令30
1.4.33 TYPEDEF和TYPEDEF PTR操作符31
1.4.34 基数控制伪指令RADIX34
1.4.35 ORG伪指令34
1.4.36 REPT伪指令34
1.4.37 ASSUME伪指令36
1.4.38 SHORT伪指令36
1.4.39 在汇编语言中调用C语言内部函数36
1.4.40 在C语言中嵌入汇编语言37
1.4.41 在C语言程序中调用汇编语言子程序38
1.4.42 在C语言程序中使用汇编语言程序中的变量40
1.4.43 在汇编语言程序中使用C语言程序中的变量40
1.4.44 在C++程序中调用汇编语言程序中的变量和子程序41
1.5 高级语法43
1.5.1 while-endw语句43
1.5.2 条件运算符44
1.5.3 repeat-until语句46
1.5.4 if-elseif-endif语句47
1.5.5 continue语句48
1.5.6 break if语句50
1.6 结构体51
1.6.1 结构体的定义51
1.6.2 定义结构体变量并初始化52
1.6.3 结构体成员名的使用方法52
1.6.4 结构体的嵌套定义和使用54
1.6.5 用EQU定义结构体变量55
1.6.6 结构体定义例56
1.7 共用体58
1.7.1 共用体的定义和使用58
1.7.2 共用体的嵌套定义62
1.7.3 共用体和结构体的交叉定义63
1.7.4 位结构RECORD和位屏蔽MASK64
1.8 宏66
1.8.1 宏的定义及使用方法66
1.8.2 入口参数的赋值符“:=”和宏的默认值70
1.8.3 REQ伪指令71
1.8.4 EXITM、ECHO伪指令和%运算符71
1.8.5 %@Line和@FileCur汇编操作符73
1.8.6 <>运算符74
1.8.7 入口参数类型VARARG75
1.8.8 判操作数属性伪指令OPATTR75
1.8.9 @SizeStr()返回串大小78
1.8.10 @SubStr()从串中取子串79
1.8.11 SUBSTR从串中取子串80
1.8.12 替换操作符&80
1.8.13 TEXTEQU伪指令81
1.8.14 条件汇编伪指令82
1.8.15 FOR-ENDM宏指令87
1.8.16 FORC-ENDM宏指令88
1.9 过程89
1.9.1 无参过程的定义89
1.9.2 无参过程的调用方法89
1.9.3 有参过程的定义90
1.9.4 有参过程的调用方法90
1.9.5 过程中的USES参数91
1.9.6 过程中的语言类型92
1.9.7 用PROTO声明过程92
1.9.8 过程中的值传递和地址传递92
1.9.9 用堆栈传递参数95
1.9.10 缓冲区溢出攻击原理97
1.9.11 程序举例99
1.10 用IDA将过程反汇编110
1.10.1 ENTER和LEAVE指令110
1.10.2 RET和RETN指令的区别112
1.10.3 不同类型过程的反汇编113
1.10.4 过程反汇编规律总结119
1.10.5 过程反汇编后的修改方法119
1.10.6 一个完整程序的反汇编120
1.10.7 option参数126
1.11 常用数值转换库函数128
1.12 库函数应用程序举例128
1.13 宏应用程序例133
1.13.1 宏$CTA0程序例133
1.13.2 宏$CT0程序例134
习题135
第2章 寄存器和字符串操作指令139
2.1 80386以上CPU处理器的寄存器139
2.1.1 32位通用寄存器139
2.1.2 16位段寄存器140
2.1.3 32位标志寄存器140
2.1.4 算术运算影响的标志142
2.1.5 有符号数和无符号数各有一套转移指令145
2.1.6 转移指令列表146
2.1.7 32位程序指针寄存器147
2.1.8 32位控制寄存器147
2.1.9 系统地址寄存器148
2.2 字符串操作指令148
2.2.1 REP MOVSB的使用方法(递增复制)149
2.2.2 REP MOVSB的使用方法(递减复制)151
2.2.3 REP STOSB的使用方法152
2.2.4 LODSB和STOSB的配合使用153
2.2.5 SCASB的使用方法153
2.2.6 CMPSB的使用方法156
2.2.7 LOOPNZ的使用方法158
习题161
第3章 指令详解163
3.1 普通指令163
3.2 移位指令186
3.3 转移指令191
3.4 特权指令191
第4章 实模式和保护模式内存管理197
4.1 地址线的根数和寻址范围的关系197
4.2 实地址模式下的逻辑地址199
4.3 保护模式200
4.3.1 保护模式下内存寻址示意图200
4.3.2 非系统段描述符的格式和含义201
4.3.3 系统段描述符的格式和含义203
4.3.4 定义段描述符结构体204
4.3.5 段描述符结构体使用例205
4.3.6 描述符表寄存器206
4.3.7 门描述符207
4.3.8 中断描述符表209
4.3.9 分页管理与映射210
习题213
第5章 Windows设备驱动程序基础215
5.1 何为Windows设备驱动程序215
5.2 从一个最简单的设备驱动程序开始216
5.2.1 一个最简单的设备驱动程序217
5.2.2 注册和运行219
5.3 UNICODE_STRING串结构体220
5.3.1 双字节字符串的定义方法220
5.3.2 UNICODE_STRING串结构体的使用方法221
5.3.3 用宏$CCOUNTED_UNICODE_STRING定义串221
5.3.4 用sprintf格式化信息串222
5.3.5 将ASCIIZ串转为UNICODE_STRING串224
5.3.6 RtlUnicodeStringToAnsiString函数227
5.3.7 将一个简单的程序反汇编228
5.3.8 用RtlInitUnicodeString和宏unicode生成UNICODE_STRING串230
5.3.9 设备名和符号连接名的命名格式233
5.3.10 创建设备名和符号连接名程序实例233
5.4 Windows设备控制字234
5.4.1 用宏CTL_CODE构造设备控制字236
5.4.2 用宏从设备控制字中取出某个字段237
5.5 用户程序和驱动程序之间的调用关系一239
5.5.1 将使喇叭发声的代码放在DriverEntry中的驱动程序239
5.5.2 用CreateService和StartService注册和运行驱动程序241
5.6 用户程序和驱动程序之间的调用关系二244
5.6.1 将读写I/O端口的驱动程序的地址置入MajorFunction数组244
5.6.2 用户程序用DeviceIoControl和驱动程序通信251
5.6.3 用.inf文件安装驱动程序254
第6章 内核模式下的文件管理257
6.1 创建和删除文件夹257
6.2 创建文件和打开文件写259
6.3 打开文件读和删除文件261
6.4 将数据添加到文件尾264
6.5 修改文件属性265
第7章 直接访问硬盘269
7.1 用系统提供的驱动程序访问硬盘269
7.2 如何获取硬盘参数276
7.3 用in和out指令直接读/写硬盘扇区280
7.3.1 硬盘端口寄存器功能列表280
7.3.2 任务状态段TSS中的I/O许可位图284
7.3.3 一个修改I/O许可位图的驱动程序285
7.3.4 一个直接读取硬盘扇区的服务控制程序288
7.3.5 用in/out指令获取硬盘序列号等参数299
7.4 在PCI配置空间中找出PCI-IDE控制器的配置空间300
附录A 键盘扫描码311
附录B ASCII码表313
附录C 习题答案315