32位汇编语言程序设计
作者 : 钱晓捷 编著
出版日期 : 2011-08-01
ISBN : 978-7-111-34750-7
适用人群 : 本书可选作高等院校“汇编语言程序设计”等课程的教材
定价 : 35.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 272
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本书以32位Intel 80x86处理器和个人计算机为硬件平台,基于32位Windows操作系统软件平台,借助微软MASM汇编程序讲解汇编语言程序设计,包括基本的汇编语言基础、常用处理器指令和汇编语言伪指令以及顺序、分支、循环、子程序结构,还包括扩展的Windows和DOS编程、与C++语言的混合编程、输入输出指令及编程,并涉及浮点、多媒体及64位指令等先进技术。

图书特色

32位汇编语言程序设计
钱晓捷◎编著

精品课程网站   http://www2.zzu.edu.cn/qwfw

本书结合作者近年来的32位汇编语言教学实践,以32位Intel 80x86处理器和个人计算机为硬件平台,基于32位Windows操作系统软件平台,借助微软MASM汇编程序讲解汇编语言程序设计,包括基本的汇编语言基础、常用处理器指令和汇编语言伪指令以及顺序、分支、循环、子程序结构,还包括扩展的Windows和DOS编程、与C++语言的混合编程、输入输出指令及编程,并涉及浮点、多媒体及64位指令等先进技术。

