注意:绿色的字体表示我不理解的地方,或者是自言自语,阅读时请省略。
本节参考视频与资料:
王爽《汇编语言第三版》
视频:网易云课堂《汇编语言从0开始 重置版》
目录
汇编课程的研究重点放在:如何利用硬件洗系统的编程结构和指令集有效灵活地控制系统进行工作。
1.1 机器语言
机器语言:机器指令的集合。
机器指令:一台机器可以正确执行的命令。
电子计算机的机器指令:一列二进制数字。
计算机将机器指令转变为一列高低电平,以使计算机的电子器件受到驱动,进行运算。
1.2 汇编语言的产生
诞生原因:机器语言难以辨别与记忆
汇编指令和机器指令的差别在于指令的表示方法上。
汇编指令是机器指令便于记忆的书写格式。
1.3 汇编语言的组成
汇编语言有三类指令组成。
(1)汇编指令:机器码的助记符,有对应的机器码
(2)伪指令:没有对应的机器码,由编译器执行,计算机并不执行
(3)其他符号:如+、-、*、、等,由编译器识别,没有对应的机器码
汇编语言的核心是汇编指令,它决定了汇编语言的特性(啥特性?)。
1.4 存储器
cpu:控制整个计算机的运行并进行运算。
cpu工作需要向它提供指令和数据。
存储器/内存:存放指令和数据。
1.5 指令和数据
指令和数据是应用上的概念。
在内存或磁盘上,指令和数据没有任何区别,都是二进制信息。
1.6 存储单元
存储器被划分若干个存储单元,每个存储单元从0开始顺序编号。
一个存储单元能存储一个字节,一个字节等于8个比特。
1.7 CPU对存储器的读写
(1 ) 如何对CPU进行读写
存储器被划分成多个存储单元,存储单元从零开始顺序编号。这些编号可以看作存储器中的地址。
CPU要从内存中读数据,首先要制定存储单元的地址。确认读取哪个存储单元中的数据。
CPU在读写数据时要指明,对哪一个器件进行操作,进行哪种操作,是从中读出数据,还是向里面写入数据。
CPU进行数据的读写,必须和外部器件进行三类信息的交互:
- 存储单元的地址(地址信息)
- 器件的选择,读或写的命令(控制信息)
- 读或写的数据(数据信息)
电子计算机能处理、传输的信息都是电信号,电信号要用导线传送。
总线:计算机中专门连接CPU和其他芯片的导线(路的名字,像什么淮海路啥的)。总线从物理上来讲,就是一根根导线的集合(淮海路跟南京路是一样的都是路只不过连接的地方不一样)。
CPU读取操作:
(1)CPU通过地址线将地址信息3发出。
(2)CPU通过控制线发出内存读命令,选中存储芯片,并通知它,将要从中读取数据。
(3)存储器将3号单元中的数据8通过数据线送入CPU。
CPU写操作。例:向3号单元写入数据26.
(1)CPU通过地址线将地址信息3发出。
(2)CPU通过控制线发出内存写命令,选中存储器芯片,并通知它,要向其实写入数据。
(3)CPU通过数据线将数据26送入内存3号单元中。
总结:最后一步数据传输方向相反。
(2 ) 如何命令计算机进行数据的读写?
要让一个计算机或微处理器工作,应向它输入能够驱动它进行工作的电平信息(机器码)。
以8086CPU为例,下面的机器码,能够完成从3号单元读数据。
机器指令版:
机器码: 10100001 00000011 00000000
含义:从三号单元读取数据送入寄存器AX。
汇编指令版:
MOV AX,[3]
含义:传送3号单元的内容入AX
1.8 地址总线
一个地址总线能表示0和1
两个地址总线能表示00,01,10,11
因此n个地址线就能表示2的n次方个地址
1.9 数据总线
CPU与内存或其他器件之间的数据传送是通过数据总线来进行的。
数据总线的宽度决定了CPU和外界的数据传送速度。
8根数据总线一次可传送一个8位二进制数据(即一个字节)。
1.10 控制总线
CPU对外部器件的控制是通过控制总线来进行的。
有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制。
1.11内存地址空间(概述)
一个CPU的地址总线宽度为10,那么可以寻址1024个内存单元,这1024个可寻到的内存单元就构成这个CPU的内存地址空间。
1.12 主板
主板上有核心器件和一些主要器件,这些器件通过总线(地址总线、数据总线、控制总线)相连。
1.13接口卡
1.14 各类存储器芯片
从读写属性看:随机存储器(RAM)和只读存储器(ROM)
功能和链接:
(1)随机存储器
(2)装有BIOS的ROM
BIOS是由主板和各类接口卡(如显卡、网卡等)厂商提供的软件系统,可以通过它利用该硬件设备进行最基本的输入输出。
(3)接口卡上的RAM
1.15 内存地址空间
上述存储器在物理上是独立的器件,但是在以下两点上相同。
(1)都和CPU的总线相连。
(2)CPU对它们进行读或写的时候都通过控制线发出内存读写命令。
CPU在操控它们的时候,把它们都当做内存来对待,把它们总的看作一个由若跟存储单元组成的逻辑存储器,这个逻辑存储器就是我们所说的内存地址空间。