注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计其他编程语言/工具DOS/Windows汇编语言程序设计教程

DOS/Windows汇编语言程序设计教程

DOS/Windows汇编语言程序设计教程

定 价:¥32.00

作 者: 赵树升,杨建军编著
出版社: 清华大学出版社
丛编项: 高等院校计算机应用技术系列教材
标 签: 汇编语言程序设计

ISBN: 9787302110828 出版时间: 2005-06-01 包装: 平装
开本: 26cm 页数: 365 字数:  

内容简介

  本书以Intel80X86指令系统和汇编语言开发工具Masm611与Masm32为主体,在PC机的MS-DOS和Windows环境中,较为系统地介绍了进行汇编语言程序设计所需要的指令、语法以及调试工具Debug和W32Dasm。全书包括MS-DOS部分和Windows部分。第1章介绍了与软、硬件相关的基础知识。第2章详细介绍了主要的硬件指令、伪指令、源程序格式、程序设计与调试过程。第3章讲述了常用的程序设计技巧,重点介绍了分支程序、循环程序、中断程序和宏。第4章以实例介绍了汇编语言在MS-DOS下的应用。第5章介绍了32位汇编语言的特点以及Windows下汇编语言的特点。第6章介绍了Windows下如何实现窗口、鼠标、视频、磁盘、文件与进程相关的程序设计。本书实用性非常强,结构清晰,着重培养动手能力。本书可以作为高等院校汇编语言课程的教材,适用于计算机科学与技术以及相关专业的学生。本书前言本书以Intel80X86指令系统和汇编语言开发工具Masm611与Masm32为主体,在PC机的MS-DOS和Windows环境中,较为系统地介绍了进行汇编语言程序设计所需要的指令、语法以及调试工具Debug和W32Dasm。按照我国《普通高等学校本科专业目录和专业介绍》的规定,“汇编语言”是计算机科学与技术专业的主要课程,也是其他相关专业的基础课程。该课程的教学已经有20多年的历史,教材品种繁多。但是,由于计算机技术的飞速发展,以前的教材和教学方法已经不能完全适应今天的人才培养需要。在10多年使用汇编语言工具和3年教学经历后,本人编写了本书。本书具有以下特点。面向实用:学习汇编语言主要是为了应用,而不是研究汇编语言本身。因此,本书重点讲解了常用指令、语法的应用。本书专门使用两章内容分别讲述了MS-DOS和Windows的应用实例,着重强调了Masm611与Masm32、Debug与W32Dasm的应用。面向发展:目前汇编语言更多使用于Windows环境下,例如病毒分析、软件调试和软件加密。并且学习完Windows下的汇编语言,对面向对象程序设计会有较为深入的了解。因此,本书使用1章的篇幅介绍了Windows下的汇编程序设计和如何使用Windows下的调试工具W32Dasm。注重趣味性:汇编语言已经不像十几年前普遍作为工具用于程序开发,目前更多地是作为专业基础课程。如果继续把一些算法放到书中,用汇编去实现,学生学习起来会索然寡味。因此,本书实例提供了怎样做钥匙盘、怎样对软件加密、怎样调试修改程序、怎样与硬盘、键盘进行低级交互等,学生会非常有兴趣。全书共分6章。第1、2、3章主要由杨建军老师编写,第4、5、6章由郑州大学升达经贸管理学院赵树升老师编写。最后由赵树升老师进行统稿。限于作者的学术水平,本书难免存在疏漏和不当之处,敬请广大同行和读者指正。我们的邮箱是:huchenhao@263.net。赵树升2005年3月

作者简介

暂缺《DOS/Windows汇编语言程序设计教程》作者简介

图书目录