本书特色:
简单易用的开发环境。本书构建了一个简单易用的开发环境,无需安装和配置,直接复制就可使用,方便初学者快速上手。
重点明确的教学内容。本书不是详尽展开所有处理器指令、全部汇编伪指令,而是选择处理器通用的基本指令和反映汇编语言特色的常用伪指令;没有引出复杂的程序格式,而是侧重编程思想和技术。
突出实践的教学过程。本书以约70个示例程序和约60个习题程序贯穿教学内容。
循序渐进的教学原则。为了便于学生理解和掌握,且便于教师实施教学,本书在编写过程中尽量做到描述详尽、图表准确,对重点和难点使用浅显生动的语言,深入浅出地进行详尽讲解。
内容丰富的教学网站。为了更好地服务于广大师生和读者,作者开辟了“大学微机技术系列课程教学辅助网站”(http://www2.zzu.edu.cn/qwfw),提供电子课件、教学大纲、教材勘误、疑难解答、输入输出子程序库、示例源程序文件等辅助资源。

图书前言

随着计算机技术的发展,国内高校师生希望能够在32位Windows操作系统平台学习汇编语言,但如何面向初学者实施教学却面临诸多难点。于是,我们结合近年来的32位汇编语言教学实践编写了本书。
  本书具有以下特色。
1.简单易用的开发环境
  目前,32位Windows平台的汇编语言编程主要使用MASM32和Visual C++集成化开发系统,但它们都略显复杂和庞大,不适合初学者(本书将此内容安排在第6章和第7章)。为此,本书构建了一个简单易用的开发环境(详见第1章),无需安装和配置,直接复制就可使用。它支持32位Windows控制台和16位DOS环境,提供MASM汇编程序、连接程序、WinDbg和CodeView调试程序及其帮助文档、配套输入输出子程序库及方便操作的批处理文件等。
2.重点明确的教学内容
  汇编语言的教学目的是从软件角度理解计算机硬件工作原理,为相关课程提供基础知识,同时让读者全面认识程序设计语言,体会低层编程特点,以便更好地应用高级语言。为此,本书不是详尽展开所有处理器指令、全部汇编伪指令,而是选择处理器通用的基本指令和反映汇编语言特色的常用伪指令;没有引出复杂的程序格式,而是侧重编程思想和技术。这样一方面能够降低教学难度、易于学生掌握,另一方面使得教学内容更加实用、便于学生实际应用。
3.突出实践的教学过程
  本书以约70个示例程序和60个习题程序贯穿教学内容。第1章在介绍必要的寄存器和存储器知识后,就引出汇编语言开发环境,介绍汇编语言的语句格式、源程序框架和开发方法,并利用简单易用的输入输出子程序编写具有显示结果的程序。第2章结合数据编码、常量定义和变量应用,自然地引出常用伪指令。第3章分类学习处理器基本指令,逐渐编写特定要求的程序片段。第4~9章以程序结构为主线,围绕数码转换子程序,结合Windows编程、混合编程、DOS和I/O编程、浮点指令,从简单到复杂逐步编写具有实用价值的应用程序。
4.循序渐进的教学原则
  为了便于学生理解和掌握,且便于教师实施教学,本书以“循序渐进、难点分散、前后对照”为原则,努力做到“语言浅显、描述详尽、图表准确”。本书内容编排精彩纷呈,例如,将处理器指令和汇编伪指令分散于各个教学内容之中,引出列表文件暂时避开调试程序,用简单的子程序库化解系统调用的烦琐;程序具有交互性和趣味性,适当对比高级语言,并展示底层工作原理;每章都编制丰富的习题,满足课外练习、上机实践和试题组织的需要。
  为了更好地服务于广大师生和读者,编者开辟了“大学微机技术系列课程教学辅助网站”(http://www2.zzu.edu.cn/qwfw)。该网站面向“汇编语言程序设计”和“微机原理及接口技术”课程,提供相关教学课件(电子教案)、教学大纲、教材勘误、疑难解答、输入输出子程序库、示例源程序文件等辅助资源,是本教材的动态延伸。
  本书由郑州大学信息工程学院钱晓捷编写,并得到了穆玲玲、关国利、张青、张行进等人的帮助,衷心感谢他们,同时也感谢机械工业出版社华章分社的大力支持。
  欢迎广大师生和读者通过电子邮件(qianxiaojie@zzu.edu.cn)与编者交流。

编 者
2011年5月

上架指导

计算机\汇编语言

封底文字

本书结合作者近年来的32位汇编语言教学实践,以32位Intel 80x86处理器和个人计算机为硬件平台,基于32位Windows操作系统软件平台,借助微软MASM汇编程序讲解汇编语言程序设计,包括基本的汇编语言基础、常用处理器指令和汇编语言伪指令以及顺序、分支、循环、子程序结构,还包括扩展的Windows和DOS编程、与C++语言的混合编程、输入输出指令及编程,并涉及浮点、多媒体及64位指令等先进技术。
本书特点
 简单易用的开发环境。本书构建了一个简单易用的开发环境,无需安装和配置,直接复制就可使用,方便初学者快速上手。
 重点明确的教学内容。本书不是详尽展开所有处理器指令、全部汇编伪指令,而是选择处理器通用的基本指令和反映汇编语言特色的常用伪指令;没有引出复杂的程序格式,而是侧重编程思想和技术。
 突出实践的教学过程。本书以约70个例题程序和约60个习题程序贯穿教学内容。
 循序渐进的教学原则。为了便于学生理解和掌握,且便于教师实施教学,本书在编写过程中尽量做到描述详尽、图表准确,对重点和难点使用浅显生动的语言,深入浅出地进行详尽讲解。
 内容丰富的教学网站。为了更好地服务于广大师生和读者,作者开辟了“大学微机技术系列课程教学辅助网站”(http://www2.zzu.edu.cn/qwfw),提供电子课件、教学大纲、教材勘误、疑难解答、输入输出子程序库、示例源程序文件等辅助资源。

图书目录

前言
教学建议
第1章 汇编语言基础1
 1.1 Intel 80x86系列处理器1
  1.1.1 16位80x86处理器1
  1.1.2 IA-32处理器2
  1.1.3 Intel 64处理器3
 1.2 个人计算机系统4
  1.2.1 硬件组成4
  1.2.2 寄存器6
  1.2.3 存储器组织9
  1.2.4 程序设计语言13
  1.2.5 软件系统15
 1.3 汇编语言程序格式18
  1.3.1 指令代码格式18
  1.3.2 语句格式20
  1.3.3 源程序框架21
  1.3.4 开发过程25
 第1章习题29
第2章 数据表示和寻址32
 2.1 数据表示32
  2.1.1 数制32
  2.1.2 数值的编码35
  2.1.3 字符的编码37
 2.2 常量表达39
 2.3 变量应用41
  2.3.1 变量定义41
  2.3.2 变量属性46
 2.4 数据寻址方式49
  2.4.1 立即数寻址方式49
  2.4.2 寄存器寻址方式50
  2.4.3 存储器寻址方式51
  2.4.4 各种数据寻址方式的组合55
 第2章习题56
第3章 通用数据处理指令59
 3.1 数据传送类指令59
  3.1.1 通用数据传送指令59
  3.1.2 堆栈操作指令61
  3.1.3 其他传送指令63
 3.2 算术运算类指令66
  3.2.1 状态标志66
  3.2.2 加法指令68
  3.2.3 减法指令69
  3.2.4 乘法和除法指令71
  3.2.5 其他运算指令72
 3.3 位操作类指令74
  3.3.1 逻辑运算指令74
  3.3.2 移位指令77
 第3章习题80
第4章 程序结构86
 4.1 顺序程序结构86
 4.2 分支程序结构87
  4.2.1 无条件转移指令87
  4.2.2 条件转移指令90
  4.2.3 单分支程序结构94
  4.2.4 双分支程序结构95
  4.2.5 多分支程序结构97
 4.3 循环程序结构99
  4.3.1 循环指令99
  4.3.2 计数控制循环100
  4.3.3 条件控制循环102
  4.3.4 多重循环103
 第4章习题104
第5章 模块化程序设计109
 5.1 子程序结构109
  5.1.1 子程序指令109
  5.1.2 子程序设计112
 5.2 参数传递113
  5.2.1 寄存器传递参数113
  5.2.2 共享变量传递参数116
  5.2.3 堆栈传递参数119
 5.3 多模块程序结构121
  5.3.1 源文件包含122
  5.3.2 模块连接124
  5.3.3 子程序库125
 5.4 宏结构126
  5.4.1 宏汇编126
  5.4.2 重复汇编132
  5.4.3 条件汇编133
 第5章习题136
第6章 Windows编程140
 6.1 操作系统函数调用140
  6.1.1 动态连接库140
  6.1.2 MASM的过程声明和调用141
  6.1.3 程序退出函数142
 6.2 控制台应用程序143
  6.2.1 控制台输出143
  6.2.2 控制台输入145
  6.2.3 单字符输入148
 6.3 图形窗口应用程序149
  6.3.1 消息窗口149
  6.3.2 结构变量150
  6.3.3 MASM的高级语言特性152
  6.3.4 简单窗口程序159
 第6章习题166
第7章 与Visual C++混合编程169
 7.1 嵌入汇编169
 7.2 模块连接172
  7.2.1 约定规则172
  7.2.2 堆栈帧174
 7.3 调用高级语言函数181
  7.3.1 嵌入汇编中调用高级
语言函数181
  7.3.2 汇编语言中调用C库函数181
 7.4 使用Visual C++开发环境183
  7.4.1 汇编语言程序的开发过程183
  7.4.2 汇编语言程序的调试过程184
 第7章习题187
第8章 DOS环境程序设计191
 8.1 DOS编程191
  8.1.1 实地址存储模型191
  8.1.2 DOS应用程序框架193
  8.1.3 DOS功能调用195
 8.2 串操作类指令198
  8.2.1 串传送指令198
  8.2.2 串检测指令200
 8.3 输入输出程序设计203
  8.3.1 输入输出指令203
  8.3.2 定时器初始化编程205
  8.3.3 扬声器控制编程207
 8.4 中断控制编程208
  8.4.1 中断控制系统208
  8.4.2 内部中断服务程序211
  8.4.3 驻留中断服务程序212
 第8章习题214
第9章 浮点、多媒体及64位指令217
 9.1 浮点指令218
  9.1.1 实数编码218
  9.1.2 浮点寄存器221
  9.1.3 浮点指令及其编程224
 9.2 多媒体指令226
  9.2.1 MMX技术227
  9.2.2 SSE技术229
  9.2.3 SSE2技术230
  9.2.4 SSE3技术231
 9.3 64位指令232
  9.3.1 64位方式的运行环境233
  9.3.2 64位方式的指令234
 第9章习题235
附录A 调试程序WinDbg238
附录B 输入输出子程序库252
附录C 32位通用指令列表254
附录D MASM伪指令和操作符列表258
附录E 列表文件符号说明260
附录F 常见汇编错误信息261
参考文献264

教学资源推荐
作者: 吴黎兵 周畅 宋麟
作者: 王瑞民 卢红星 主编 姬波 陈静 朱真峰 柳宏川 参编
作者: Al Kelley, Ira Pohl
作者: 钱丽萍 汪立东 张健 编著
参考读物推荐
作者: (美)P. Taylor Goetz  Brian O'Neill著
作者: Cay S. Horstmann, Gary Cornell
作者: 张路斌 著