x86汇编语言

当前位置:首页 > 计算机网络 > 程序设计 > x86汇编语言

出版社:电子工业出版社
出版日期:2013-1
ISBN:9787121187995
作者:李忠,王晓波,余洁
页数:375页

章节摘录

版权页:   插图:   第13章 程序的动态加载和执行 像我一样,很多人在了解了保护模式的基本工作原理之后,会产生一个疑问。那就是,所有的段在使用之前,都必须以描述符的形式在描述符表中进行定义,那么,像操作系统这样的软件,又怎么能够加载和执行其他各种用户程序呢?毕竟,你并不知道这些程序都定义了哪些段,每个段是什么类型,有多长。 未必所有人都会产生这样的疑惑,但我确实算一个,可能我还不够聪明。事实上,这仅仅是一层窗户纸,一旦捅破了,才发现原来竟是那么简单。从某种意义上来说,保护模式的工作机制对用户程序的加载和执行非但没有增加困难,反而带来了很大的便利。 一套能够充分说明问题的例子需要很大的代码量,也许把本书的汉字都去掉,全部换成代码也不够。不过,只要能说明问题,也不一定非得完善周全、面面俱到。因此,本章中用于加载和处理用户程序的做法,不一定,甚至根本就不是操作系统采用的方法。这一点,务必明了。 计算机硬件之上是软件。软件分两个层次,一是操作系统,二是应用(用户)程序。通常,用户程序只关心问题的解,就是采用各种算法来解决实际问题。至于软件是怎么加载到内存的,怎么定位的,不是它所操心的事。但是,它有义务提供一些必要的信息,来帮助操作系统将自己加载到内存中。 相反,操作系统则必须考虑采用什么方法来加载用户程序,并在适当的时候将处理器的执行流转移到用户代码中去。同时,为了减轻用户程序的工作量,操作系统还应当管理硬件,并提供大量的例程供用户程序使用。比如,显示一个字符串,就不要让用户自己来写代码了,直接调用操作系统的代码即可。但操作系统和用户程序应当协商一种机制,让用户程序能够在使用这些例程时,不必考虑和关心它们的位置。 本章提供了一个小小的“操作系统”,因为当不起这么大的名称,所以叫“内核”或者“核心”。即使是这样,它依然当不起,因为它实在是太简单了。不过,也没有办法,就这么凑合着叫吧。 内核不能放到主引导扇区里,毕竟它都很大。所以,计算机首先从主引导程序开始执行,主引导程序负责加载内核,并转交控制权。然后,内核负责加载用户程序,并提供各种例程给用户程序调用。提供给用户程序调用的例程也叫应用程序接口(Application Programming Interface,API),本章用简单的方法来允许用户程序使用API工作。 本章学习目标: 1.了解保护模式是为操作系统提供的技术,并没有给普通应用程序的编程带来负担(这从本章的程序实例中就可以看出来)。 2.学习操作系统在保护模式下加载和重定位应用程序的一般原理,学习简单的内存动态分配,了解应用程序接口API的简单原理,学习字符串的比较算法。 3.学习若干x86处理器的新指令,包括bswap、cpuid、cmovcc、sgdt、movzx、movsx、cmpsb、cmpsw、cmpsd和xlat等。

书籍目录

