第2章 寄存器小结

CPU

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

通用寄存器

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

  • AX可分为AH和AL

  BX可分为BH和BL

  CX可分为CH和CL

  DX可分为DH和DL

字在寄存器中的存储

字节:记为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位寄存器中)

8086CPU给出物理地址的方法

当8086CPU要读写内存时:

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

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

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

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

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

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

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

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

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

段的概念

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

段寄存器

包括:CS、DS、SS、ES

CS和IP

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

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

猜你喜欢

转载自www.cnblogs.com/547hh/p/9859370.html
今日推荐