首页 > 编程语言 >《程序是怎样跑起来的》第十章

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

时间:2024-02-21 19:22:24浏览次数:21  
标签:汇编语言 第十章 寄存器 程序 指令 跳转 源代码 怎样

心得:了解了计算机和程序的实际运行方式
知识点:
1、汇编语言
在各本地代码中,附带上表示其功能的英语单词缩写,这些缩写称为助记符。使用助记符的编程语言称为汇编语言。汇编语言的源代码转换成本地代码的方式,称为汇编。负责转换工作的程序称为汇编器。
2、获得汇编语言源代码的方法
①将本地代码进行反汇编:本地代码转换成汇编语言的源代码的方式,称为反汇编。持有该功能的逆变换程序,称为反汇编程序
②通过编译器
3、伪指令
汇编语言的源代码是由转换成本地代码的指令和针对汇编器的伪指令构成的。伪指令负责把程序的构造及汇编的方法指示给汇编器(转换程序),不过为指令本身是无法汇编转换成本地代码的。段定义指的是命令和数据等程序的集合体的意思。一个程序由多个段定义构成
4、汇编语言的语法
汇编语言指令的语法结构是操作码+操作数(也存在只有操作码没有操作数的指令)。操作码表示的是指令动作,操作数表示的是指令对象。能够使用何种形式的操作码是由CPU的种类决定的。本地代码加载到内存后才能运行。寄存器是CPU中的存储区域,不过寄存器并不仅仅具有存储指令和数据的功能,也有运算功能
5、mov指令
即可以对寄存器和内存进行数据存储的指令。mov指令的两个操作数分别用来指定数据的存储地和读出源,操作数中可以指定寄存器、常数、标签(附加在地址前)以及用方括号([])括起来的这些内容
6、push和pop:栈是存储临时数据的区域,它的特点是通过push指令和pop指令进行数据的存储和读出,push指令和pop指令中只有一个操作数。push指令和pop指令必须以四字节为单位对数据进行入栈和出栈处理
7、最优化功能是编译器在本地代码上费尽功夫实现的,其目的是让编译后的程序运行速度更快,文件更小
8、函数的参数是通过栈来传递返回值,是通过寄存器来返回的
9、C语言中在函数外部定义的变量称为全局变量;在函数内部定义的变量称为局部变量。全局变量可以在源代码的任意部分被引用,局部变量则只能在定义该变量的函数内进行引用。局部变量是临时保存在寄存器和栈中的
10、标签表示的是相对于段定义起始位置的位置。
11、标志寄存器的值,程序是无法直接参考的。实际上汇编语言中有多个跳转指令,这些跳转指令会根据标志寄存器的值来判定是否需要跳转。跳转指令:例,如果小于或等于则跳转的jle;如果大于或等于则跳转的 jge;不管结果怎样都无法跳转的jmp等。
12、“线程”是操作系统分配给CPU的最小运行单位,源代码的一个函数就相当于一个线程,多线程处理指的是在一个程序中同时运行多个函数的意思
13、······

标签:汇编语言,第十章,寄存器,程序,指令,跳转,源代码,怎样
From: https://www.cnblogs.com/HCL291026hcl/p/18026051

相关文章

  • 《程序是怎样跑起来的》第7章—— 程序是在何种环境中运行的
    一、运行环境1、运行环境是什么:运行环境=操作系统+硬件。操作系统和硬件决定了程序的运行环境。示例:2007MicrosoftOfficesytem的运行环境(这里省略了部分内容)同一类型的硬件可以选择安装多种操作系统。同样的AT兼容机”中,既可以安装Windows,也可以安装Linux等操作系统。不......
  • 《程序是怎样跑起来的》第六章
    第六章,亲自尝试压缩数据。首先6.1节文件是以字节为单位保存。在任何情况下,文件中的字节数据都是连续储存的。6.2节,RLE算法的机制。像这样,把文件内容用“数据乘以重复次数”的形式来表示的压缩方法称为RLE算法,它是一种很好的压缩方法。图像文本也可用此算法来压缩。在讲述了此算法......
  • 《程序是怎样跑起来的》第十章的读后感
    又到了读书分享的时候,本篇分享《程序是怎样跑起来的》第十章的读后感,通过汇编语言了解程序的实际构成。首先我了解到了助记符的含义,通过使用助记符的编程语言称为汇编语言。这样通过查看汇编语言编写的源代码就可以了解程序的本质。即使是用汇编语言编写的源代码,最终也必须要转换......
  • 《程序是怎么跑起来的》第十章
    阅读了程序集是怎么跑起来的第十章,我了解了通过汇编语言了解程序的实际构成,对于本章的总结我认为本章的前半部分讲的是CPU运行本地代码的关系,而后半部分则讲述的是局部变量和全局变量的不同。汇编语言和本地代码之间存在一一对应的关系。汇编语言是一种低级语言,它提供了一种与计......
  • 读《程序是怎样跑起来的》第五章有感
    第五章——内存和磁盘的亲密关系本章重点是在计算机系统中高速小容量的内存与低速高容量的磁盘如何协同作业。内存主要是指主内存(负责存储CPU中运行的程序指令和数据的内存),磁盘主要是指硬盘。不读入内存就无法运行存储程序方式:程序保存在存储设备中,通过有序地被读出来实现运......
  • 《程序是怎么跑起来的》第九章
    关于第九章的学习我了解到了“操作系统和应用之间的关系”对于第九章的学习,我们可以学习五个课时,本章讲述了在软件商城购买软件的注意事项,首先我们在购买时一定不要忘记了操作系统的使用,这也就要讲述到操作系统的作用。操作系统的功能在不断地演进和完善,以适应不断变化的计算机环......
  • 《程序是怎样跑起来的》第六章
    这一章不仅系统地介绍了内存的概念、种类和重要性,还详细阐述了程序是如何与内存进行交互的。我深刻感受到了内存管理对于程序运行的重要性。内存作为程序运行的基础,其分配、使用和回收直接影响着程序的性能和稳定性。合理的内存管理不仅可以提高程序的运行效率,还能有效避免内存泄......
  • 《程序是怎样跑起来的》——第八章读后感
    一:1.利源代码进行编译后可得到本机代码。2.通过编译和链接可得到EXE文件。3.对源文件进行编译可得到日标文件。例如,补源文件wempikes进行编译可得到目标文件sample.obj。日标文件的内容较是在机代码。4.链接器会从库文件中提取必要的目标文件并将它们拼接成。EXE文件。在程......
  • 《程序是怎么跑起来的》第八章
    今天沃阅读了程序是怎么跑起来的第八章,从源文件到可执行文件。本章分为九个课时,分别介绍了关于编码器,原代码和代码的执行方面的问题,且计算机只能运行本地的代码,虽然计算机通常只能直接运行本地代码,但通过虚拟机和解释器等技术,可以实现在计算机上运行非本地代码的需求。本地代码是......
  • 《程序是怎样跑起来的》第10章
    本章主要讲通过汇编语言认识程序的真面目。本章讲汇编语言到程序,那么,我们总得要知道什么是汇编语言吧?其实呢汇编语言就是(assemblylanguage)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的......