鸿 网 互 联 www.68idc.cn

汇编语言学习笔记(1)

来源:互联网 作者:佚名 时间:2015-08-28 08:01
大学时曾 学习 过 汇编语言 ,现在想深入了解一下底层原理,又 学习 了一遍 汇编语言 和操作系统原理. 学习 汇编语言 时,整理出的 笔记 ,按知识点记录,可能会比较混乱,需要的可以看看,对知识点进行补充. 1.汇编指令:是机器指令便于记忆的书写格式. 2.寄存器:CP

大学时曾学习汇编语言,现在想深入了解一下底层原理,又学习了一遍汇编语言和操作系统原理.

学习汇编语言时,整理出的笔记,按知识点记录,可能会比较混乱,需要的可以看看,对知识点进行补充.

 

1.汇编指令:是机器指令便于记忆的书写格式.

2.寄存器:CPU中用来存储数据的器件,一个CPU有多个寄存器.

3.汇编语言的组成:

   a)汇编指令:机器码的助记符,有对应的机器码;

   b)伪指令:没有对应的机器码,由编译器执行,CPU并不执行;

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

   当然核心是汇编指令.每一种CPU都有自己的汇编指令.

 

 

 

4.要使CPU工作,需要提供数据,指令和数据在存储器中存放,即平时所说的内存.在内存或磁盘上,指令和数据没有任何区别,都是二进制信息.

5.CPU想要操作数据,以读写为例,需要的信息有:

   a)存储单元的地址(地址信息)

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

   c)读或写的数据(数据信息)

6.CPU通过总线连接CPU和其他芯片的导线.总线从逻辑上又可以分为三类:地址总线(发送地址),控制总线(读写操作)和数据总线(传送数据).

7.地址总线:一个CPU有N根地址总线,那么他可以访问的内存单元为2的N次方个内存单元(寻址能力).

8.数据总线:N根数据总线,那么一次可传递N位数据.

9.控制总线:是一些不同的控制线的集合,有多少根控制总线,意味着CPU提供对对外部器件的多少种控制.控制总线的宽度决定了CPU对外部器件的控制能力.

 

 

10.CPU在操纵和控制外设时,把它们都当作内存来对待.所有的物理存储器被看作一个由若干个存储单元组成的逻辑存储器,每个物理存储器在这个逻辑存储器中占有一个地址段,CPU在这段地址中读写数据.实际上,就是在相对应的物理存储器中读写数据.所以,CPU面对的是----内存地址空间(逻辑的).

11.内存地址空间的大小受CPU地址总线宽度的限制.地址总线宽度为32位,则内存的空间最大为4GB.在基于系统中硬件系统编程时,必须得知这个系统中的内存地址空间的分配情况.(内存地址空间对应的可能包括显卡的显存,各类ROM..等等一些存储地址)

12.内存地址空间:最终运行程序的是CPU,对CPU来讲,系统中所有的存储器中的存储单元都处于一个统一的逻辑存储器中,容量受CPU寻址能力的限制.

 

 

 

 

13.寄存器(CPU工作原理):一个典型的CPU由运算器(信息处理),寄存器(信息存储)和控制器(内部总线连接各器件,在它们之间传送数据)等器件构成,这些器件靠内部总线相连.

14.内部总线实现了CPU各器件之间的联系,外部器件实现CPU和主板上其他器件的联系.

15.8086CPU上有14个寄存器:AX,BX,CX,DX,DS,CS,SS,ES,SI,DI,SP,IP,BP和PSW,都是16位的.AX可以分为AL和AH两个8位寄存器,BX,CX,DX同理.一个内存单元可以存放8位数据,CPU中的寄存器可以存放N个8位数据.

 

 

 

16.几条汇编指令:

          mov   ax,18

          mov   ah,78

          add    ax,8

          mov   ax,bx

          add    ax,bx

17.CPU向地址总线上发出物理地址之前,必须先在内存形成这个物理地址.----how...?

18.物理地址:内存单元的地址送上地址总线之前,必须现在CPU中处理,传输,暂时存放.

19.8086上采用一种在内部用两个16位地址合成的方法来形成一个20位的物理地址(段地址+偏移地址).不同的CPU有不同的形成物理地址的方式.

20.地址运算过程:段地址+偏移地址-->地址加法器-->I/O-->内存.地址加法器:段地址*16(实际上就是段地址左移4位)+偏移地址=物理地址.一个X进制的数据左移一位,相当于乘以X.

    寻址方案:基础地址+偏移地址=物理地址

 

网友评论
<