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

x86汇编语言程序设计

x86汇编语言程序设计

定 价:¥48.80

作 者: 许向阳 著
出版社: 华中科技大学出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787568063111 出版时间: 2020-08-01 包装: 平装
开本: 16开 页数: 340 字数:  

内容简介

  本书立足于目前使用为广泛的Intel x8632和x8664系列的CPU、Windows操作系统及Visual Studio 2019开发平台,从汇编语言这种直观和直接的角度,揭示计算机工作的基本原理、C语言语句和函数的处理过程、程序优化的技巧。 全书共分为19章。前5章介绍了汇编语言程序设计的基本知识,包括CPU、内存、寻址方式和常用机器指令;第6章至第11章介绍了x8632位控制台应用程序设计,包括顺序和分支、循环、子程序设计、多模块化程序设计;第12章为中断和异常处理;第13章是Win32窗口程序设计;第14章至第17章介绍了x87 FPU、MMX、SSE、AVX程序设计;第18章为x8664位汇编程序设计;第19章为上机操作。 本书内容新颖,覆盖面广,重点突出,直观易懂,趣味性强,可供各类高等院校计算机及相关专业作为教材,也可供广大使用汇编语言的工程技术人员参考。

作者简介

  华中科技大学计算机科学与技术学院副教授。1991年毕业于华中科技大学计算机学院,获得软件专业硕士学位。从事数据库科研工作多年,对数据库管理系统的总体设计、并发控制、查询优化、数据库安全、并行数据库有较深的研究,在国内权威和重要期刊上发表论文20多篇。从事汇编语言程序设计、人工智能的教学工作多年,为国家精品课程“汇编语言程序设计”的主要建设者之一。

图书目录

