李忠 发表于 2013-1-13 10:50:36

《x86汇编语言:从实模式到保护模式》赠书活动

本帖最后由 李忠 于 2013-2-22 12:39 编辑

      截止到2013-2-18,00:00:00,共168个待选楼层。按事先声明的规则,中奖楼层分别为:285684112140请中奖楼层将姓名和地址私信我。        最近,在CSDN论坛看到有人提了一个问题,相信这也是很多人的疑惑。他是这样说的:“当年看王爽的《汇编语言》的时候也是粗略的看的,因为知道他是讲16位程序,总担心有些东西与目前的操作系统不兼容而影响以后的学习思路。他上面讲的指令肯定也比当前32位、64位系统少。最近刚开始看谭文的天书夜读,里面提到了一些新指令和寄存器。也许你又要让我百度、谷歌,但我不喜欢这种方法,这不能系统的、详细的学到新知识,而只能是碰到一个学一个。希望各位给推荐一个32位或64位的汇编语言的书,而不是讲系统的书。比如《windows环境下32位汇编语言程序设计》就不好了,他讲了系统,我目前只需要语言。其实王爽的书最符合要求,即抛开了系统,也提到了硬件。唯独的缺点就是围绕16位。眼下需要的是32位和64位指令和硬件。希望你不要推荐指令手册才好。”
       有以上想法的同学不是少数。正是基于这种现状,电子工业出版社推出了《x86汇编语言:从实模式到保护模式》一书,当当网的链接是http://product.dangdang.com/main/product.aspx?product_id=23163961。
       亚马逊:http://www.amazon.cn/x86%E6%B1%87%E7%BC%96%E8%AF%AD%E8%A8%80-%E4%BB%8E%E5%AE%9E%E6%A8%A1%E5%BC%8F%E5%88%B0%E4%BF%9D%E6%8A%A4%E6%A8%A1%E5%BC%8F-%E6%9D%8E%E5%BF%A0/dp/B00AR0ZSVO。
       与传统的x86汇编语言教材不同,这本书并不基于DOS、WINDOWS和LINUX等等这些流行的操作系统,而是抛开它们,直接面向硬件,用将近6000行代码来展示16位,特别是32位x86处理器的汇编语言程序设计之美。作者相信,只有直接面向硬件,才是学习汇编语言的目的,也才能发挥汇编语言的长处。
       直接面向硬件编程,有助于读者消除对底层的神秘感,觉得很“敞亮”,甚至以前的很多疑惑也都豁然开朗。相反,对初学者来说,不可思议的中断调用或者API只会增加他们的心中的疑团。比如说,通过阅读本书,读者就会明白,为什么在流行的操作系统中,内核与用户代码要位于同一个4GB虚拟地址空间,而不是各自独立地分配一个4GB虚拟地址空间。你会明白,这不是一种策略或者人为规定,而是必须这么做。
       鱼C论坛是广大汇编语言初学者的天堂。为了推广这本书,作者在这里发起一个小小的活动。下面会提出几个调查问题,参与调查的人可以跟帖回复。活动截止日期为2013-2-18,00:00:00,2013年2月18日从回帖中选出5个名额,公布名单并向他们赠送本书1册。
       选择楼层的方法为:(总楼层数×N)/6,结果四舍五入。       其中,N依次为1、2、3 、4、5。
       调查问题:       1、 您知道处理器有实模式和保护模式之分吗?       2、 如果您准备学习汇编语言,动机是什么?       3、 学习汇编语言对你来说,难点在哪里?       4、 这本书的名字是什么?       5、 这本书采用的汇编语言编译器是什么?
       最后,在这里对支持本次活动的朋友们表示感谢。:D

李忠 发表于 2013-1-13 10:56:03

