第2章 寄存器小结

CPU

 

CPU由运算器、控制器、寄存器等器件构成,运算器进行信息处理,寄存器进行信息存储,控制器控制各种器件进行工作,内部总线连接各种器件,在它们之间进行数据的传送。程序员通过改变各种寄存器中的内容来实现对CPU的控制。

位宽:CPU通过外部数据总线与内存之间一次能够传送的数据位。

8086 16位CPU(字长16位,位宽16位)

通用寄存器

 

8086CPU的所有寄存器都是16位的,通用寄存器包括AX,BX,CX,DX,这四个寄存器都可分为两个可独立使用的8位寄存器来用:

  • AX可分为AH和AL

  BX可分为BH和BL

  CX可分为CH和CL

  DX可分为DH和DL

AX的低8位(0位~7位)构成了AL寄存器,高8位(8位~15位)构成了AH寄存器。AH和AL寄存器是可以独立使用的8位寄存器。

 

 

字在寄存器中的存储

 

字节:记为byte,一个字节由8个bit组成,可以存在8位寄存器中。

字:记为word,一个字由两个字节组成,这两个字节分别称为这个字的高位字节和低位字节,一个字可以存在一个16位寄存器中。

几条汇编指令

 

在进行数据传送或运算时,要注意指令的两个操作对象的位数应当时一致的

如:

mov  ax,bl             (在8位寄存器和16位寄存器之间传送数据)

mov  bh,cx            (在16位寄存器和8位寄存器之间传送数据)

mov  al,20000        (8位寄存器最大可存放值为255的数据)

mov  al,100H         (将一个高于8位的数据加到一个8位寄存器中)

如 add AL,93H时,AL作为一个独立的8位寄存器使用,和AH没有关系,产生的进位不会储存在AH中。

8086CPU给出物理地址的方法

 

所有的内存单元构成的存储空间是一个一维的线性空间

当8086CPU要读写内存时:

(1) CPU中的相关部件提供两个16位的地址,一个称为段地址,另一个称为偏移地址;

(2) 段地址和偏移地址通过内部总线送入一个称为地址加法器的部件;

(3) 地址加法器将两个16位地址合成为一个20位的物理地址;

(4) 地址加法器通过内部总线将20位物理地址送入输入输出控制电路;

(5) 输入输出控制电路将20位物理地址送上地址总线;

(6) 20位物理地址被地址总线传送到存储器;

地址加法器如何完成段地址*16的运算?就是将以二进制形式存放的段地址左移4位

地址加法器采用物理地址=段地址*16+偏移地址的方法用段地址和偏移地址合成物理地址。

“段地址*16+偏移地址=物理地址”的本质含义

 

CPU在访问内存时,用一个基础地址(段地址*16)和一个相对于基础地址的偏移地址相加,给出内存单元的物理地址

段的概念

 

内存并没有分段,段的划分来自于CPU

偏移地址为16位,16位地址的寻址能力为64KB,所以一个段的长度最大为64KB

如果给定一个段地址,仅通过变化偏移地址来进行寻址,最多可以定位多少个内存单元?偏移地址为16位,变化范围为0~FFFFH,仅用偏移地址来寻址最多可寻64KB个内存单元。

可以根据需要,将地址连续、起始地址为16的倍数的一组内存单元定义为一个段。

 

在编程时可以根据需要,将若干地址连续的内存单元看作一个段,用段地址*16定位段的起始地址(基础地址),用偏移地址定位段中的内存单元。

段寄存器

 

包括:CS、DS、SS、ES

CS和IP

 

8086机中,任意时刻,CPU将CS:IP指向的内容当作指令执行。

CS为代码段寄存器,IP为指令指针寄存器,jmp指令可修改CS和IP

“jmp  某一合法寄存器”指令的功能为:用寄存器中的值修改IP。

8086CPU的工作过程:

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

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

(3)执行指令,转到(1)

 

 

R命令查看、改变寄存器中的内容:1.-r    2.-r 寄存器 Enter

D命令查看内存中的内容:1.d 段地址:起始偏移地址 结尾偏移地址 2.d 段地址:起始偏移地址 长度

E命令改写内存中的内容:1.-e 起始地址 数据 数据 数据... 2.-e 段地址:偏移地址 Enter 3.-e 起始地址 ‘字符’(向内存单元中写入字符的ASCII码值)

U命令反汇编:1.-u 2.-u 起始地址 3.与d命令类似

T命令执行一条机器指令:先修改CS、IP

A命令以汇编指令格式在内存中写入一条机器指令:-a 起始地址

 

posted @ 2018-10-27 12:06  547233  阅读(411)  评论(0编辑  收藏  举报