1.1什么是汇编语言(1)
1.1.1机器语言(1)
1.1.2汇编语言(2)
1.2为什么学习汇编语言(4)
1.3如何学习汇编语言(7)
1.4汇编语言源程序举例(9)
1.5计算机中信息编码的奥秘(12)
1.6使用符号的说明(14)
习题1(15)
上机实践1(16)
第2章Intel中央处理器(17)
2.1Intel公司微处理器的发展史(17)
2.2Intel x86微处理器结构(19)
2.3执 行 部 件(20)
2.3.132位CPU中的通用寄存器(21)
2.3.2通用寄存器应用示例(22)
2.4标志寄存器(23)
2.4.1条件标志位(24)
2.4.2控制标志位(26)
2.4.3系统标志位(27)
2.5指令预取部件和指令译码部件(27)
2.6分段部件和分页部件(28)
2.7x86的三种工作方式(30)
2.8Intel公司酷睿微体系结构(31)
习题2(33)
上机实践2(34)
第3章主存储器及数据在计算机内的表示形式(35)
3.1主存储器(35)
3.1.1数据存储的基本形式(35)
3.1.2数据地址的类型及转换(36)
3.2数值数据在计算机内的表示形式(37)
3.2.1有符号数和无符号数表示法(37)
3.2.2BCD码(38)
3.3字符数据在计算机内的表示形式(39)
3.4数据段定义(39)
3.4.1数据定义伪指令(40)
3.4.2表达式(40)
3.4.3汇编地址计数器(42)
3.4.4数据段定义示例(43)
3.5主存储器分段管理(44)
3.6主存储器物理地址的形成(45)
3.6.18086和x8632实方式下物理地址的形成(45)
3.6.2保护方式下物理地址的形成(47)
习题3(50)
上机实践3(51)
第4章寻址方式(53)
4.1寻址方式概述(53)
4.2立即寻址(54)
4.3寄存器寻址(56)
4.4直接寻址(57)
4.4.1直接寻址的基本概念(57)
4.4.2直接寻址的用法示例(58)
4.5寄存器间接寻址(60)
4.5.1寄存器间接寻址的基本用法(60)
4.5.2寄存器间接寻址与C语言指针的比较(62)
4.6变址寻址(63)
4.7基址加变址寻址(64)
4.8寻址方式综合举例(66)
4.9x86机器指令编码规则(68)
4.108086/80386的寻址方式(73)
习题4(74)
上机实践4(77)
第5章常用机器指令(79)
5.1通用机器指令概述(79)
5.2数据传送指令(80)
5.2.1一般数据传送指令(80)
5.2.2带条件的数据传送指令(82)
5.2.3堆栈操作指令(83)
5.2.4标志寄存器传送指令(86)
5.2.5地址传送指令(88)
5.3算术运算指令(89)
5.3.1加法指令(90)
5.3.2减法指令(91)
5.3.3乘法指令(92)
5.3.4除法指令(94)
5.3.5符号扩展指令(95)
5.4逻辑运算指令(95)
5.5移位指令(97)
5.7位操作和字节操作指令(99)
5.8标志位控制指令和杂项指令(100)
5.9I/O指令(100)
习题5(102)
上机实践5(103)
第6章顺序和分支程序设计(105)
6.1概述(105)
6.2程序中的伪指令(107)
6.2.1处理器选择伪指令(107)
6.2.2存储模型说明伪指令(108)
6.2.3段定义及程序结束伪指令(109)
6.3转移指令(110)
6.3.1转移指令概述(110)
6.3.2简单条件转移指令(110)
6.3.3无符号条件转移指令(111)
6.3.4有符号条件转移指令(113)
6.3.5无条件转移指令(114)
6.4简单分支程序设计(115)
6.4.1C语言的if语句与汇编语句的对应关系(115)
6.4.2分支程序设计示例(117)
6.4.3分支程序设计注意事项(120)
6.5多分支程序设计(121)
6.5.1多分支向无分支的转化(121)
6.5.2switch语句的编译(123)
6.6条件控制流伪指令(125)
习题6(128)
上机实践6(129)
第7章循环程序设计(131)
7.1循环程序(131)
7.1.1循环程序的结构(131)
7.1.2循环控制方法(132)
7.1.3循环控制指令(134)
7.2单重循环程序设计(137)
7.3多重循环程序设计(139)
7.4循环程序中的细节分析(141)
7.5与C循环程序反汇编的比较(145)
7.6循环控制伪指令(148)
习题7(150)
上机实践7(151)
第8章子程序设计(152)
8.1子程序的概念(152)
8.2子程序的基本用法(153)
8.2.1子程序的定义(153)
8.2.2子程序的调用和返回(154)
8.2.3在主程序与子程序之间传递参数(155)
8.2.4子程序调用现场的保护(157)
8.2.5子程序设计应注意的问题(158)
8.3子程序应用示例(159)
8.3.1字符串的比较(159)
8.3.2数串转换(161)
8.3.3串数转换(163)
8.3.4自我修改返回地址的子程序(165)
8.3.5自我修改的子程序(168)
8.4C语言程序中函数的运行机理(169)
8.5汇编语言中子程序的高级用法(172)
8.5.1局部变量的定义和使用(173)
8.5.2子程序的原型说明、定义和调用(174)
8.5.3子程序的高级用法举例(176)
8.6递归子程序的设计(177)
习题8(180)
上机实践8(181)
第9章串处理程序设计(183)
9.1串操作指令简介(183)
9.2串传送指令(185)
9.3串比较指令(187)
9.4串搜索指令(189)
9.5向目的串中存数指令(190)
9.6从源串中取数指令(191)
习题9(192)
上机实践9(192)
第10章复合数据类型的定义和使用(194)
10.1结构体(194)
10.1.1结构体的定义(194)
10.1.2结构变量的定义(195)
10.1.3结构变量的访问(196)
10.1.4结构信息的自动计算(198)
10.2结构变量的数据存储(200)
10.2.1汇编语言中结构变量的存储(200)
10.2.2与C语言结构变量存储的差异(201)
10.3联合体(202)
习题10(203)
上机实践10(203)
第11章程序设计的其他方法(205)
11.1汇编语言多模块化程序设计(205)
11.2C语言程序和汇编语言程序的混合(209)
11.2.1函数的申明和调用(209)
11.2.2变量的申明和调用(210)
11.3内嵌汇编(211)
11.4模块程序设计中的注意事项(213)
11.5宏功能程序设计(214)
11.5.1宏定义(214)
11.5.2宏调用(215)
11.5.3宏指令与子程序的比较(216)
11.6可执行文件的格式(217)
习题11(223)
上机实践11(224)
第12章中断和异常处理(225)
12.1中断与异常的基础知识(225)
12.1.1中断和异常的概念(225)
12.1.2中断描述符表(227)
12.1.3中断和异常的响应过程(229)
12.1.4软中断指令(230)
12.2Windows中的结构化异常处理(231)
12.2.1编写异常处理函数(231)
12.2.2异常处理程序的注册(232)
12.2.3全局异常处理程序的注册(234)
12.3C语言异常处理程序反汇编分析(236)
习题12(239)
上机实践12(239)
第13章Win32窗口程序设计(242)
13.1Win32窗口程序设计基础 (242)
13.1.1窗口程序运行的基本过程(242)
13.1.2Windows消息(245)
13.1.3Win32窗口程序的开发环境(247)
13.2Win32窗口应用程序的结构(248)
13.2.1主程序(248)
13.2.2窗口主程序(248)
13.2.3窗口消息处理程序(249)
13.3窗口应用程序开发实例(250)
13.3.1不含资源的窗口程序(250)
13.3.2包含菜单和对话框的窗口程序(253)
13.4与C语言开发的窗口程序比较(260)
习题13(264)
上机实践13(264)
第14章x87 FPU程序设计(265)
14.1浮点数据(265)
14.1.1浮点数据在机内的表示形式(265)
14.1.2浮点类型变量的定义(267)
14.2x87 FPU的寄存器(268)
14.2.1x87 FPU数据寄存器(268)
14.2.2x87 FPU其他寄存器(269)
14.3x87 FPU指令(271)
14.4浮点数处理程序示例(274)
习题14(277)
上机实践14(277)
第15章MMX程序设计(278)
15.1MMX技术简介(278)
15.2MMX指令简介(280)
15.3MMX编程示例(282)
15.4使用C语言编写MMX应用程序(285)
习题15(286)
上机实践15(287)
第16章SSE程序设计(288)
16.1SSE技术简介(288)
16.2SSE指令简介(289)
16.2.1组合和标量单精度浮点指令(290)
16.2.2SSE 64位SIMD整数指令(292)
16.2.3MXCSR状态管理指令(293)
16.2.4缓存控制指令(293)
16.3SSE2及后续版本的指令简介(293)
16.3.1组合双精度浮点数和标量双精度浮点数指令(294)
16.3.264位和128位整数指令(295)
16.4SSE编程示例(296)
16.5使用C语言编写SSE应用程序(297)
习题16(299)
上机实践16(300)
第17章AVX程序设计(301)
17.1AVX技术简介(301)
17.2AVX指令简介(302)
17.2.1新指令(302)
17.2.2功能扩展指令(303)
17.3AVX编程示例(304)
习题17(306)
上机实践17(306)
第18章x8664位汇编程序设计(307)
18.1x8664的运行环境(307)
18.1.1寄存器(307)
18.1.2寻址方式(308)
18.1.3指令系统(309)
18.264位的程序设计(309)
18.2.164位平台下与32位平台下的区别(309)
18.2.2显示一个消息框(312)
18.2.3浮点数运算(312)
18.2.4程序自我修改(313)
18.3x8664机器指令编码规则(314)
习题18(317)
上机实践18(317)
第19章上机操作(318)
19.1创建工程和生成可执行程序(318)
19.2程序的调试(319)
19.3编译链接器的配置(322)
19.4其他操作(324)
附录ASCII字符表(326)
参考文献(327)

本目录推荐