<只是个人的一些小总结,小看法,欢迎各位前来谈论,一起学习,一起进步>
想想学习汇编时期也是蛮长的,从2015年寒假开始一直到开学,前后也有一个多月吧,但期间也总是断断续续的。
一开始学习的时候,因为我不想看电子版,所以就从图书馆里面借了本书来学习,可是那本书看完了以后我还是感觉什么都学不到,就会几个mov和add,跟我一开始学汇编的目的不合。
我学习汇编是想用汇编来通过软件的视觉来了解更多计算机底层的世界,同时也为了我可以更好的进行一些高级语言的深入学习。记得我有个老师说过“越是底层的东西,学习起来越抽象越难,但是对于我们日后的发展和技能与知识的拓展帮助也越大”。
所以为了更好的学习和达到我的目的,我便去网上找了一本《汇编语言》(王爽),个人感觉这个书还是相当不错的,起码满足我的基本需要,书里面的知识介绍采用了一种“即学即用”的策略,比如在讲解8086的寄存器的功能时,它不会一次性给你罗列出全部寄存器的功能来;相反的,书里说得很明白,需要用的时候才会介绍,这个让我们学习起来,不会太吃力。
另外一方面,书里对于计算机底层的一些讲解,都尽量的避开了硬件层面,而是直接用软件的角度来说明,特别是用汇编的知识来解释,可以说是把学到的知识活学活用吧;最后一点想说的是,书里面相当注重实验和动手能力,我认为这是书里的亮点,对于这些实用性强的技能和知识,我们应该从实验和动手中积累经验同时产生感性的认识。
好了说了这么多,那么我怎么对我学习了一个多月的汇编进行下总结呢?
汇编是这么一种语言,介于高级语言和机器语言之间,通过汇编我们可以结合少量的机器语言来让我们尽量少的硬件知识下更好地了解高级语言背后的原理与设计、计算机实现的原理。
一开始
C语言-------à程序(知其然不知所以然,为何一个函数一定要有一个main呢)
汇编--------à程序(联想高级语言,原理程序的运行是要有个入口地址的,有汇编里面用一个CS:IP来指定,在C语言编译的时候,源程序会通过C语言开发者一个预先设定,可能是一个其他的文件,将源文件按一定的方式进行编译,设置好CS:IP,做为源程序main的地址是首先进入CS:IP的,可能是通过其他的开发者的设定的函数的调用或是其他的方式)。