本帖最后由 李忠 于 2013-1-13 10:57 编辑

                                                                              内容 简 介
   
      每一种处理器都有它自己的机器指令集,而汇编语言的发明则是为了方便这些机器指令的记忆和书写。尽管汇编语言已经较少用于大型软件程序的开发,但从学习者的角度来看,要想真正理解计算机的工作原理,掌握它内部的运行机制,学习汇编语言是必不可少的。
   
       这套图书分为两册,采用开源的NASM汇编语言编译器和VirtualBox虚拟机软件,以个人计算机广泛采用的Intel处理器为基础,详细讲解了Intel处理器的指令系统和工作模式,以大量的代码演示了16/32/64位软件的开发方法。上册集中介绍处理器的16位实模式和32位保护模式,以及基本的指令系统;下册侧重于介绍64位工作模式、多处理器管理、高速缓存控制、温度和电源管理、高级可编程中断控制器、多媒体支持等。
       这是一本有趣的书,它没有把篇幅花在计算一些枯燥的数学题上。相反,它教你如何直接控制硬件,在不借助于BIOS、DOS、Windows、Linux或者任何其他软件支持的情况下来显示字符、读取硬盘数据、控制其他硬件等。本书可作为大专院校相关专业学生和计算机编程爱好者的教程。

       未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。
       版权所有,侵权必究。

       图书在版编目(CIP)数据
       x86汇编语言:从实模式到保护模式/李忠,王晓波,余洁著.
       —北京:电子工业出版社,2013.1
       ISBN 978-7-121-18799-5
       Ⅰ. ①x…Ⅱ. ①李… ②王… ③余…Ⅲ. ①汇编语言—程序设计Ⅳ. ①TP313
       中国版本图书馆CIP数据核字(2012)第253290号
       定价:56.00元

李忠 发表于 2013-1-13 10:59:34

                                                                              前    言
       尽管汇编语言也是一种计算机语言,但却是与众不同的,与它的同类们格格不入。处理器的工作是执行指令并获得结果,而为了驾驭处理器,汇编语言为每一种指令提供了简单好记、易于书写的符号化表示形式。

       一直以来,人们对于汇编语言的认识和评价可以分为两种,一种是觉得它非常简单,另一种是觉得它学习起来非常困难。
你认为我会赞同哪一种?说汇编语言难学,这没有道理。学习任何一门计算机语言,都需要一些数制和数制转换的知识,也需要大体上懂得计算机是怎么运作的。在这个前提下,汇编语言是最贴近硬件实体的,也是最自然和最朴素的。最朴素的东西反而最难掌握,这实在说不过去。因此,原因很可能出在我们的教科书上,那些一上来就搞一大堆寻址方式的书,往往以最快的速度打败了本来激情高昂的初学者。

       但是,说汇编语言好学,也同样有些荒谬。据我的观察,很多人掌握了若干计算机指令,会编写一个从键盘输入数据,然后进行加减乘除或者归类排序的程序后,就认为自己掌握了汇编语言。还有,直到现在,我还经常在网上看到学生们使用DOS中断编写程序,他们讨论的也大多是实模式,而非32位或者64位保护模式。他们知道如何编译源程序,也知道在命令行输入文件名,程序就能运行了;又或者使用一个中断,就能显示字符。至于这期间发生了什么,程序是如何加载到内存中的,又是怎么重定位的,似乎从来不关汇编语言的事。这样做的结果,就是让人以为汇编语言不过如此,而且非常枯燥。

       很难说我已经掌握了汇编语言的要义。但至少我知道,尽管汇编语言不适合用来编写大型程序,但它对于理解计算机原理很有帮助,特别是处理器的工作原理和运行机制。就算是为了这个目的,也应该让汇编语言回归它的本位,那就是访问和控制硬件(包括处理器),而不仅仅是编写程序,输入几个数字,找出正数有几个、负数有几个,大于30的有几个。

       事实上,汇编语言对学习和理解高级语言,比如C语言,也有极大的帮助。老教授琢磨了好几天,终于想到一个好的比喻来帮助学生理解什么是指针,实际上,这对于懂得汇编语言的学生来说,根本就不算个事儿,并因此能够使老教授省下时间来喝茶。

       在这本书之前,我也写过《穿越计算机的迷雾》一书。它们是一个系列,没有基础的读者可以先看那本书,打一点计算机原理的基础再来学习汇编语言。

       在计划写这本书的时候,我就给自己画了几条线。首先不能走老路,一上来就讲指令、寻址方式,而是采用任务驱动的方式来写,每一章都要做点事情,最好是比较有趣,有吸引力。在解决问题的过程中,不断地引入新指令,并进行讲解。一句话,我希望是润物细无声式的;其次,汇编语言和硬件并举,完全抛弃BIOS中断和DOS中断,直接访问硬件,发挥汇编语言的长处,因为这才是我们学习汇编语言的目的。也只有这样,读者才能深刻体会到汇编语言的妙处。

       王晓波和湖北经济学院的余洁共同参与了本书的创作。

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

       很多读者在读书的时候会遇到这种情况:一开始读得很快,一口气读了好几章。随着内容的深入,学习越来越吃力,不得不频繁回到前面重新学习已经讲过的内容,这就是因为前面的知识没有完全掌握。为此,本书每一章都设有检测点,读者应当在通过检测点之后再继续往后阅读。

       本书原来有18章,后来,考虑到实模式的内容过多,而去掉了一章。这一章的标题是《聆听数字的声音》,讲述如何通过直接访问和控制Sound Blaster 16声卡来播放声音,感兴趣的朋友可以从下载的配书文件包中找到这部分内容。

       在本书的写作和出版过程中,长春电视台台长王志强,副台长周武军和技术部主任刘贵先后对本书给予了关心和支持,在此表示衷心的感谢。

       好友王南洋、桑国伟、刘维钊、蒋胜友、邱海龙、万利、李文心等负责了本书的一部分校对工作;好友周卫平帮我验证配书代码是否能在他的机器上正常工作,在这里向他们表示感谢,同时也谢谢所有关心和支持本书的朋友们。

       感谢我的母亲、我的妻子和我的女儿,她们是我的精神支柱,是我努力创作这本书的动力来源。

       在阅读本书的过程中,如果有任何问题,可以往电子邮件地址leechung@126.com给我写信;要了解其它更多的情况,请访问我的博客:http://blog.163.com/leechung@126。


