汇编语言学习笔记(一)

本篇文章为本人的汇编学习笔记,因为没有任何基础,所以大部分都是偏基础的东西,参考的是王爽的《汇编语言第三版》以及小甲鱼的汇编语言视频和网上各类资料

什么是汇编语言

汇编语言是二进制指令的文本形式,与指令是一一对应的关系

什么是寄存器

因为cpu只负责运算,数据一般都存储在内存之中

但是cpu的运算速度远高于内存,为了避免被拖慢,cpu都自带有一级缓存和二级缓存

但是,cpu缓存还不够快,另外数据在缓存中地址还是不固定的,每次读写都要寻址,会拖慢速度

所以除了缓存之外,cpu还自带了寄存器,用来存储最常用的数据,就是那些最频繁读写的数据,都会被放在寄存器里面,cpu优先读写寄存器,再由寄存器和内存交换数据

寄存器不依靠地址区分数据,而依靠名称。

一个cpu里有多个寄存器

寄存器是相对缓存来说更接近cpu的存在

汇编语言由以下三类组成

1 汇编指令(机器码的助记符,有对应的机器码)

2 伪指令(没有对应的机器码,由编译器执行,计算机并不执行)

3 其他符号(如+ - * / 等,由编译器识别,没有对应的机器码)

汇编语言的核心就是汇编指令,它决定了汇编语言的特性

存储器

cpu是cpu是计算机的核心部件,它控制整个计算机的运作并进行运算,要想让一个cpu工作,就必须向他提供指令和数据。

指令和数据在存储器中存放,也就是平时说的内存

cpu想要进行数据的读写,必须和外部的芯片进行三类信息的交互:

1.存储单元的地址(地址信息)

2.器件的选择,读或写命令(控制信息)

3.读或写的数据(数据信息)

在计算机中专门有链接cpu和其他芯片的导线,通常称为总线。

逻辑上分为:

1.地址总线

2.数据总线

3.控制总线

地址总线

一个cpu有n根地址总线,则可以说这个cpu的地址总线的宽度为n

这样的cpu最多可以寻找2的n次方个内存单元。

数据总线

cpu与内存或其他器件之间的数据传送是通过数据总线来进行的,数据总线的宽度决定了cpu和外界的数据传输速度

控制总线

cpu对外部器件的控制是通过控制总线来进行的,在这里控制总线是一个总称,控制总线是一些不同控制线的集合,有多少根控制总线,就意味着cpu提供了对外部器件的多少种控制,所以,控制总线的宽度决定了cpu对外部器件的控制能力,控制总线上发送的是控制信息

检测点1.1

1 一个cpu的寻址能力为8KB,那么它的地址总线的宽度为13

8KB=8192byte,即最多可以寻找8192个存储单元

计算得知8192为2的13次方,即这个cpu的地址总线宽度为13

2 1KB的存储器有1024个存储单元,存储单元的编号从0到1023

一个存储单元的存储大小为8bit,8bit=1byte,1KB=1024byte,所以有1024个存储单元

3 1KB的存储器可以存储8192个bit,1024个byte

4 1GB、1MB、1KB分别是 1073741824byte,1048576byte,1024byte

5 8080、8088、80286、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能力分别为:64KB 1MB 16MB 4GB

6 8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根,32根,则它们的寻址能力分别为 1,1,2,2,4

7 从内存中读取1024字节的数据,8086至少要读512次,80386至少要读256次

8 在存储器中,数据和程序以二进制形式存放

猜你喜欢

转载自www.cnblogs.com/qxxaq/p/11905113.html