目录
第1部分 预备知识
第1章 十六进制计数法
3
1.1 二进制计数法回顾
3
1.1.1 关于二进制计数法
3
1.1.2 二进制到十进制的转换
4
1.1.3 十进制到二进制的转换
4
1.2 十六进制计数法
5
1.2.1 十六进制计数法的原理
5
1.2.2 十六进制到十进制的转换
6
1.2.3 十进制到十六进制的转换
6
1.2.4 为什么需要十六进制
6
1.3 使用Windows计算器方便你的学习过程
8
本章习题
9
第2章 处理器、内存和指令
10
2.1 最早的处理器
10
2.2 寄存器和算术逻辑部件
10
2.3 内存储器
12
2.4 指令和指令集
14
2.5 古老的Intel 8086处理器
16
2.5.1 8086的通用寄存器
16
2.5.2 程序的重定位难题
16
2.5.3 内存分段机制
19
2.5.4 8086的内存分段机制
21
本章习题
24
第3章 汇编语言和汇编软件
25
3.1 汇编语言简介
25
3.2 NASM编译器
27
3.2.1 NASM的下载和安装
27
3.2.2 代码的书写和编译过程
27
3.2.3 用HexView观察编译后的机器代码
30
本章习题
31
第4章 虚拟机的安装和使用
32
4.1 计算机的启动过程
32
4.1.1 如何将编译好的程序提交给处理器
32
4.1.2 计算机的加电和复位
33
4.1.3 基本输入输出系统
33
4.1.4 硬盘及其工作原理
34
4.1.5 一切从主引导扇区开始
36
4.2 创建和使用虚拟机
37
4.2.1 别害怕,虚拟机是软件
37
4.2.2 下载和安装Oracle VM VirtualBox
37
4.2.3 虚拟硬盘简介
39
4.2.4 练习使用FixVhdWr工具向虚拟硬盘写数据
40
第2部分 实模式
第5章 编写主引导扇区代码
45
5.1 本章代码清单
45
5.2 欢迎来到主引导扇区
45
5.3 注释
46
5.4 在屏幕上显示文字
46
5.4.1 显卡和显存
46
5.4.2 初始化段寄存器
49
5.4.3 显存的访问和ASCII代码
49
5.4.4 显示字符
51
5.4.5 MOV指令的格式
52
5.5 显示标号的汇编地址
54
5.5.1 标号
54
5.5.2 如何显示十进制数字
58
5.5.3 在程序中声明并初始化数据
58
5.5.4 分解数的各个数位
59
5.5.5 显示分解出来的各个数位
63
5.6 使程序进入无限循环状态
64
5.7 完成并编译主引导扇区代码
66
5.7.1 主引导扇区有效标志
66
5.7.2 代码的保存和编译
67
5.8 加载和运行主引导扇区代码
67
5.8.1 把编译后的指令写入主引导扇区
67
5.8.2 启动虚拟机观察运行结果
68
5.9 程序的调试技术
68
5.9.1 开源的Bochs虚拟机软件
68
5.9.2 Bochs下的程序调试入门
69
本章习题
75
第6章 相同的功能,不同的代码
76
6.1 代码清单6-1
76
6.2 跳过非指令的数据区
76
6.3 在数据声明中使用字面值
77
6.4 段地址的初始化
77
6.5 段之间的批量数据传送
78
6.6 使用循环分解数位
80
6.7 计算机中的负数
81
6.7.1 无符号数和有符号数
81
6.7.2 处理器视角中的数据类型
85
6.8 数位的显示
87
6.9 其他标志位和条件转移指令
88
6.9.1 奇偶标志位PF
88
6.9.2 进位标志CF
89
6.9.3 溢出标志OF
89
6.9.4 现有指令对标志位的影响
90
6.9.5 条件转移指令
90
6.10 NASM编译器的$和$$标记
92
6.11 观察运行结果
93
6.12 本章程序的调试
93
6.12.1 调试命令“n”的使用
93
6.12.2 调试命令“u”的使用
94
6.12.3 用调试命令“info”察看标志位
96
本章习题
97
第7章 比高斯更快的计算
98
7.1 从1加到100的故事
98
7.2 代码清单7-1
98
7.3 显示字符串
98
7.4 计算1到100的累加和
99
7.5 累加和各个数位的分解与显示
99
7.5.1 栈和栈段的初始化
99
7.5.2 分解各个数位并压栈
101
7.5.3 出栈并显示各个数位
103
7.5.4 进一步认识栈
104
7.6 程序的编译和运行
105
7.6.1 观察程序的运行结果
105
7.6.2 在调试过程中察看栈中内容
106
7.7 8086处理器的寻址方式
107
7.7.1 寄存器寻址
107
7.7.2 立即寻址
107
7.7.3 内存寻址
108
本章习题
112
第8章 硬盘和显卡的访问与控制
113
8.1 本章代码清单
114
8.2 用户程序的结构
114
8.2.1 分段、段的汇编地址和段内汇编地址
114
8.2.2 用户程序头部
117
8.3 加载程序(器)的工作流程
120
8.3.1 初始化和决定加载位置
120
8.3.2 准备加载用户程序
121
8.3.3 外围设备及其接口
122
8.3.4 I/O端口和端口访问
123
8.3.5 通过硬盘控制器端口读扇区数据
125
8.3.6 过程调用
127
8.3.7 加载用户程序
133
8.3.8 用户程序重定位
134
8.3.9 将控制权交给用户程序
137
8.3.10 8086处理器的无条件转移指令
138
8.4 用户程序的工作流程
140
8.4.1 初始化段寄存器和栈切换
140
8.4.2 调用字符串显示例程
141
8.4.3 过程的嵌套
142
8.4.4 屏幕光标控制
142
8.4.5 取当前光标位置
143
8.4.6 处理回车和换行字符
144
8.4.7 显示可打印字符
145
8.4.8 滚动屏幕内容
145
8.4.9 重置光标
146
8.4.10 切换到另一个代码段中执行
146
8.4.11 访问另一个数据段
147
8.5 编译和运行程序并观察结果
147
本章习题
148
第9章 中断和动态时钟显示
149
9.1 外部硬件中断
149
9.1.1 非屏蔽中断
150
9.1.2 可屏蔽中断
150
9.1.3 实模式下的中断向量表
152
9.1.4 实时时钟、CMOS RAM和BCD编码
154
9.1.5 代码清单9-1
157
9.1.6 初始化8259、RTC和中断向量表
157
9.1.7 使处理器进入低功耗状态
159
9.1.8 实时时钟中断的处理过程
160
9.1.9 代码清单9-1的编译和运行
162
9.2 内部中断
163
9.3 软中断
163
9.3.1 BIOS中断
163
9.3.2 代码清单9-2
165
9.3.3 从键盘读字符并显示
165
9.3.4 代码清单9-2的编译和运行
165
本章习题
166
第3部分 32位保护模式
第10章 32位x86处理器编程架构
169
10.1 IA-32架构的基本执行环境
169
10.1.1 寄存器的扩展
169
10.1.2 基本的工作模式
172
10.1.3 线性地址
173
10.2 现代处理器的结构和特点
174
10.2.1 流水线
174
10.2.2 高速缓存
175
10.2.3 乱序执行
175
10.2.4 寄存器重命名
176
10.2.5 分支目标预测
177
10.3 32位模式的指令系统
178
10.3.1 32位处理器的寻址方式
178
10.3.2 操作数大小的指令前缀
179
10.3.3 一般指令的扩展
181
本章习题
184
第11章 进入保护模式
185
11.1 代码清单11-1
185
11.2 全局描述符表
186
11.3 存储器的段描述符
187
11.4 安装存储器的段描述符并加载GDTR
191
11.5 关于第21条地址线A20的问题
193
11.6 保护模式下的内存访问
195
11.7 清空流水线并串行化处理器
199
11.8 保护模式下的栈
200
11.8.1 关于栈段描述符中的界限值
200
11.8.2 检验32位下的栈操作
201
11.9 程序的运行和调试
202
11.9.1 运行程序并观察结果
202
11.9.2 处理器刚加电时的段寄存器状态
203
11.9.3 设置PE位后的段寄存器状态
205
11.9.4 JMP指令执行后的段寄存器状态
205
11.9.5 察看全局描述符表GDT
206
11.9.6 察看控制寄存器的内容
207
本章习题
207
第12章 存储器的保护
208
12.1 代码清单12-1
208
12.2 进入32位保护模式
208
12.2.1 话说mov ds,ax和mov ds,eax
208
12.2.2 创建GDT并安装段描述符
209
12.3 修改段寄存器时的保护
211
12.4 地址变换时的保护
213
12.4.1 代码段执行时的保护
213
12.4.2 栈操作时的保护
214
12.4.3 数据访问时的保护
216
12.5 使用别名访问代码段对字符排序
217
12.6 程序的编译和运行
219
本章习题
220
第13章 程序的动态加载和执行
221
13.1 本章代码清单
222
13.2 内核的结构、功能和加载
222
13.2.1 内核的结构
222
13.2.2 内核的加载
223
13.2.3 安装内核的段描述符
225
13.3 在内核中执行
229
13.4 用户程序的加载和重定位
230
13.4.1 用户程序的结构
230
13.4.2 计算用户程序占用的扇区数
232
13.4.3 简单的动态内存分配
233
13.4.4 段的重定位和描述符的创建
234
13.4.5 重定位用户程序内的符号地址
238
13.5 执行用户程序
242
13.6 代码的编译、运行和调试
243
本章习题
244
第14章 任务和特权级保护
245
14.1 任务的隔离和特权级保护
246
14.1.1 任务、任务的LDT和TSS
246
14.1.2 全局空间和局部空间
248
14.1.3 特权级保护概述
250
14.2 代码清单14-1
257
14.3 内核程序的初始化
257
14.3.1 调用门
258
14.3.2 调用门的安装和测试
261
14.4 加载用户程序并创建任务
264
14.4.1 任务控制块和TCB链
264
14.4.2 使用栈传递过程参数
266
14.4.3 加载用户程序
268
14.4.4 创建局部描述符表
269
14.4.5 重定位U-SALT表
270
14.4.6 创建0、1和2特权级的栈
271
14.4.7 安装LDT描述符到GDT中
271
14.4.8 任务状态段TSS的格式
272
14.4.9 创建任务状态段TSS
276
14.4.10 安装TSS描述符到GDT中
276
14.4.11 带参数的过程返回指令
277
14.5 用户程序的执行
278
14.5.1 通过调用门转移控制的完整过程
278
14.5.2 进入3特权级的用户程序的执行
281
14.5.3 检查调用者的请求特权级RPL
284
14.5.4 在Bochs中调试程序的新方法
286
本章习题
286
第15章 任务切换
287
15.1 本章代码清单
287
15.2 任务切换前的设置
287
15.3 任务切换的方法
289
15.4 用call/jmp/iret指令发起任务切换的实例
292
15.5 处理器在实施任务切换时的操作
296
15.6 程序的编译和运行
298
本章习题
299
第16章 分页机制和动态页面分配
300
16.1 分页机制概述
301
16.1.1 简单的分页模型
301
16.1.2 页目录、页表和页
305
16.1.3 地址变换的具体过程
307
16.2 本章代码清单
308
16.3 使内核在分页机制下工作
309
16.3.1 创建内核的页目录表和页表
309
16.3.2 任务全局空间和局部空间的页面映射
314
16.4 创建内核任务
319
16.4.1 内核的虚拟内存分配
319
16.4.2 页面位映射串和空闲页的查找
320
16.4.3 创建页表并登记分配的页
323
16.4.4 创建内核任务的TSS
324
16.5 用户任务的创建和切换
325
16.5.1 多段模型和段页式内存管理
325
16.5.2 平坦模型和用户程序的结构
327
16.5.3 用户任务的虚拟地址空间分配
328
16.5.4 用户程序的加载
329
16.5.5 段描述符的创建(平坦模型)
332
16.5.6 重定位U-SALT并复制页目录表
333
16.5.7 切换到用户任务执行
334
16.6 程序的编译、执行和调试
336
16.6.1 本章程序的编译和运行方法
336
16.6.2 察看CR3寄存器的内容
337
16.6.3 察看线性地址对应的物理页信息
337
16.6.4 察看当前任务的页表信息
338
16.6.5 使用线性(虚拟)地址调试程序
339
本章习题
339
第17章 中断和异常的处理与抢占式多任务
340
17.1 中断和异常
340
17.1.1 中断和异常概述
340
17.1.2 中断描述符表、中断门和陷阱门
343
17.1.3 中断和异常处理程序的保护
345
17.1.4 中断任务
347
17.1.5 错误代码
348
17.2 本章代码清单
349
17.3 内核的加载和初始化
349
17.3.1 彻底终结多段模型
349
17.3.2 创建中断描述符表
352
17.3.3 用定时中断实施任务切换
354
17.3.4 8259A芯片的初始化
359
17.3.5 平坦模型下的字符串显示例程
362
17.4 内核任务的创建
362
17.4.1 创建内核任务的TCB
362
17.4.2 宏汇编技术
364
17.5 用户任务的创建
366
17.5.1 准备加载用户程序
366
17.5.2 转换后援缓冲器的刷新
367
17.5.3 用户任务的创建和初始化
368
17.6 程序的编译和执行
370
本章习题
371
附录Ⅰ 本书用到的x86指令及其页码
372
附录Ⅱ 本书用到的重要图表及其页码
374