李忠 发表于 2013-1-13 11:06:57


                                                                           目    录
第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.18086的通用寄存器 16
2.5.2程序的重定位难题 16
2.5.3内存分段机制 19
2.5.48086的内存分段机制 21
本章习题 24

第3章汇编语言和汇编软件 25
3.1汇编语言简介 25
3.2NASM编译器 27
3.2.1NASM的下载和安装 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部分16位处理器下的实模式

第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.5MOV指令的格式 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.2BOCHS下的程序调试入门 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.10NASM编译器的$和$$标记 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.78086处理器的寻址方式 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.4I/O端口和端口访问 123
8.3.5通过硬盘控制器端口读扇区数据 125
8.3.6过程调用 127
8.3.7加载用户程序 133
8.3.8用户程序重定位 134
8.3.9将控制权交给用户程序 137
8.3.108086处理器的无条件转移指令 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.1BIOS中断 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.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.332位模式的指令系统 178
10.3.132位处理器的寻址方式 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.4JMP指令执行后的段寄存器状态 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用户程序的结构 231
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.48259A芯片的初始化 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

小布丁 发表于 2013-1-13 11:09:42

坐个沙发,顶一个李老师~

李忠 发表于 2013-1-13 11:10:14

阿甘 发表于 2013-1-13 11:17:48

本帖最后由 阿甘 于 2013-1-13 11:22 编辑

   1、 您知道处理器有实模式和保护模式之分吗?       2、 如果您准备学习汇编语言,动机是什么?       3、 学习汇编语言对你来说,难点在哪里?       4、 这本书的名字是什么?       5、 这本书采用的汇编语言编译器是什么?

王爽书中有讲到 实模式 纯DOS 可以不理会DOS保护模式 硬件已被操作系统利用CPU保护模式所提供的功能严格地管理了
学嵌入式的
指令 寄存器 需要记忆
《x86汇编语言:从实模式到保护模式》
采用开源的NASM汇编语言编译器和VirtualBox虚拟机软件

憔悴心只为你 发表于 2013-1-13 11:18:41

顶一下李老师,在看雪已经回复过了,所以机会让给鱼油吧。。。支持一哈,顺便膜拜下大牛{:5_111:}

zzouc 发表于 2013-1-13 11:18:48

1、 您知道处理器有实模式和保护模式之分吗?
不知道
2、 如果您准备学习汇编语言,动机是什么?
学着玩
3、 学习汇编语言对你来说,难点在哪里?
太抽象
4、 这本书的名字是什么?
《x86汇编语言:从实模式到保护模式》
5、 这本书采用的汇编语言编译器是什么?
NASM

