第1章 实方式上机入门 1
1.1生成第一个程序DEMO 1
1.1.1建立工作环境 1
1.1.2 DEMO的编辑 1
1.1.3 DEMO的汇编 3
1.1.4 DEMO的连接 5
1.1.5 DEMO的运行 6
1.2生成实方式程序的过程 6
1.3运行环境 7
1.4汇编和连接的高级操作 8
1.4.1 MASM命令及参数 8
1.4.2 ML命令和参数 9
1.4.3 LINK命令及参数 11
1.5建立更好的工作环境 12
第2章 常见的汇编和连接错误 17
2.1汇编时的常见现象 17
2.1.1汇编时常见的异常现象 17
2.1.2汇编成功的检验 19
2.2常见的汇编错误及其分析 19
2.2.1程序中有不恰当的中文符号 19
2.2.2段定义伪指令错误 21
2.2.3指令错误 22
2.2.4程序结构错误 25
2.2.5变量定义错误 26
2.2.6连接错误 27
2.3汇编查错技巧 27
第3章 实方式程序调试器TD 30
3.1 TD的启动和退出 30
3.1.1启动TD 30
3.1.2退出TD 31
3.2 TD的用户界面 31
3.3 DEMO的调试 34
3.3.1在数据区观察程序的机器码 34
3.3.2观察源程序中数据段的数据 35
3.3.3程序的执行及结果的查看 36
3.3.4程序的再次执行及断点设置 38
3.4载入新程序及执行程序的修改 39
3.4.1打开一个文件 40
3.4.2改变文件目录 41
3.4.3修改指令代码 41
3.4.4修改程序中的数据 42
3.5有子程序的程序调试 43
3.5.1观察以双字形式显示的数据段 45
3.5.2直接运行到CALL指令处暂停 46
3.5.3跟踪到子程序中 47
3.6中断处理程序的调试 48
3.6.1中断处理程序的入口地址 49
3.6.2中断处理程序的显示 50
3.6.3进入软中断的处理程序 50
3.7代码区和数据区的操作菜单 51
3.7.1代码区操作菜单 51
3.7.2数据区操作菜单 52
3.7.3 TD中数据输入说明 53
第4章 带符号的程序调试 62
4.1 TASM的安装 62
4.2生成有调试信息的文件 64
4.3带符号的程序调试 70
4.3.1启动程序调试 70
4.3.2打开CPU窗口 71
4.3.3改变CPU窗口中代码的显示模式 72
4.3.4窗口的打开、关闭及大小、位置调整 72
4.3.5 Watches窗口操作 73
4.3.6带条件的断点设置 74
第5章 多模块程序的运行及子程序库 78
5.1宏库的建立和使用 78
5.2多模块程序的开发 80
5.3子程序库的建立和使用 84
第6章 实方式下汇编程序实例及课程设计 92
6.1命令参数行的获取 92
6.1.1 EXE程序的参数获取 92
6.1.2 COM程序的参数获取 93
6.2乐曲演奏程序 95
6.2.1扬声器的驱动方式 95
6.2.2乐曲演奏程序 98
6.3文件管理 101
6.3.1文件读取程序 101
6.3.2文件管理功能调用说明 103
6.4课程设计 105
第7章 Win32编程环境 111
7.1 MASM32软件包简介 111
7.1.1 MASM系列编译器介绍 111
7.1.2 MASM32软件包 112
7.2 MASM32软件包安装 112
7.3使用QEDITOR 115
7.3.1首次使用QEDITOR 115
7.3.2 QEDITOR揭密 117
7.4生成Win32程序的过程 120
7.4.1汇编源文件和资源脚本的编辑 120
7.4.2汇编源文件的编译 120
7.4.3资源脚本的编译 123
7.4.4执行文件的生成 123
7.4.5建立更好的环境 127
7.5 nmake工具 128
7.5.1首次使用nmake工具 128
7.5.2描述文件的语法 129
7.5.3 nmake的高级用法 132
第8章 文本编辑器开发 134
8.1创建一个窗口程序 134
8.1.1创建一个窗口 134
8.1.2 Windows消息的处理过程 136
8.2增加RichEdit控件 138
8.3创建图标 139
8.3.1在程序中加载图标 139
8.3.2用VC++制作图标 141
8.4制作与加载菜单 143
8.4.1用文本编辑器制作菜单 143
8.4.2用VC++制作菜单 145
8.5打开与保存文件 148
8.5.1打开文件的步骤 148
8.5.2打开文件程序实例 149
8.5.3保存文件及文件另存为 152
8.5.4退出系统及消息响应 154
8.6 RichEdit控件的控制消息 155
8.7创建工具栏 157
8.7.1使用通用位图创建工具栏 157
8.7.2创建自定义位图的工具栏 159
8.7.3使用消息创建工具栏 162
8.8增加状态栏 164
8.9查找字符串 166
8.9.1使用通用“查找”对话框 166
8.9.2使用自定义对话框 169
8.10编辑器优化 172
第9章 反汇编及调试工具W32Dasm 179
9.1 W32Dasm软件包的组成及启动 179
9.2 W32Dasm的程序浏览 180
9.3程序的动态调试 186
9.3.1程序调试的启动 186
9.3.2断点的设置和取消 189
9.3.3存储单元中值的观察 190
9.3.4数据的修改 191
9.3.5显示EIP指示的指令 192
9.4 WinAPI的细节信息 192
9.5程序的修改及反汇编代码的保存 194
9.6进程调试及程序暴力破解示例 196
第10章 调试工具SoftICE 199
10.1 SoftICE简介 199
10.1.1 SoftICE调试器 199
10.1.2符号载入工具Symbol Loader 200
10.2 SoftICE的安装 200
10.3 SoftICE启动 202
10.4 SoftICE符号调试 205
10.4.1建立含调试信息的执行文件 205
10.4.2装入richedit1 1程序 206
10.4.3简单的调试 208
10.5设置断点 210
10.5.1执行断点 210
10.5.2内存断点 213
10.5.3其他类型的断点 214
10.6 SoftICE的其他信息 215
第11章 汇编语言程序与C语言程序的连接 216
11.1内嵌汇编 216
11.1.1内嵌汇编示例及优势分析 216
11.1.2内嵌汇编语法及用法示例 218
11.2 VC++调用汇编语言子程序 221
参考文献 225