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

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

时间:2024-02-26 22:46:50浏览次数:24  
标签:读后感 程序 第十章 代码 伪指令 操作码 内存 寄存器 内存地址

汇编语言的源代码组成: 由转换成本地代码的指令(操作码)与针对会汇编器的伪指令构成
伪指令: 负责把程序的构造及汇编的方法指示给汇编器,伪指令本身无法转换成本地代码.
段定义: 用来划定范围区域,是一个连续的内存空间,在程序中表示一段命令和数据等程序构成的集合体,一个程序由多个段构成
汇编语言的segment伪指令表示段定义的开始,ends伪指令表示段定义的结束,group伪指令将源代码中不同的段定义在本地代码程序中整合为一个(多个段定义汇总成一个,如功能类型的多个段定义),proc/endp伪指令包含的部分表示函数的处理过程,end源代码结束
在源代码中,即使指令和数据是混杂编写的,经过编译或者汇编后的本地代码,都会转换成段定义划分整齐的本地代码
cpu 与内存的关系:
本地代码加载到内存中才能运行,内存中存储着构成本地代码的指令和数据
程序运行时,cpu 从内存中把指令和数据读出,然后将其存储到 CPU 内部的寄存器中进行相应的处理
cpu 中的寄存器通过 eax、ebx 等名称进行区分,内存中的存储区域通过地址编号进行区分
汇编代码通过寄存器的名称指定给操作数
汇编语言的语法:
由操作码(动作) + 操作数(对象)组成,不过也存在只有操作码的指令,多个操作数时使用逗号分割开,一行表示对 CPU 的一个指令
操作数中指定了寄存器名、内存地址、常数等,能够使用何种形式的操作码,由 CPU 的架构类型决定
汇编语言中函数名表示的是函数所在的内存地址
常用操作码及功清单如下
在汇编中,通过使用 cmp 比较指令与 jl 跳转指令来实现的循环与条件分支。
mov 指令: 对寄存器和内存进行数据存储,mov A,B 把B的值赋给A,
操作数 A, B 可以为寄存器、常数、标签(附加在地址前),以及用[地址]表示的内存地址
没有用方括号围起来的内容表示对该值进行处理,有方括号围起来的内容会被解释为内存地址,会对该内存地址对应的值进行读写操作。

标签:读后感,程序,第十章,代码,伪指令,操作码,内存,寄存器,内存地址
From: https://www.cnblogs.com/ybbk/p/18035764

相关文章

  • 《程序是怎样跑起来的》第十一章读后感
    Windows控制硬件时主要借助的是输入输出指令,最具代表性的就是IN与OUT指令,这两个指令也是汇编语言的助记符。IN指令:通过指定端口号的端口输入数据,并将其存储在CPU内部的寄存器中。OUT指令:把CPU寄存器中存储的数据,输出到指定端口号的端口。端口号:IO控制器中用于临......
  • 《程序是怎样跑起来的》第九章——操作系统和应用的关系
    回顾一下操作系统的历史,操作系统的前身是仅具有加载和运行功能的监控程序,再后来人们发现输入输出操作本质一样,就在监控程序中加入了输入输出功能为了便利,慢慢发展完善,一步一步形成了如今的操作系统。现在操作系统已经很完善了,导致程序员们越来越少关注硬件,,由于操作系统的诞生,......
  • 《程序是怎样跑起来的》第七章读后感
    程序的运行环境=操作系统+具体硬件硬件核心考虑参数为CPU,不同的CPU指令集不同,能解释的机器语言种类也不同,其只能解释自身的机器语言,也就是常说的cpu指令集常见的有:x86、MIPS、SPARC、PowerPC本地代码:通过将源代码进行编译后生成的机器语言的程序成为本地代码(机器直接......
  • 《程序是怎样跑起来的》第八章读后感
    本地代码:本地代码的内容就是数值的罗列集合(二进制的数据展示)。编译器:负责将源代码转换为本地代码,每种语言都有其专用的编译器。由于cpu类型不同,本地代码的类型也不同,编译器可以将源代码编译成不同cpu类型的本地代码。交叉编译:在当前平台编译另外平台的本地代码,例如在wi......
  • 《程序是怎样跑起来的》第九章读后感
    操作系统构成:控制程序:硬件控制、程序运行控制编程语言处理器:汇编、编译、解析实用程序:文本编辑器、调试工具、Dump程序等操作系统本身不是单独的程序,而是多个程序的集合体,这个运行环境下,应用不直接控制硬件,而是通过操作系统来间接控制。系统调用与高级编程语言的移植性:......
  • 《程序是怎样跑起来的》第五章读后感
    内存利用电流实现:高速高价,磁盘利用磁效实现:低速低价磁盘中存储的程序:必须加载到内存中才能运行,因为负责解释和运行程序内容的CPU需要通过内部程序计数器来指定内存地址,然后才能读出程序,其次,磁盘的速度慢即使可以直接读取,效率也比较低下。内存与磁盘相互促进磁盘缓存:加快磁盘......
  • 《程序是怎样跑起来的》第六章读后感
    压缩分类:压缩后的数据可以复原的称为可逆压缩,无法复原的称为不可逆压缩。文件是将数据存储在磁盘等存储媒介上的一种形式,其以字节为存储单位,文件就是数据集合的字节。任何情况下:文件的字节序列都是连续存储的。RLE压缩算法:将文件内容用数据X重复次数,从而实现数据压缩,常用......
  • 《程序是怎样跑起来的》第八章——从源文件到可执行文件
    编译(Compilation):首先,程序员使用文本编辑器编写源代码,然后通过编译器将源代码转换为目标代码。编译器会进行词法分析、语法分析、优化和代码生成等步骤,最终生成可执行文件或库文件。链接(Linking):如果程序包含多个源文件或库文件,链接器会将这些文件中的目标代码连接在一起,形成最......
  • 程序是怎样跑起来的第十二章读后感
    读完《程序是怎样跑起来的》第十二章后,我对程序的性能优化有了更深刻的理解。这一章主要介绍了程序性能优化的方法和技巧,让我认识到了性能优化对于提升程序效率和用户体验的重要性。在这一章中,我学到了性能优化的多个方面,包括算法和数据结构的优化、代码优化、多线程和并发处理等......
  • 第十章 通过汇编语言了解程序的实际构成 笔记
    编语言是介于机器语言和高级编程语言之间的一种语言。它使用助记符来表示CPU指令,这些助记符相较于机器语言的二进制编码更为人类可读。虽然汇编语言比高级语言更难以编写和理解,但它能够提供对程序行为的直接控制,以及与计算机硬件架构密切相关的通过学习汇编语言,我们可以了解程序......