一毛 发表于 2013-1-13 11:19:00

你好对于实模式和保护模式也就是基本的了解至于怎么样去深入的学习没有关注过当让想关注
我学汇编的目的是不仅仅汇编的高效而是因为能让我更好的了解计算机更能深入的学习计算机
x86汇编语言:从实模式到保护模式对于初学者最大的难点是看那些大牛写的书完全是天书很痛苦的阶段所以希望您这本书对我们初学者有帮助{:1_1:}

hlm 发表于 2013-1-13 11:22:08

1、 您知道处理器有实模式和保护模式之分吗?
一点点
2、 如果您准备学习汇编语言,动机是什么?
深入了解一个程序的运行
3、 学习汇编语言对你来说,难点在哪里?
有些抽象
4、 这本书的名字是什么?
《x86汇编语言:从实模式到保护模式》
5、 这本书采用的汇编语言编译器是什么?
NASM

夜读书生盼女鬼 发表于 2013-1-13 11:34:00

1、 您知道处理器有实模式和保护模式之分吗?
我理解的实模式是纯DOS模式,保护模式就是window模式。
2、 如果您准备学习汇编语言,动机是什么?
提高自己的编程水平,更好的理解计算机对硬件的操作。
3、 学习汇编语言对你来说,难点在哪里?
难点就在于自己能否坚持到底。
4、 这本书的名字是什么?
《x86汇编语言:从实模式到保护模式》
5、 这本书采用的汇编语言编译器是什么?
NASM

家居蟹 发表于 2013-1-13 11:50:44

look!!!!!!!!!!!!!!!!!!!!!

莱瑞古德 发表于 2013-1-13 12:20:17

1、 您知道处理器有实模式和保护模式之分吗?

2、 如果您准备学习汇编语言,动机是什么?
逆向,多学习一种语言的思想
3、 学习汇编语言对你来说,难点在哪里?
缺少完整开发出一个程序的大局观,毕竟不是面向对象的语言,实模式下甚至不知道怎么动态分配空间
4、 这本书的名字是什么?
《x86汇编语言:从实模式到保护模式》
5、 这本书采用的汇编语言编译器是什么?
NASM

Fireball 发表于 2013-1-13 12:26:07

1、 您知道处理器有实模式和保护模式之分吗?
知道

2、 如果您准备学习汇编语言,动机是什么?
驱动开发

3、 学习汇编语言对你来说,难点在哪里?
保护模式不太了解

4、 这本书的名字是什么?
《x86汇编语言:从实模式到保护模式》

5、 这本书采用的汇编语言编译器是什么?
NASM

紫色雨 发表于 2013-1-13 12:35:37

怎么不能下载

穷山恶水出刁民 发表于 2013-1-13 12:45:31

还是前排吗?动手支持一下

清风不识字 发表于 2013-1-13 12:55:31

      1、 您知道处理器有实模式和保护模式之分吗?
             实模式下用户可以直接访问硬件,保护模式下只能调用系统提供的接口。
       2、 如果您准备学习汇编语言,动机是什么?
            为学习高级语言打基础
       3、 学习汇编语言对你来说,难点在哪里?
            缺少一本系统的,从低到高的教材
       4、 这本书的名字是什么?
            x86汇编语言:从实模式到保护模式
       5、 这本书采用的汇编语言编译器是什么?
               NASM汇编语言编译器

浩劫 发表于 2013-1-13 13:58:10

路过。还没到这个高度!

Kevn 发表于 2013-1-13 15:14:47

调查问题:
       1、 您知道处理器有实模式和保护模式之分吗?
             知道。
       2、 如果您准备学习汇编语言,动机是什么?
             能够更好的编出高水平的代码。
       3、 学习汇编语言对你来说,难点在哪里?
             对于本人来说,难在记忆那么多的指令,只能理解高级语言里的why。
       4、 这本书的名字是什么?
         《x86汇编语言:从实模式到保护模式》
       5、 这本书采用的汇编语言编译器是什么?
             MASM
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: 《x86汇编语言:从实模式到保护模式》赠书活动