读《程序是怎样跑起来的》第十章有感

第一次接触汇编和反汇编这两个概念是上学期的C#课上,刚开始并没有重视,只知道老师不知道怎么操作的把书上给的例子变成了一堆看不懂的乱码,老师说这是反汇编,当时并不太理解,看了这一章总算不会把它们搞混了。我以为汇编语言生成的源文件扩展名还是本地代码的扩展名,没想到生成新文件,扩展名就会改变。汇编语言源文件的扩展名是.asm格式的(asm是assembler汇编器的缩写)。接着作者用了一个C语言的代码段生成了汇编语言的源代码,虽然不是第一次看到反汇编语言代码,不过还是看不太懂,好在作者把这个例子讲的很详细,作者将常用的操作码及其功能列举了出来还有x86系列CPU的主要寄存器及其功能。接着讲了入栈(push)和出栈(pop)工作的具体流程,数据存储时从内存的下层到上层这就是入栈而出栈则恰好相反,数据从上到下顺次读出。我感觉这两个概念还是蛮好理解的,以前感觉难理解是因为没听过它们的名词解释,后面作者又用了一个实例讲述了汇编语言下的函数调用这一章的上半部分主要讲的就是汇编语言后面讲了局部变量和全局变量的区别,并用了一个具体的实例来演示后面又讲到了循环及条件分支的流程控制是如何实现的。这一章的内容还是蛮多的,主要也不是太难理解就是以前有些概念没听过,过了一个年前面的内容也忘得差不多了,看来到开学了要抽时间再读一遍了,这次都没有打笔记。

 

posted @ 2019-02-18 19:51  沐小雪  阅读(102)  评论(0编辑  收藏  举报