目录
前言
一、汇编语言的组成
二:存储器
三:指令和数据
四:存储单元
五:CPU对存储器的读写
地址总线
控制总线
数据总线
前言
汇编语言是数据结构,操作系统,微机原理等重要课程的基础,但从课程的角度讨论汇编不免太过片面,一言以蔽之:如果你想从事计算机相关工作,那么汇编的基础是必不可缺的,乐言也将在学习中与大家分享汇编的艺术,给大家呈现出汇编的知识架构!!!
提示:以下是本篇文章正文内容,下面案例可供参考
一、汇编语言的组成
(1):汇编指令:机器码的助记码,有对应的机器码
(2):伪指令:没有对应的机器码,由编译器执行,计算机不执行
(3):其他符号,例如+,-,*,/等,由编译器识别,没有对应的机器码
汇编语言的核心是汇编指令,他决定了汇编语言的特性
例子:
操作:寄存器BX的内容送到AX中
机器指令:1000100111010111
汇编指令:mov ax,bx
二:存储器
指令和数据都在存储器里存放,也就是我们平时所说的内存。磁盘不同于内存,磁盘上的数据如果不被读取到内存之中,将无法被cpu使用。内存的作用仅次于cpu,离开了内存,cpu性能再好也终将徒劳。
三:指令和数据
指令和数据都是应用层面上的概念,在内存或者磁盘上,二者没有任何差别,都是二进制信息,cpu在工作时,有时候将数据看成指令,为同样的信息赋予了不同的意义。
四:存储单元
存储器被划分为若干个存储单元,每个存储单元从0开始编号,例如一个存储单元有128个存储单元,编号从0-127(如图所示)
一个存储单元能存储一个Byte的数据,也就是8bit,一个存储器有128个存储单元,他可以存储128个Byte。微机存储器的容量是以字节为最小单位来计算的,对于拥有128个存储单元的存储器,他的容量为128Byte。而对于大容量的存储器,也可以用以下单位来描述:
1KB=1024B 1MB=1024KB 1GB=124MB 1TB=1024GB
五:CPU对存储器的读写
CPU要是想对内存里的数据进行读写,必须对外部器件(标准来说是芯片)进行以下三类信息交互
- 存储单元的地址(地址信息)
- 器件的选择,读或者写的命令(控制信息)
- 读或者写的数据(数据信息)
处理,传输,信息的方式当然是电信号,而传递电信号的当然是导线,通常称为总线,总线分为以下三类:
- 地址总线
- 数据总线
- 控制总线
CPU在4号单元中读取数据的过程如下图:
(1):CPU通过地址线将地址信息从信息4发出
(2):CPU通过控制线发出内存读写命令,选中存储器芯片,并通知他,将要从中读取数据
(3):存储器将4单元中的数据72通过数据线送入CPU
但是如何命令计算机进行读写呢?
显然还是通过电信号,输入能驱动计算机进行操作的电平信息(机器码),对于8086CPU,下面的机器码能操作完成上述从4单元读数据的操作
- 机器码:101000010000001100000000
- 含义:从4单元读取信息送入寄存器AX
- 而机器码难以记忆,所以我们使用汇编指令
:MOV AX,[4]
地址总线
CPU是通过地址总线来指定存储器单元的,课件地址总线能传输多少个不同信息,CPU就可以对多少个存储单元进行寻址
现在假设一个CPU有十根地址总线,而一根导线能稳定传输的状态只有高电平和低电平,即1和0,,那么十根地址线就可以传输10位二进制信息,所以就可以寻址2^10个不同的地址,最小数是0,最大数为1024
控制总线
CPU对外部器件的控制是由控制总线来进行操作的,在这里控制总线只是个总称,有多少根控制总线就代表了含有多少种控制方法,控制总线的多少决定了CPU对外部器件的控制能力
数据总线
数据总线是用来传输数据的,有多少跟数据总线就可以传输多少个二进制位,与地址总线原理相似,例如8跟数据总线就可以一次传输8个二进制位
8088CPU的数据总线的宽度是8,8086CPU的数据总线的宽度为16,我们分别画图来看一下差别:
(8088)
(8086)
当数据变多时,有时候8跟数据线要传输两次,而16根只要传输一次,无疑:数据线越多,传输速度越快