对8086CPU中寄存器的理解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对8086CPU中寄存器的理解相关的知识,希望对你有一定的参考价值。

对于一个汇编程序员来说,CPU中的主要部件是寄存器,寄存器是CPU中程序员可以用指令读写的部件。程序员通过改变各种寄存器中的内容来实现对CPU的控制。

8086CPU的部件通常是16位的,为了保证兼容性,8086CPUAXBXCXDX这四个寄存器都可以分为两个可以独立使用的8位寄存器来使用。

比如说一个字形数据20000,分别存储在了AX寄存器中,AHAL分别为他的高8位和低8位。

当寄存器中的数据超过4位的时候,更高位的数字就会被省略。比如1044CH,最高位的1不能保存在AX中,因此AX中的数据为044CH。另外,在进行数据传送或运算的时候,要注意指令的两个操作对象的位数,应当是一致的。将超过寄存器可以存放的数据存储到寄存器中的时候也是错误的。

CPU具有以下几个结构特性:

1.运算器一次最多可以处理16位的数据。

2.寄存器的最大宽度为16位。

3.寄存器和运算器之间的通路为16位。

  8086CPU采用一种在内部用两个16位地址合成的方法来形成一个20位的物理地址。一个称为段地址,另外一个称谓偏移地址。

  地址加法器采用物理地址=段地址*16+偏移地址的方法来合成物理地址。但是内存并没有分段,段的划分来自CPU。使得我们可以分段管理内存地址。

  CSIP使8086CPU中最为关键的两个寄存器,CS为代码段寄存器,IP为指令指针寄存器。

8086CPU的操作过程可以简单描述成:

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

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

  3.执行指令,转到步骤1,重复这个过程。

  最后,如果想要修改CS,IP中的内容可以用jmp指令来操作。

 

以上是关于对8086CPU中寄存器的理解的主要内容,如果未能解决你的问题,请参考以下文章

汇编语言第二章总结

标志寄存器

第二章 寄存器相关内容总结

汇编语言 第二章

8086汇编语言学习 8086标志寄存器

简述8086/8088各种寻址方式中,段寄存器和便宜地址的组合方式