编辑推荐

《x86汇编语言:从实模式到保护模式》主要讲述INTEL x86处理器的16位实模式、32位保护模式,至于虚拟8086模式,则是为了兼容传统的8086程序,现在看来已经完全过时,不再进行讲述。《x86汇编语言:从实模式到保护模式》的特色之一是提供了大量典型的源代码,这些代码以及相配套的工具程序可以到书中指定的网站,或者电子工业出版社华信教育资源网搜索下载。

作者简介

《x86汇编语言:从实模式到保护模式》采用开源的NASM汇编语言编译器和VirtualBox虚拟机软件,以个人计算机广泛采用的Intel处理器为基础,详细讲解了Intel处理器的指令系统和工作模式,以大量的代码演示了16/32/64位软件的开发方法,介绍了处理器的16位实模式和32位保护模式,以及基本的指令系统。 
《x86汇编语言:从实模式到保护模式》是一本有趣的书,它没有把篇幅花在计算一些枯燥的数学题上。相反,它教你如何直接控制硬件,在不借助于BIOS、DOS、Windows、Linux或者任何其他软件支持的情况下来显示字符、读取硬盘数据、控制其他硬件等。《x86汇编语言:从实模式到保护模式》可作为大专院校相关专业学生和计算机编程爱好者的教程。