第1章 汇编语言基础知识 1
1.1 汇编语言的由来与特点 1
1.1.1 机器语言 1
1.1.2 汇编语言 1
1.1.3 汇编语言的应用领域
与地位 2
1.2 系统结构 2
1.2.1 微型计算机的系统结构 2
1.2.2 INTEL 8086/8088
16位机的系统结构 4
1.2.3 INTEL 80386 32位
机的系统结构 9
1.3 数据表示 17
1.3.1 数制及其转换 17
1.3.2 有符号数的表示法 19
1.3.3 BCD码和字符编码 20
1.4 小结 21
1.5 习题 21
第2章 16位汇编程序设计 24
2.1 16位汇编程序设计概述 24
2.1.1 汇编语言程序的特点 24
2.1.2 指令寻址方式 26
2.2 16位指令系统 32
2.2.1 数据传送类指令 32
2.2.2 算术运算类指令 44
2.2.3 位运算类指令 56
2.2.4 串操作类指令 61
2.2.5 控制转移类指令 67
2.2.6 处理机控制类指令 77
2.3 伪指令 79
2.3.1 常量、变量、标号
和表达式 79
2.3.2 伪指令语句 84
2.3.3 结构 89
2.3.4 记录 91
2.4 宏汇编程序格式 93
2.4.1 完整段定义格式 94
2.4.2 简化段定义格式 97
2.4.3 与完整段定义有关
的伪指令 98
2.4.4 与简化段定义有关
的伪指令 100
2.5 汇编程序设计过程 103
2.5.1 汇编程序的设计步骤 103
2.5.2 程序流程图 104
2.5.3 宏汇编MASM 611 
命令行方式上机操作 106
2.5.4 DEBUG及CV调
试程序的使用 109
2.6 小结 117
2.7 习题 117
第3章 程序设计技巧 125
3.1 顺序程序结构形式 125
3.2 分支程序 128
3.2.1 分支程序结构 128
3.2.2 条件控制伪指令 129
3.2.3 双分支程序设计 132
3.2.4 多分支程序设计 134
3.3 循环程序 139
3.3.1 循环程序概述 139
3.3.2 循环控制指令及
伪指令 141
3.3.3 循环程序设计方法 142
3.3.4 多重循环程序设
计方法 150
3.4 子程序与扩展子程序 151
3.4.1 一般过程定义
(子程序)伪指令 151
3.4.2 子程序参数传递方法 154
3.4.3 扩展过程定义
(扩展子程序)伪指令 162
3.5 中断程序 167
3.5.1 中断的有关概念 167
3.5.2 8086/8088 的中断
源及其优先级 168
3.5.3 中断向量表 171
3.5.4 中断处理的基本过程 172
3.6 输入输出程序 176
3.6.1 输入输出原理 176
3.6.2 I/O程序设计方法 178
3.7 宏结构程序 183
3.7.1 宏汇编 183
3.7.2 重复汇编 192
3.7.3 条件汇编 194
3.8 模块化程序 197
3.8.1 模块化的特点 198
3.8.2 源程序文件包含 198
3.8.3 目标代码文件包含 200
3.8.4 子程序库 209
3.9 小结 210
3.10 习题 210
第4章 16位汇编应用举例 215
4.1 模拟C语言函数实现 215
4.1.1 数据转换 215
4.1.2 字符串操作 219
4.2 键盘中断 222
4.2.1 键盘控制原理 222
4.2.2 通过中断获取
键盘信息 224
4.3 视频控制程序 226
4.3.1 直接控制显存 226
4.3.2 使用BIOS 228
4.3.3 使用DOS功能 234
4.4 磁盘控制程序 235
4.4.1 常用的INT 13H功能 235
4.4.2 设计一个简单钥匙
软盘程序 236
4.4.3 设计软盘扫描程序 239
4.4.4 读写大硬盘扇区数据 243
4.5 中断程序设计 248
4.5.1 设计自己使用的
中断程序 249
4.5.2 设计驻留内存的
中断程序 251
4.6 引导程序设计 254
4.6.1 引导程序原理 254
4.6.2 引导程序的编写
与安装 256
4.7 定时器应用程序 261
4.7.1 产生时钟原理 261
4.7.2 定时器代码实现 262
4.8 用Debug修改程序结构 266
4.8.1 修改代码原理 267
4.8.2 修改程序代码 269
4.9 加密一个EXE文件 270
4.9.1 加密前的代码识别 271
4.9.2 加密方法的实现 271
4.10 小结 274
4.11 习题 274
第5章 32位汇编程序设计 276
5.1 32位指令系统 276
5.1.1 32位的寻址方式 276
5.1.2 32位扩展指令 278
5.1.3 80386新增指令 281
5.1.4 80486新增指令 285
5.1.5 Pentium新增指令 287
5.1.6 Pentium Pro新增指令 290
5.2 DOS下32位汇编程序 290
5.2.1 32位程序编写规范 291
5.2.2 DOS 32位程序举例 292
5.3 Windows下32位汇编程序 295
5.3.1 Windows汇编
语言特点 296
5.3.2 Masm32 的使用服务 298
5.4 Windows程序的反汇编 302
5.4.1 W32Dasm的使用 302
5.4.2 W32Dasm 的反汇
编代码阅读 304
5.5 Windows程序的调试 307
5.6 小结 311
5.7 习题 311
第6章 Windows 32位汇编应用举例 313
6.1 窗口设计程序 313
6.1.1 窗口程序的运行过程 313
6.1.2 在窗口上添加子窗口 320
6.1.3 子窗口的控制 322
6.1.4 复杂形状的窗口 324
6.1.5 资源 325
6.1.6 一个简单对话框 329
6.1.7 菜单应用举例 331
6.2 键盘控制程序 335
6.2.1 获取输入字符 335
6.2.2 虚拟键盘信息 335
6.3 鼠标控制程序 337
6.3.1 获取鼠标信息 337
6.3.2 鼠标的控制 338
6.4 视频控制程序 339
6.4.1 在窗口中绘图 339
6.4.2 位图按钮 343
6.5 磁盘文件操作与内存操作 344
6.5.1 文件操作 345
6.5.2 内存操作 347
6.5.3 内存与文件使用举例 349
6.6 定时器程序 353
6.6.1 建立定时器 353
6.6.2 定时器应用举例 354
6.7 进程控制 355
6.7.1 获取命令行参数 356
6.7.2 建立进程 356
6.8 控制台程序 358
6.9 动态链接库 359
6.9.1 动态链接库的概念 359
6.9.2 动态链接库的建立 360
6.9.3 动态链接库的使用 362
6.10 小结 364
6.11 习题 364
参考文献 366

本目录推荐