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

本章的主题是“通过汇编语言了解程序的实际构成”,本章内容比较多,我在这里列出我能理解的东西。
在文章的开头,作者以本地代码为切入点,来研究程序运行的本质,这里列出了几个基本概念如下:
在本地代码中附带上表示其功能的英语单词缩写,这种缩写叫助记符,使用助记符的编程语言就叫汇编语言,用汇编语言编写的源代码最终也要转换为本地代码才能运行,负责转换的程序叫汇编器,这一处理行为叫汇编,反过来,本地代码也可以转换为汇编语言的源代码,其程序叫反汇编程序其逆变换行为叫反汇编,汇编语言的源代码和本地代码是一一对应的。
汇编语言的源代码,是由转换成本地代码的指令和针对汇编器的伪指令构成的,伪指令负责把程序构造和汇编方法指示给汇编器。由伪指令围起来的部分叫段定义,作者在本章中用一个长的代码清单将这些全部罗列出来。汇编语言指令的语法结构是操作码+操作数,这里的操作码也就是上文提到的转换成本地代码的指令。CPU种类决定了能使用何种形式的操作码,以下是32位 x86系列CPU用的操作码。

本地代码加载到内存运行之后,CPU读出这些指令和数据,再将其储存在寄存器中处理。

书中还简单介绍了图一中的mov指令,在程序运行时,会在内存上分配一个栈,是存储临时数据的区域,存储叫入栈,读出叫出栈,其是通过使用push指令和pop指令进行入栈和出栈的,如下图。

以上是我在第十章掌握的知识。

posted on 2024-02-27 00:35  半山山山山  阅读(3)  评论(0编辑  收藏  举报

导航