图书封面


 x86汇编语言下载 精选章节试读 更多精彩书评



发布书评

 
 


精彩书评 (总计1条)

  •     恳请创建者更改为《x86汇编语言:从实模式到保护模式》 .不然就违背了作者本身意图。大家可以加我的QQ:1658843124 进行讨论,我们一起互相学习,互相交流,也会有作者的亲自指点。谢谢大家 评论字数至于这么多吗?

精彩短评 (总计71条)

  •     开发操作系统的第一步,学习汇编的必备
  •     我不知道正版书籍什么样子,但是这本书发过来,纸张很薄,而且页面发黄,像是旧书。页角都褶皱了……快递速度还好。
  •     非常好的一本汇编方面的书,有别于其他一开始就上来一堆指令介绍的书,本书以一种演绎的方式讲述了汇编到计算机体系结构的方面的知识,读来知其然也只其所以然。另外,攒下作者的叙事条例和不错的文字功底
  •     个人看过的x86汇编讲解最系统,最细致的一本书。
  •     挺实用的,书真的不错,还会来买
  •     偶然的机会在书店读了这本书,以前读过王爽写的汇编语言,看到最后发现仅仅讲了实模式的汇编语言,而没有保护模式的汇编语言,觉得很遗憾,而其他的保护模式的书,说实话,我也看过,但是实在是读不下去。而这本书的语言确实比较不错,读起来并不觉得枯燥,更重要的是。实验配置的很好,如果你想写一个小型的操作系统内核,这本书,再适合不过了,因为全书的实验就是在无操作系统的环境下讲解的,从引到扇区开始讲解,最后到如何跳转到保护模式,并且作者自己编写了一个不叫内核的内核,用来加载用户的程序。
    我个人觉得,在不参考配套源码的情况下,如果看着书的讲解,自行编写程序,并运行和调试程序,最后再对照配套源码,收获更大,我是在linux下,做的实验。而没有使用作者提供的在windows下的工具。觉得收获很大。
    另外书也是有错误的,很明显有很多错别字。不过并不影响阅读,
    还要再说一下,同样是一本武林秘籍,在不同的人手中,发挥的作用和效力也是不同的,既然买下了这本书,希望能坚持看完。
    全力推荐。
  •     书很好,讲解很清楚
  •     好,这本很好,这本真的很好。
  •     很好的计算机资料,能系统的学习汇编
  •     很不错的书,是我的入门书呀
  •     内容简单易懂,较实用,非常不错。
  •     还行吧,为什么要5个字
  •     书很好,装订不错,内容也很好,值得一读。
  •     非常系统这本书
  •     X86实模式到保护模式是我看过所有书里讲的最明白的。力荐。
  •     最近翻了翻这本书,这是一本通俗的Assembly的书,看得出作者对自己所写的已经吃的很透,而且下了不少功夫。本来low level的编程就没那么神秘,只是不合格的教育让这些神秘化了。但是作为书籍,我觉得可以在方便阅读上做点更多的考虑。书中可以一边列源码,一边讲解,利于在厕所里或者在床上看。另外,有些地方写的有些罗嗦和重复,可以更加简洁。希望下一版改进。
  •     学完后可以看X86X64体系探索与编程(也是用NASM)和自己动手写操作系统通过实践学习操作系统
  •     买这本书是为了在看“一个操作系统的实现”之前有个铺垫。本书对实模式和保护模式的讲解非常详细明白,并且我也看懂了,也写出代码折腾了。但是之后有关操作系统的部分就只适合了解,不是那么值得实践了。主要原因在于书中的例子都是作者自己的作品,我觉得如果涉及到实践,不如去读Linux的源代码。
  •     面向的是汇编入门者,但是后几章真的是很不错,读完之后会对实模式和保护模式、系统的基本引导过程、中断的过程、程序的执行过程有非常清楚的了解。
  •     很棒的一本书之前读过作者的《穿越计算机的迷雾》一书
  •     这本书不错,采用任务推动模式,讲的也挺好,不过还是需要先看点儿基础的知识。另外书里有一些错误,看的时候不知道能坑死初学者,建议买了之后上网查查订正信息。
  •     前面部分讲得不错
  •     我发现这书上提的有光盘,光盘呢?
  •     之前看过被奉为经典的王爽老师的汇编教程,那真的是简明易学,但是总觉得和实际运用不太沾边,毕竟8086的时代还是太遥远了,作为奠基性的学习还是有必要的;罗云彬的Win32汇编教程同样也是经典,但那本书主要立足于Win32平台下的API编程,对于保护模式的机制并没有做过多的讲解(开头提了一下)。这本书正好弥补了两者之间的断层,另外,这本书使用NASM编译器,让我们这种熟悉了MASM的人开始有些不适应,不过慢慢习惯就好了,毕竟只是编译器而已。
  •     还行,只是过于简单了点,拿来做入门还是可以的。保护模式写得还行。
  •     正版,还很便宜,支持网购
  •     还行,但是还有不少地方需要再细化的。希望作者在第二版中补充
  •     非常好,值得购买,此书填补国内空白。作者在书中的语言平易近人。只要认真阅读本书,肯定能学到东西。
  •     比本科的汇编教材要好很多,非常实用 。
  •     第一次认真反复看的书,受益不少。感谢作者!不知道是否有勘误表,阅读中发现了一些瑕疵,想对照一下。
  •     写的不同于一般的教科书,适合自学的人
  •     快递给力,当当不给力,给了本95成新的书,不是全新的。里面的内容还是不错的。
  •     内容很好,很好,很好,很好。
  •     保护模式将的不错。学不会保护模式的可以买了,实模式感觉跟王爽老师的没法比。
  •     看了前半本,和《穿越计算机的迷雾》相比,可是差的太远了;递进的逻辑性没有了。也不成体系,没有太大参考价值。
  •     买了学习使用的,送货上门很方便的!很合适@
  •     这是我见过的写汇编写得最深入的一本,的确写了很多不为人知的细节,一个字,赞
  •     看了作者放出的样章,最大的感觉是废话太多。作为有兴趣(或需求)来学习汇编语言的读者,应该都已经有相当程度的计算机基础知识。鉴于此,作者应该尽量减少一些无关(或过于详细)的背景介绍。由于看了很久都没有开始真正的”硬货“(浏览了后面的章节,貌似”硬货“也是夹杂在一堆东拉西扯之中),我不得不失望的先放下它。转而拿起nasm手册姑且读之。。。... 阅读更多
  •     在看感觉还行,先了解一下
  •     书的材质我很满意。 但是不小心地址填错一个字,竟然没人联系我、 直到我自己发现
  •     要开始干操作系统的同学建议先用这本书来补一补汇编。
  •     通俗易懂吧,引领我对系统了解的入门神器
  •     想写x86机器上的操作系统必看!比于渊的书强多了!!
  •     破书一本,这里讲点那里讲点,会了看了也没用,不会看了照样不会,还是去看三卷本把,买后悔了
  •     内容详实,适合初学者
  •     这本书从基础讲起,很详细,值得一看
  •     个人觉得弥补了 罗云彬32位 和 王爽16位的的中间部分~~~还是不错的~~
  •     书的内容没得说,写的很用心,不像国内的课本那样语言生硬。不过这纸实在对不起这价钱,真是薄的半透明了
  •     书的内容还行,适合初学汇编的朋友,但是印刷质量实在不怎么样, 纸很薄。
  •     不错,有启发,或者说作者都告诉你了。
  •     内容经典不错,值得买
  •     不错的好书,需要耐心看完。
  •     简单易懂!
  •     看完了,还可以,但其实没有耐心看完快一千行用汇编写的四不像内核,把保护模式讲清楚就行了,想了解OS就去看专门讲OS的书。
  •     对于作者,曾在群里和他交谈过.他确实厉害,就是比较贪钱.哎.
  •     看王爽的书后,想了解下保护模式,实模式的。 电子版网上有下不过不全,代码和工具相关的网上也能找到
  •     内容经过作者验证,逐步分析,有实践经验的人写的,不过13章-2的程序编译通不过,后面的程序有点大,看的头疼
  •     很不错的书,学完了王爽的实模式汇编后再来看本书更是受益匪浅
  •     今天刚收到书,内容不错,是我想看的。但是书的纸质太差,都能看到下一页的内容,从纸质来说,此书定价偏高。
  •     作者苦口婆心,兼顾到初学者和有一定基础的同学需要,循序渐进,从最基础的2进制开始逐步升入,讲得透彻。国外同类书籍虽然都讲的细致、透彻,但篇幅实在可怕。这本篇幅虽然不大,却涵盖了汇编的所有基础性内容,其深度不亚于一部美国的大部头,让我想到了中国传统智慧四两拨千斤的巧劲。相比较而言,王爽的书还是多多少少有些国内教科书的味道,有点“冷冰冰”,对读者的考虑不是很够。国... 阅读更多
  •     书很好,就是书皮有些脏,擦擦就好。
  •     很少有讲nasm的书 这本不错
  •     非常系统能的学习汇编,实模式及保护模式讲解的非常清楚,正如作者所言,非常舍得大家一读。
  •     2012-2014,通过这本书学习了汇编,以及驱动编程。
  •     目前读过国人自己写的汇编书籍中最好的一本。王爽的汇编固然好,但是内容还是太老了。这本从实模式讲到保护模式,基本上x86下面写一个简易内核需要涉及到的汇编知识都有。
  •     汇编本来就和操作系统不可分的。这本书还原汇编的本质,在操作系统的基础上进行讲解。适合用来学习汇编
  •     讲还很比较直观容易懂。
  •     简单明了
  •     对汇编学习来说,内容一般偏上吧。还没有到非常好
  •     大部分书都是介绍8086的而且语法偏多。这本书就好很多,实用性比较强。汇编语言么,偏操作系统和硬件才好。
  •     作者技术功底和语言功底都不错,看起来很舒服,说得也很清楚。
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024