汇编
关于汇编的知识。
基础知识
- 汇编语言是人和计算机沟通的最直接的方式,它描述了机器最终所要执行的指令序列。
- 汇编语言是直接在硬件之上工作的编程语言。
机器语言
- 机器语言是机器指令的集合
- 机器指令展开来讲就是一台机器可以正确执行的命令
- 电子计算机的机器指令是一列二进制数字,计算机将之转换为一列高低电平,以使计算机的电子器件受到驱动,进行运算
- 每一种微处理器,由于硬件设计和内部结构的不同,就需要不同的电平脉冲来控制,使它工作,所以每一种微处理器都有自己的机器指令集,也就是机器语言
汇编语言组成
- 汇编指令:机器码的助记符,有对应的机器码
- 伪指令:没有对应的机器码,由编译器执行,计算机并不执行
- 其他符号:如+、-、*、/等,由编译器识别,没有对应的机器码
存储器
- 指令和数据在内存中存放
指令和数据
- 在内存或磁盘上,指令或数据没有任何区别,都是二进制信息
存储单元
- 内存被划分成若干个存储单元
- 每个存储单元从0开始编号
- 电子计算机最小的信息单位是bit,也就是一个二进制位,微型机存储器的存储单元可以存储一个字节大小,也就是8个二进制位
CPU从内存中读数据
- 存储单元的地址
- 器件的选择,读或写的命令
- 读或写的数据
- 电子计算机能处理、传输的都是电信号,电信号要用导线传送。在计算机中专门有连接CPU和其他芯片的导线,通常称为总线
- 总线从物理上来讲,就是一根根导线的集合
- 根据传达信息的不同,总线分类:
- 地址总线
- 控制总线
- 数据总线
- CPU从3号存储单元读取数据的过程:
- CPU通过地址线将地址信息3发出
- CPU通过控制线发出内存读命令,选中存储器芯片,并通知它,将要从中读取数据
- 存储器将3号存储单元中的数据通过数据线送入CPU
- 如何命令计算机进行数据读写?
- 向它输入能够驱动它进行工作的电平信息(机器码)
- 但是机器码难以记忆,所以用汇编指令来代替表示
- 计算机不懂汇编指令,所以用编译器把汇编指令翻译成机器码
地址总线
- CPU是通过地址总线来指定存储单元的。地址总线上能传送多少个不同的信息,CPU就可以对多少个存储单元进行寻址
- 在电子计算机中,一根导线可以传递的稳定状态只有两种,高电平或低电平。用二进制表示就是1或0.
- 一个CPU有N根总线,则说这个CPU的地址总线的宽度为N。而地址总线宽度为N的CPU最多可以寻找2的N次方个内存单元
数据总线
- CPU与内存或其他器件之间的数据传送是通过数据总线来进行的
- 数据总线的宽度决定了CPU和外界的数据传送速度。8根数据总线一次可以传送8个二进制位(即一个字节)。16根数据总线则一次可以传送16个二进制位,即两个字节
控制总线
- CPU对外部器件的控制是通过控制总线来进行的
- 这个地方的控制总线是一个总称,控制总线是一些不同控制线的集合
- 有多少个控制总线,就意味着CPU对外部器件有多少种控制。因为,控制总线的宽度决定了CPU对外部器件的控制能力
主板
- 每台PC上,都有一个主板,主板上有核心器件和一些主要器件
- 这些器件通过总线(地址总线、数据总线、控制总线)相连
- 这些器件有CPU、存储器、外围芯片组、扩展插槽等
- 扩展插槽一般用来插RAM内存条和各类接口卡
接口卡
- 计算机系统中,所有可以用程序控制其工作的设备,都必须受到CPU的控制
- 但CPU对外部设备不能直接控制,如显示器、音箱、打印机等,直接控制这些设备进行工作的是插在扩展插槽上的接口卡
- 扩展插槽通过总线和CPU相连,所以接口卡也通过总线和CPU相连,而CPU可以直接控制这些接口卡来控制与之相连的外设
存储器芯片
- 从物理连接
- 独立的
- 不同的器件
- 从读写属性
- 随机存储器RAM
- 只读存储器ROM
- 从功能和连接
- 随机存储器
- 装有BIOS的ROM
- 接口卡上的RAM
随机存储器RAM
- 可读可写,但必须带电存储,关机后存储的内容丢失
- 用于存放供CPU使用的绝大部分程序和数据
- 一般由主板上RAM和插在扩展插槽上的RAM组成
装有BIOS的ROM
- BIOS是主板和各类接口卡厂商提供的软件系统
- 主板上的ROM存储着主板的BIOS;显卡上的ROM中存储着显卡的BIOS;网卡如果装有ROM,那么其中可以存储网卡的BIOS
只读存储器ROM
- 只能读取不能写入,关机后其中的内容不丢失
接口卡上的RAM
- 例如显卡上的RAM,一般成为显存
内存地址空间
- 所有的物理存储器都和CPU的总线相连
- CPU对它们进行读或写的时候都通过控制线发出内存读写命令
- CPU在操控它们的时候,把那些存储空间都当作内存来对待,把它们总的看作一个由若干个存储单元组成的逻辑存储器
- 这个逻辑存储器就是我们说的内存地址空间
- 所有的物理存储器都被看着一个由若干存储单元组成的逻辑存储器,每个物理存储器在这个逻辑存储器中占有一个地址段,即一段地址空间
- CPU在这段地址空间中读写数据,实际上就是在对应的物理存储器中读写数据
- 内存地址空间的大小受CPU地址总线宽度的限制。例如地址总线宽度为32的时候,内存地址空间最大为4GB
- 如果一个CPU的地址总线宽度为10,那么可以寻址2的10次方个内存单元,也就是1024个内存单元
- 这1024个可寻到的内存单元就构成这个CPU的内存地址空间
本文为原创文章,版权归Aet所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 关于程序03/29
- ♥ x86_64汇编学习记述二08/07
- ♥ 定位内存与数据处理03/31
- ♥ X86_64汇编学习记述三08/08
- ♥ 相关指令05/06
- ♥ 寄存器03/27