汇编语言第二章知识梳理

  • 一个典型的cpu由运算器、控制器、寄存器等器件组成,这些器件靠内部总线相连。
  • 内部总线实现cpu内部各个器件之间的联系。外部总线实现cpu和主板上其他器件的联系。
  • 8086CPU中的14个寄存器:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW
  • 概括的讲,16位结构描述了一个cpu具有以下几个方面的特征:(1)运算器一次最多可以处理16位的数据。(2)通用寄存器的最大宽度为16位。(3)寄存器和运算器之间的通路是16位的。
  • 8086cpu有20位地址总线,可传送20位地址,寻址能力位1MB。内部为16位结构,它只能传送16位的地址,表现出的寻址能力只有64KB。它采用的是一种在内部用两个16位地址合成的方法来形成一个20位的物理地址。在读写内存时,步骤如下:                                                                                                            (1)cpu中的相关部件提供两个16位的地址,一个称为段地址,另一个称为偏移地址。                                                                                                                    (2)段地址和偏移地址通过内部总线送入一个称为地址加法器的部件。                                                                                                                                            (3)地址加法器将两个16位地址合并成一个20位的地址。(地址加法器合成物理地址的方法:物理地址=段地址*16+偏移地址。“段地址*16”有一个更为常用的说法就是数据左移4位(二进制位)。基础地址+偏移地址=物理地址。)
  • 8086pc工作过程:

       (1)从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器。

       (2)IP=IP+所读取指令的长度,从而指向下一条指令。

       (3)执行指令。转到步骤(1)。

       (4)重复这个过程。

        也就是说内存中的一段信息曾被cpu执行过的话,那么它所在的内存单元必然被CS:IP指向过。

  • mov指令可以改变8086cpu大部分寄存器的值,被称为传送指令。但是mov指令不能用于设置CS,IP的值。
  • 修改CS,IP的值:

       (1)同时修改CS,IP的内容:jmp  段地址:偏移地址
 

       (2)仅修改IP的值:jmp 某一合法寄存器  

原文地址:https://www.cnblogs.com/zakon/p/9744596.html