谈一谈汇编语言的理解

大约一个半月之前,受困于计算机组成原理和操作系统学起来如同天书一般,因此下定决心买来大名鼎鼎的王爽老师所著《汇编语言》进行学习,发现越学越有味道,原来始终感觉理解起来有些阻碍的东西开始逐渐清晰起来。

首先我想谈谈为什么要学习汇编语言:这要谈谈中国计算机学科授课的相关特点:多是概念堆砌,缺乏对整个系统运转的过程性质,原理性质的叙述。比如谈及计算机组成原理,按部就班先讲讲计算机多么牛逼的概述,然后从各个部件(CPU,总线,I/O,内存)彼此之间毫无联系地说起,再比如教授操作系统,从进程到内存管理到文件管理再到I/O管理,每个章节单独拿出来讲几个算法,几个调度。说句不好听的:如果不告诉你这几个部件彼此依存,互有联系,单独拿出来讲都可以自称一科,这样造成的原因就是学习起来缺乏一种整体思路,最终会出现越学越不会,越学越傻的结果。原因很简单:一是没有遵从“知识屏蔽”的授课方式,一股脑把所有知识给你灌输到脑子,把一门理工科硬生生教成文科的名词背诵。二是计算机学科本身的特点:如果你学这个知识不知道用在哪里,那么你会对它的存在根本无法理解,也就是缺乏学以致用的一个过程。第三是这些所谓入门书根本不是帮助学者解决问题,而是给学习的人制造麻烦:比如刚开始可能只是不知道计算机的几个组成部分,学完了以后你会发现脑子里面有更多的问题不清不楚,不明不白。

因此针对这种问题,传统跟着课堂疯狂背几个概念名词绝对是无法应付计算机学科的学习,这时候我们就要学习汇编语言,去解开那层软件和硬件联系处的秘密。特别是王爽老师的《汇编语言》让第一次见识到此等教材的我惊为天人,全书划分为三大部分:利用寄存器存储地址访存,转移指令使用,中断。分别对应CPU,内存,I/O设备,端口等计算机组成部件如何使用。

这本书学完以后并没有给我带来特别大的提升(这就是这本书的特点,知识密度比较少),但是给我一种全新视角去看待计算机:计算机的一切操作都是寄存器之间数据的传递,二进制指令的执行,一切I/O设备的访问都只是向端口输入输出数据,一切屏幕上的字符显示也只是向指定的内存单元输入输出数据,以往神秘的计算机给我眼中蒙上的阴影开始逐渐消散,我学习以往计算机组成原理和操作系统开始有一种新的感受。

还有一点是新的眼光看我们的高级语言,比如变量的初始化,指针以及我们类这种数据类型在汇编是如何是如何实现,函数的跳转,main函数在汇编究竟是个什么玩意已经让我心中有数,高级语言的抽象到硬件层面的具体已经有所了然,更加认识到各个高级语言(java,c++,c,python)的不同不过是唬一唬刚入门的门外汉罢了。

当然,仅凭借这么一本书学习汇编语言是远远不够的,这里我再推荐另一位大佬的作品——李忠老师的《x86汇编语言 从实模式到保护模式》,这本书从硬件过渡到操作系统,由实模式过渡到保护模式,如果说王爽老师给我们展示了一个计算机没有操作系统如何用汇编语言去指挥,那么李忠老师则是向我们展示了计算机汇编语言如何构建起了操作系统王国更好发挥计算机的作用。

所以我强烈建议大家学习一下汇编语言,绝对是你计算机学习过程中的一段难忘的记忆。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值