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

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

时间:2024-02-29 17:45:27浏览次数:14  
标签:存储 汇编语言 第十章 代码 程序 指令 寄存器 CPU 怎样

前些章讲过CPU只能识别本地代码,但如果直接看本地代码会发现根本看不懂,因而诞生了汇编语言,汇编语言也就是在本地代码上加上相关的助记符,例如在加法运算的本地代码中加上add(addition的缩写),汇编语言与本地代码是一一对应的,但想要运行汇编语言也得将源代码转换成本地代码,而负责这一工作的程序就称为汇编器,负责将本地代码转换为汇编语言的程序称为反汇编程序。汇编语言的源代码是由转换成本地代码的指令和针对汇编器的伪指令构成,伪指令负责把程序的构造及汇编的方法指示给汇编器,由伪指令segment和ends围起来的部分称为段定义,汇编语言指令的语法为操作码+操作数(也有部分指令没有操作数)操作码表示指令动作,操作数表示指令对象。操作码和操作数组成的语法就是一个英文的指令文本,操作码是动词,操作数是宾语。能够使用任何形式的操作吗是由CPU类型决定的,本地代码加载到内存后才能运行,内存中存储着构成本地代码的指令和数据,程序运行时CPU会从内存中把指令和数据读出,然后再将其存储在CPU内部的寄存器(CPU中的存储区域,不仅具有存储指令和数据的功能,也有运算功能)中进行处理。程序运行时,会在内存上申请分配一个称为栈的数据空间。数据在存储时是从内存的下层(大的地址号)逐渐往上层(小的地址编号)累积,读取时则是按照从上到下进行的。栈是存储临时数据的区域,他的通过push指令和pop指令进行数据的存储和读取,往栈中存储数据称为入栈,从栈中读取数据称为出栈。编译器的最优能的目的是让编译后的程序运行速度更快、文件更小。函数的参数是通过栈来传递的,返回值是通过寄存器来返回的。标签表示是相对于段定义起始位置的位置。函数内部利用栈,在函数处理完毕后会恢复到初始状态,因此局部变量的值就销毁了,因此局部变量只是在函数出力运行期间临时存储在寄存器和栈上,寄存器空闲时就使用寄存器,寄存器空间不足就使用栈

标签:存储,汇编语言,第十章,代码,程序,指令,寄存器,CPU,怎样
From: https://www.cnblogs.com/ghost109/p/18044913

相关文章

  • 《程序是怎样跑起来的》第十一章
    读书笔记:此章作者主要讲述了有关访问硬件的方法,和硬件输入指令。11.1:在用于x86架构CPU的汇编语言中,用in指令进行1/0输入,用out指令进行I/0输出。.负责在计算机主机与外部设备之间进行输入输出的芯片称为1/0控制器,简称I/0。为了区分连接到计算机上的不同外部设备,每个设备会被分配......
  • 《程序是怎么跑起来的》第五章
    磁盘中存储的程序,必须加载到内存后才能运行,也就是说不读入内存就无法运行,CPU需要通过内部程序计数器来指定内存地址,然后才能读出程序,即使CPU能直接读出来并运行磁盘中保存的程序,但是也会很慢。把低速设备的数据保存在高速设备上,需要时可以直接将其从高速设备中读出。虚拟内存能够......
  • VS2019 打包WPF安装程序
    说明最近开发了一个WPF的小工具,最初想发布成一个非安装版的可执行程序,发现有点困难,因为是基于.NetFramework4.7开发,还引用了一些其他库,WPF程序的运行是依赖.NetFramework环境的,所以必须提前安装。于是在官网上找到ClickOne的相关说明,可以把WPF打包成安装程序,当安装时会校......
  • 读《程序是怎样跑起来的》第十二章有感
    第十二章——让计算机“思考”1.作为“工具”的程序和为了“思考”的程序程序的使用目的:1)作为工具来使用;2)程序代替了现有的工具。2.用程序来表示人类的思考方式将人类的思考方式用程序表示来实现让计算机思考。3.用程序来表示人类的思考习惯真正的计算机并不具有习惯,但是可以......
  • 《程序是怎样跑起来的》第九章
    本章节讲述了操作系统在计算机系统中的重要地位,以及它与应用程序之间的密切关联。操作系统的诞生起先的计算机是没用操作系统的,也完全没有任何程序,因此程序员就需要编写出处理相关的所有程序。用机器语言编写程序,然后再使用开关将程序输入,这一过程非常麻烦。于是,有人开发出......
  • 《程序是怎样运行的》第十二章读后感
    《程序是怎样跑起来的》这本书的第十二章主要探讨了如何让计算机“思考”。这一章节的核心思想是,通过程序来模拟人类的思考过程,从而使计算机表现出类似人类的思考能力。章节中提到,程序可以被用来表示人类的思考方式、习惯和直觉。例如,在游戏编程和计算机模拟中,经常使用随机数......
  • 《程序是怎样跑起来的》第八章读后感
    第八章为从源文件到可执行文件,看完标题后,我认识到,从源文件到可执行文件中肯定还要有一些加载东西,不可能直接生成了可执行文件,因为CPU只能对本机代码进行读写,而不是直接对源码读,EXE文件是编译后的文件但无法使用还必须得进行链接,任何源码都得通过编译来进行,才可得到可执行文件,链接......
  • 读《程序是怎样跑起来的》第十一章有感
    第十一章——硬件控制方法1,应用和硬件无关?Windows提供了通过应用来间接控制硬件的方法。利用操作系统可以实现对硬件的控制。Windows向CPU传递了某些指令,从而通过软件控制硬件。2.支撑硬件输入输出的in指令和out指令in指令:通过指定端口号的端口输入数据,并将其存储在CPU内部的......
  • 读《程序是怎样跑起来的》第十章有感
    第十章——通过汇编语言了解二程序的实际构成1.汇编语言和本地代码是一一对应的汇编语言:在各本地代码中,附带上表示其功能的英语单词缩写,这些缩写称为助记符,使用助记符的编程语言称为汇编语言。*通过查看汇编语言编写的源代码了解程序本质,同查看本地代码的源代码是同一级别。汇......
  • 程序员搞副业经验分享:卖书、做网课,探秘前同事的经验之谈
    为了更深入了解程序员如何进行创收,今天与一位曾在几年前成功通过卖书和网课获取收益的前同事进行了交流。由于他曾有过丰富的经验,我向他请教了一些相关经验,以下是我想获取的信息:你目前还在通过做网课获得收益吗?没有。不再从事网课的主要原因有两点:首先,工作非常繁忙,每天都在996(周......