回顾复习(承上启下)

承上启下

寄存器

数据寄存器

AX

BX      也可以被当作偏移地址寄存器

CX      CX也有其他作用

DX      AX,DX用来处理数据的

通用寄存器

地址寄存器——》分为段地址寄存器和偏移地址寄存器

标志位寄存器

AX,BX,CX,DX   都是16位寄存器  可以各自分为两个互相独立的八位寄存器   AX=AH+AL……

翻译工作   为了保证数据与寄存器之间的位数的一致性           寄存器的位数来判断

mov 移动指令

add  运算指令

运算是有可能超过寄存器的最大值,超过的那部分是到其它地方去了,并没有消失

寄存器之间是互相独立的

地址寄存器:

段地址寄存器  ,偏移地址寄存器           通过组合规则组合起来

DS                               SP                      段地址*16+偏移地址=物理地址

ES          BP                      因为8086CPU有20根地址线

SS          SI

CS          DI

          IP

          BX

CPU是如何区分指令和数据的

CS, IP 这两个寄存器

在任意时刻  CPU将段地址寄存器CS 和 偏移地址寄存器IP所组合出来的地址从中读取内容

全部当做指令来执行

指令是有长度的     ip寄存器有关

可以修改CS  IP这两个寄存器的指令

jmp   jmp    段地址:偏移地址

   jmp     寄存器 

call  xxxx    指令执行过程 ——》改变了的IP保存了起来  跳转

指令的执行过程:

1、CPU从CS:IP所指向的内存单元读取指令,将读取的指令存放到指令缓存器中

2、IP=IP+所读指令长度,从而指向下一条指令

3、执行指令缓冲器中的内容,回到步骤1

指令和数据存放在内存中是没有任何区别的

是我们汇编程序员通过修改寄存器中的内容  地址寄存器  数据在哪里   指令在哪里

原文地址:https://www.cnblogs.com/hsp1269/p/13751822.html