灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:8591回复:2

[汇编语言书籍]x86汇编语言:从实模式到保护模式.pdf

楼主#
更多 发布于:2013-05-16 14:21
尽管汇编语言也是一种计算机语言,但却是与众不同的,与它的同类们格格不入。一方面,处理器的工作是执行指令,用它所做的一切都是执行指令并获得结果;另一方面,汇编语言为每一种指令提供了简单好记、易于书写的符号化表示形式。
一直以来,人们对于汇编语言的认识和评价可以分为两种,一种是觉得它非常简单,另一种是觉得它学习起来非常困难。
你认为我会赞同哪一种?说汇编语言难学,这没有道理。学习任何一门计算机语言,都需要一些数制和数制转换的知识,也需要大体上懂得计算机是怎么运作的。在这个前提下,汇编语言是最贴近硬件实体的,也是最自然和最朴素的。最朴素的东西反而最难掌握,这实在说不过去。因此,原因很可能出在我们的教科书上,那些一上来就搞一大堆寻址方式的书,往往以最快的速度打败了本来激情高昂的初学者。
但是,说汇编语言好学,也同样有些荒谬。据我的观察,很多人掌握了若干计算机指令,会编写一个从键盘输入数据,然后进行加减乘除或者归类排序的程序后,就认为自己掌握了汇编语言。还有,直到现在,我还经常在网上看到学生们使用 DOS 中断编写程序,他们讨论的也大多是实模式,而非32位或者64位保护模式。他们知道如何编译源程序,也知道在命令行输入文件名,程序就能运行了,使用一个中断,就能显示字符。至于这期间发生了什么,程序是如何加载到内存中的,又是怎么重定位的,似乎从来不关汇编语言的事。这样做的结果,就是让人以为汇编语言不过如此,没有大用,而且非常枯燥。
很难说我已经掌握了汇编语言的要义。但至少我知道,尽管汇编语言不适合用来编写大型程序,但它对于理解计算机原理很有帮助,特别是处理器的工作原理和运行机制。就算是为了这个目的,也应该让汇编语言回归它的本位,那就是访问和控制硬件(包括处理器) ,而不仅仅是编写程序,输入几个数字,找出正数有几个、负数有几个,大于 30的有几个。 事实上,汇编语言对学习和理解高级语言,比如C语言,也有极大的帮助。老教授琢磨了好几天,终于想到一个好的比喻来帮助学生理解什么是指针,实际上,这对于懂得汇编语言的学生来说,根本就不算个事儿,并因此能够使老教授省下时间来喝茶。
 
点击下载

喜欢0 评分0
龙剑琴
新手上路
新手上路
  • 注册日期2014-07-31
  • 发帖数8
  • QQ361794367
  • 火币8枚
  • 粉丝0
  • 关注0
沙发#
发布于:2014-08-02 01:03
业界良心呀。。不要回复的

回复(0) 喜欢(0)     评分
376432297
终身会员
终身会员
  • 注册日期2014-07-08
  • 发帖数1709
  • QQ376432297
  • 火币2065枚
  • 粉丝0
  • 关注0
板凳#
发布于:2017-10-24 18:21
回复(0) 喜欢(0)     评分
游客

返回顶部