前言
这是一篇挖坟的文章,原因是有网友又问起来了这个经典问题:“汇编是不是没用啊?不用学了吧?” 可能很多人没看过,我就再发一遍吧!
汇编语言这门课, 是我大学的一段灰色记忆。
有很长一段时间,我都搞不明白为什么汇编语言中有各种各样的寻址方式 ,还有为什么叫立即数呢,它明明就是一个数字啊, 起个这么古怪的名字。
老师布置的简单作业是用汇编控制主板的喇叭发声, 在屏幕上输出白底蓝色字,或者绿底白色字.....
我都做得非常辛苦, 没记错的话还经常抄同班张同学的作业。
所以我一直对能用汇编语言编程的人保持带点儿嫉妒的敬畏, 尤其是听人说:求伯君竟然用汇编写出了WPS!Ken Thompson、Dennis Ritchie 居然用汇编写出操作系统Unix!
只能是一声叹息,人和人的差距真是大啊!
毕业后对操作系统痴迷,去看MINIX的源代码,一开头就被吓住了,在bootstrap阶段是通篇的汇编语言, 在后悔为什么大学没有好好学的同时, 我还特别又买了一本汇编的书《80X86汇编语言程序设计教程》(那个时候王爽的《汇编语言》还没出来) 准备把汇编捡起来。
艰苦地复习了一段时间就明白了一点,汇编其实和CPU密切相关,什么实模式、保护模式,GDT, LDT,数据段,代码段......这些Intel CPU的概念如果没搞明白,根本就学不会汇编。
那