汇编语言程序设计(第5版)

汇编语言程序设计(第5版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2018-06
版次: 5
ISBN: 9787121315886
定价: 52.00
装帧: 其他
开本: 16开
纸张: 胶版纸
131人买过
  • 本书为“十二五”普通高等教育本科*规划教材,是教育部‐微软精品课程教学成果。本书以Intel 80x86指令系统和MASM 6.x为主体,共10章,分为基础和提高两部分。前5章为基础部分,以当前“汇编语言程序设计”课程的教学为目标,讲解16位基本整数指令及其汇编语言程序设计的知识,包括:汇编语言程序设计基础知识,8086指令详解,MASM伪指令和操作符,程序格式,程序结构及其设计方法。后5章为提高部分,介绍汇编语言程序设计的深入内容和实际应用知识,包括:32位80x86 CPU的整数指令系统及其编程,汇编语言与C/C
      混合编程,80x87 FPU浮点指令系统及其编程,多媒体扩展指令系统及其编程,64位指令简介。本书可作为高等院校“汇编语言程序设计”课程的教材或参考书。本书内容广博、语言浅显、结构清晰、实例丰富,也适合电子信息、自动控制等专业的高校学生和成教学生、计算机应用开发人员、深入学习微机应用技术的普通读者阅读。 钱晓捷,男,副教授,郑州大学信息学院。中国计算机学会会员,现任河南省计算机学会教育专委副主任,主要从事计算机系统结构、嵌入式系统、计算机辅助教学等方面的研究。主持教育部-微软、河南省精品课程“汇编语言程序设计”、校级远程教育精品课程“微机原理及接口技术”建设。主持完成“网络CAI课件研究与开发”、“河南省新世纪网络课程建设工程项目”等科研项目。主编10余部高校教材,其中2部属于普通高等教育“十一五”国家级规划教材。具有丰富的教学经历和教研体会,主讲计算机硬件系列课程20余年,主要包括“微机原理及接口技术”、“汇编语言程序设计”、“计算机组织与结构”、“高级计算机系统结构”等。 目  录

    第1章  汇编语言基础知识1

    1.1  计算机系统概述1

    1.1.1  计算机的硬件1

    1.1.2  计算机的软件3

    1.1.3  计算机的程序设计语言3

    1.2  数据表示5

    1.2.1  数制5

    1.2.2  数值的编码8

    1.2.3  字符的编码10

    1.3  Intel 80x86系列微处理器13

    1.3.1  16位80x86微处理器13

    1.3.2  IA-32微处理器14

    1.3.3  Intel 64处理器15

    1.4  微型计算机系统16

    1.5  8086微处理器18

    1.5.1  8086的功能结构18

    1.5.2  8086的寄存器19

    1.5.3  8086的存储器组织22

    1.6  8086的寻址方式25

    1.6.1  8086的机器代码格式26

    1.6.2  立即数寻址方式27

    1.6.3  寄存器寻址方式28

    1.6.4  存储器寻址方式28

    1.6.5  数据寻址的组合30

    习题131

    第2章  8086的指令系统33

    2.1  数据传送类指令33

    2.1.1  通用数据传送指令33

    2.1.2  堆栈操作指令36

    2.1.3  标志传送指令38

    2.1.4  地址传送指令39

    2.2  算术运算类指令39

    2.2.1  状态标志39

    2.2.2  加法指令41

    2.2.3  减法指令42

    2.2.4  乘法指令44

    2.2.5  除法指令44

    2.2.6  符号扩展指令45

    2.2.7  十进制调整指令46

    2.3  位操作类指令49

    2.3.1  逻辑运算指令49

    2.3.2  移位指令50

    2.3.3  循环移位指令51

    2.4  控制转移类指令52

    2.4.1  无条件转移指令53

    2.4.2  条件转移指令54

    2.4.3  循环指令57

    2.4.4  子程序指令58

    2.4.5  中断指令59

    2.5  处理机控制类指令61

    习题263

    第3章  汇编语言程序格式68

    3.1  汇编语言程序的开发68

    3.1.1  汇编语言程序的语句格式68

    3.1.2  汇编语言的源程序框架70

    3.1.3  汇编语言程序的开发过程73

    3.1.4  DOS系统功能调用82

    3.2  参数、变量和标号84

    3.2.1  数值型参数84

    3.2.2  变量定义伪指令86

    3.2.3  变量和标号的属性90

    3.3  程序段的定义和属性92

    3.3.1  DOS的程序结构92

    3.3.2  简化段定义的格式93

    3.3.3  完整段定义的格式97

    3.4  复杂数据结构100

    3.4.1  结构100

    3.4.2  记录102

    习题3103

    第4章  基本汇编语言程序设计106

    4.1  顺序程序设计106

    4.2  分支程序设计107

    4.2.1  单分支结构107

    4.2.2  双分支结构108

    4.2.3  多分支结构109

    4.3  循环程序设计112

    4.3.1  计数控制循环113

    4.3.2  条件控制循环114

    4.3.3  多重循环115

    4.3.4  串操作类指令116

    4.4  子程序设计121

    4.4.1  过程定义伪指令122

    4.4.2  子程序的参数传递124

    4.4.3  子程序的嵌套、递归和重入127

    4.4.4  子程序的应用129

    习题4134

    第5章  高级汇编语言程序设计137

    5.1  高级语言特性137

    5.1.1  条件控制伪指令137

    5.1.2  循环控制伪指令139

    5.1.3  过程声明和过程调用伪指令141

    5.2  宏结构程序设计143

    5.2.1  宏汇编144

    5.2.2  重复汇编149

    5.2.3  条件汇编150

    5.3  模块化程序设计153

    5.3.1  源程序文件的包含153

    5.3.2  目标代码文件的连接158

    5.3.3  子程序库的调入160

    5.4  输入 / 输出程序设计162

    5.4.1  输入/输出指令163

    5.4.2  程序直接控制输入/输出164

    5.4.3  程序查询输入/输出165

    5.4.4  中断服务程序166

    习题5173

    第6章  32位指令及其编程176

    6.1  32位CPU的指令运行环境176

    6.1.1  寄存器177

    6.1.2  寻址方式179

    6.1.3  机器代码格式180

    6.2  32位扩展指令182

    6.2.1  数据传送类指令182

    6.2.2  算术运算类指令184

    6.2.3  位操作类指令185

    6.2.4  串操作类指令185

    6.2.5  控制转移类指令186

    6.3  DOS下的32位程序设计189

    6.4  32位新增指令193

    6.4.1  80386新增指令193

    6.4.2  80486新增指令196

    6.4.3  Pentium新增指令197

    6.4.4  Pentium Pro新增指令201

    6.5  用汇编语言编写32位Windows应用程序202

    6.5.1  32位Windows应用程序的特点203

    6.5.2  32位Windows控制台程序204

    6.5.3  Windows应用程序的开发208

    6.5.4  创建消息窗口209

    6.5.5  创建窗口应用程序210

    习题6217

    第7章  汇编语言与C/C  的混合编程221

    7.1  Turbo C嵌入汇编方式221

    7.1.1  嵌入汇编语句的格式222

    7.1.2  汇编语句访问C语言的数据223

    7.1.3  嵌入汇编的编译过程224

    7.2  Turbo C模块连接方式225

    7.2.1  混合编程的约定规则225

    7.2.2  汇编模块的编译和连接227

    7.2.3  混合编程的参数传递228

    7.2.4  汇编语言程序对C语言程序的调用235

    7.3  汇编语言在Visual C  中的应用238

    7.3.1  嵌入汇编语言指令238

    7.3.2  调用汇编语言过程241

    7.3.3  使用汇编语言优化C  代码245

    7.3.4  使用Visual C  开发汇编语言程序248

    习题7251

    第8章  80x87浮点指令及其编程254

    8.1  浮点数据格式254

    8.1.1  实数和浮点格式254

    8.1.2  80x87的数据格式257

    8.2  浮点寄存器259

    8.3  浮点指令的程序设计262

    8.3.1  浮点传送类指令263

    8.3.2  算术运算类指令265

    8.3.3  超越函数类指令268

    8.3.4  浮点比较类指令269

    8.3.5  FPU控制类指令273

    习题8277

    第9章  多媒体指令及其编程280

    9.1  MMX指令系统280

    9.1.1  MMX的数据结构280

    9.1.2  MMX指令282

    9.1.3  MMX指令的程序设计289

    9.2  SSE指令系统291

    9.2.1  SIMD浮点指令291

    9.2.2  SIMD整数指令299

    9.2.3  高速缓存优化处理指令301

    9.2.4  SSE指令的程序设计302

    9.3  SSE2指令系统306

    9.3.1  SSE2的数据类型306

    9.3.2  SSE2浮点指令307

    9.3.3  SSE2扩展指令312

    9.3.4  SSE2指令的程序设计314

    9.4  SSE3指令系统316

    9.4.1  SSE3指令316

    9.4.2  SSE3指令的程序设计318

    习题9319

    第10章  64位指令简介321

    10.1  64位方式的运行环境321

    10.2  64位方式的指令324

    附录A  调试程序DEBUG328

    A.1  DEBUG程序的调用328

    A.2  DEBUG命令的格式328

    A.3  DEBUG的命令329

    A.4  程序片段的调试方法333

    A.5  可执行程序文件的调试方法334

    A.6  使用调试程序的注意事项336

    附录B  调试程序CodeView338

    B.1  CodeView的菜单命令338

    B.2  CodeView的窗口340

    B.3  CodeView的设置342

    B.4  使用CodeView的调试示例343

    附录C  汇编程序MASM的伪指令和操作符346

    附录D  80x86整数指令系统347

    附录E  常见汇编错误信息353

    附录F  输入/输出子程序库355

    参考文献356
  • 内容简介:
    本书为“十二五”普通高等教育本科*规划教材,是教育部‐微软精品课程教学成果。本书以Intel 80x86指令系统和MASM 6.x为主体,共10章,分为基础和提高两部分。前5章为基础部分,以当前“汇编语言程序设计”课程的教学为目标,讲解16位基本整数指令及其汇编语言程序设计的知识,包括:汇编语言程序设计基础知识,8086指令详解,MASM伪指令和操作符,程序格式,程序结构及其设计方法。后5章为提高部分,介绍汇编语言程序设计的深入内容和实际应用知识,包括:32位80x86 CPU的整数指令系统及其编程,汇编语言与C/C
      混合编程,80x87 FPU浮点指令系统及其编程,多媒体扩展指令系统及其编程,64位指令简介。本书可作为高等院校“汇编语言程序设计”课程的教材或参考书。本书内容广博、语言浅显、结构清晰、实例丰富,也适合电子信息、自动控制等专业的高校学生和成教学生、计算机应用开发人员、深入学习微机应用技术的普通读者阅读。
  • 作者简介:
    钱晓捷,男,副教授,郑州大学信息学院。中国计算机学会会员,现任河南省计算机学会教育专委副主任,主要从事计算机系统结构、嵌入式系统、计算机辅助教学等方面的研究。主持教育部-微软、河南省精品课程“汇编语言程序设计”、校级远程教育精品课程“微机原理及接口技术”建设。主持完成“网络CAI课件研究与开发”、“河南省新世纪网络课程建设工程项目”等科研项目。主编10余部高校教材,其中2部属于普通高等教育“十一五”国家级规划教材。具有丰富的教学经历和教研体会,主讲计算机硬件系列课程20余年,主要包括“微机原理及接口技术”、“汇编语言程序设计”、“计算机组织与结构”、“高级计算机系统结构”等。
  • 目录:
    目  录

    第1章  汇编语言基础知识1

    1.1  计算机系统概述1

    1.1.1  计算机的硬件1

    1.1.2  计算机的软件3

    1.1.3  计算机的程序设计语言3

    1.2  数据表示5

    1.2.1  数制5

    1.2.2  数值的编码8

    1.2.3  字符的编码10

    1.3  Intel 80x86系列微处理器13

    1.3.1  16位80x86微处理器13

    1.3.2  IA-32微处理器14

    1.3.3  Intel 64处理器15

    1.4  微型计算机系统16

    1.5  8086微处理器18

    1.5.1  8086的功能结构18

    1.5.2  8086的寄存器19

    1.5.3  8086的存储器组织22

    1.6  8086的寻址方式25

    1.6.1  8086的机器代码格式26

    1.6.2  立即数寻址方式27

    1.6.3  寄存器寻址方式28

    1.6.4  存储器寻址方式28

    1.6.5  数据寻址的组合30

    习题131

    第2章  8086的指令系统33

    2.1  数据传送类指令33

    2.1.1  通用数据传送指令33

    2.1.2  堆栈操作指令36

    2.1.3  标志传送指令38

    2.1.4  地址传送指令39

    2.2  算术运算类指令39

    2.2.1  状态标志39

    2.2.2  加法指令41

    2.2.3  减法指令42

    2.2.4  乘法指令44

    2.2.5  除法指令44

    2.2.6  符号扩展指令45

    2.2.7  十进制调整指令46

    2.3  位操作类指令49

    2.3.1  逻辑运算指令49

    2.3.2  移位指令50

    2.3.3  循环移位指令51

    2.4  控制转移类指令52

    2.4.1  无条件转移指令53

    2.4.2  条件转移指令54

    2.4.3  循环指令57

    2.4.4  子程序指令58

    2.4.5  中断指令59

    2.5  处理机控制类指令61

    习题263

    第3章  汇编语言程序格式68

    3.1  汇编语言程序的开发68

    3.1.1  汇编语言程序的语句格式68

    3.1.2  汇编语言的源程序框架70

    3.1.3  汇编语言程序的开发过程73

    3.1.4  DOS系统功能调用82

    3.2  参数、变量和标号84

    3.2.1  数值型参数84

    3.2.2  变量定义伪指令86

    3.2.3  变量和标号的属性90

    3.3  程序段的定义和属性92

    3.3.1  DOS的程序结构92

    3.3.2  简化段定义的格式93

    3.3.3  完整段定义的格式97

    3.4  复杂数据结构100

    3.4.1  结构100

    3.4.2  记录102

    习题3103

    第4章  基本汇编语言程序设计106

    4.1  顺序程序设计106

    4.2  分支程序设计107

    4.2.1  单分支结构107

    4.2.2  双分支结构108

    4.2.3  多分支结构109

    4.3  循环程序设计112

    4.3.1  计数控制循环113

    4.3.2  条件控制循环114

    4.3.3  多重循环115

    4.3.4  串操作类指令116

    4.4  子程序设计121

    4.4.1  过程定义伪指令122

    4.4.2  子程序的参数传递124

    4.4.3  子程序的嵌套、递归和重入127

    4.4.4  子程序的应用129

    习题4134

    第5章  高级汇编语言程序设计137

    5.1  高级语言特性137

    5.1.1  条件控制伪指令137

    5.1.2  循环控制伪指令139

    5.1.3  过程声明和过程调用伪指令141

    5.2  宏结构程序设计143

    5.2.1  宏汇编144

    5.2.2  重复汇编149

    5.2.3  条件汇编150

    5.3  模块化程序设计153

    5.3.1  源程序文件的包含153

    5.3.2  目标代码文件的连接158

    5.3.3  子程序库的调入160

    5.4  输入 / 输出程序设计162

    5.4.1  输入/输出指令163

    5.4.2  程序直接控制输入/输出164

    5.4.3  程序查询输入/输出165

    5.4.4  中断服务程序166

    习题5173

    第6章  32位指令及其编程176

    6.1  32位CPU的指令运行环境176

    6.1.1  寄存器177

    6.1.2  寻址方式179

    6.1.3  机器代码格式180

    6.2  32位扩展指令182

    6.2.1  数据传送类指令182

    6.2.2  算术运算类指令184

    6.2.3  位操作类指令185

    6.2.4  串操作类指令185

    6.2.5  控制转移类指令186

    6.3  DOS下的32位程序设计189

    6.4  32位新增指令193

    6.4.1  80386新增指令193

    6.4.2  80486新增指令196

    6.4.3  Pentium新增指令197

    6.4.4  Pentium Pro新增指令201

    6.5  用汇编语言编写32位Windows应用程序202

    6.5.1  32位Windows应用程序的特点203

    6.5.2  32位Windows控制台程序204

    6.5.3  Windows应用程序的开发208

    6.5.4  创建消息窗口209

    6.5.5  创建窗口应用程序210

    习题6217

    第7章  汇编语言与C/C  的混合编程221

    7.1  Turbo C嵌入汇编方式221

    7.1.1  嵌入汇编语句的格式222

    7.1.2  汇编语句访问C语言的数据223

    7.1.3  嵌入汇编的编译过程224

    7.2  Turbo C模块连接方式225

    7.2.1  混合编程的约定规则225

    7.2.2  汇编模块的编译和连接227

    7.2.3  混合编程的参数传递228

    7.2.4  汇编语言程序对C语言程序的调用235

    7.3  汇编语言在Visual C  中的应用238

    7.3.1  嵌入汇编语言指令238

    7.3.2  调用汇编语言过程241

    7.3.3  使用汇编语言优化C  代码245

    7.3.4  使用Visual C  开发汇编语言程序248

    习题7251

    第8章  80x87浮点指令及其编程254

    8.1  浮点数据格式254

    8.1.1  实数和浮点格式254

    8.1.2  80x87的数据格式257

    8.2  浮点寄存器259

    8.3  浮点指令的程序设计262

    8.3.1  浮点传送类指令263

    8.3.2  算术运算类指令265

    8.3.3  超越函数类指令268

    8.3.4  浮点比较类指令269

    8.3.5  FPU控制类指令273

    习题8277

    第9章  多媒体指令及其编程280

    9.1  MMX指令系统280

    9.1.1  MMX的数据结构280

    9.1.2  MMX指令282

    9.1.3  MMX指令的程序设计289

    9.2  SSE指令系统291

    9.2.1  SIMD浮点指令291

    9.2.2  SIMD整数指令299

    9.2.3  高速缓存优化处理指令301

    9.2.4  SSE指令的程序设计302

    9.3  SSE2指令系统306

    9.3.1  SSE2的数据类型306

    9.3.2  SSE2浮点指令307

    9.3.3  SSE2扩展指令312

    9.3.4  SSE2指令的程序设计314

    9.4  SSE3指令系统316

    9.4.1  SSE3指令316

    9.4.2  SSE3指令的程序设计318

    习题9319

    第10章  64位指令简介321

    10.1  64位方式的运行环境321

    10.2  64位方式的指令324

    附录A  调试程序DEBUG328

    A.1  DEBUG程序的调用328

    A.2  DEBUG命令的格式328

    A.3  DEBUG的命令329

    A.4  程序片段的调试方法333

    A.5  可执行程序文件的调试方法334

    A.6  使用调试程序的注意事项336

    附录B  调试程序CodeView338

    B.1  CodeView的菜单命令338

    B.2  CodeView的窗口340

    B.3  CodeView的设置342

    B.4  使用CodeView的调试示例343

    附录C  汇编程序MASM的伪指令和操作符346

    附录D  80x86整数指令系统347

    附录E  常见汇编错误信息353

    附录F  输入/输出子程序库355

    参考文献356
查看详情
12
相关图书 / 更多
汇编语言程序设计(第5版)
汇编语言案例教程(微课版)()
李建俊、张慧明 著
汇编语言程序设计(第5版)
汇编语言:基于x86处理器(原书第8版)
[美]基普·R.欧文(Kip R.Irvine)
汇编语言程序设计(第5版)
汇编语言简明教程(湖北警官学院系列教材)
王宁 著
汇编语言程序设计(第5版)
汇编语言程序设计——基于x86与MIPS架构
何云华
汇编语言程序设计(第5版)
汇编语言上机指导(微课版)
许向前 主编;崔素丽 副主编;李建俊;张慧明;孙曼曼
汇编语言程序设计(第5版)
汇编语言编程基础 基于LoongArch
孙国云 敖琪 王锐
汇编语言程序设计(第5版)
汇编语言:基于x86处理器(英文版·原书第8版)
[美]基普·欧文(Kip R.Irvine)
汇编语言程序设计(第5版)
汇编语言程序设计——基于ARM体系结构(第4版)
文全刚 著
汇编语言程序设计(第5版)
汇编语言与计算机系统组成 第2版
李心广 张晶 潘智刚 罗海涛 编著
汇编语言程序设计(第5版)
汇编语言(基于64位ARMv8体系结构)
钱晓捷
汇编语言程序设计(第5版)
汇编语言程序设计(第3版)(微课版)
刘慧婷 吕钊
汇编语言程序设计(第5版)
汇编语言(第4版)
全国计算机专业技术资格考试办公室 著