寄存器(CPU)

    计算机内的各种芯片都固定在主板上,同时主板上有许多的扩展插槽来对芯片进行扩充,这些芯片里都有自己的ROM和RAM,一般ROM里存储着相应芯片的BIOS,主板ROM里存着系统BIOS,CPU对外设的控制是通过这些接口卡来间接实现的,CPU内部的逻辑器件,像运算器、寄存器、控制器,是通过内部总线来进行数据的传输的,而CPU与接口卡是通过外部总线连接起来的。

  RAM和ROM都可分为一个个的存储单元,一个存储单元有一个字节,把所有芯片的RAM和ROM统一进行编址,就形成了内存地址空间。8086CPU有14个寄存器,这些寄存器都是16位的,AX,BX,CX,DX为四个通用寄存器,用来存储一般性数据。汇编指令和寄存器名称不区分大小写。对AX或者AL都是对一个寄存器进行独立的运算,溢出的部分不会影响到其他的寄存器,例如:mov al,FFH;mov ah,0H;add al,1H; 则al为0H,ah为0H。

  8086是16位机,它的运算器一次最多可以处理16位的数据,8086CPU有20位地址总线,可以传送20位地址,达到1MB的寻址能力,但8086CPU又是16位结构,在内部一次性处理、传输、暂时存储的地址为16位,如果将地址从内部简单地发出,那么他只能送出16位地址,表现的寻址能力只有64KB。所以8086CPU采用了用段地址和偏移地址来表示物理地址的方法。

  CS,DS,SS,ES为四个段寄存器,8086CPU访问内存时由这四个段寄存器提供内存单元的段地址。CS为代码段寄存器,IP为指令指针寄存器,在任何时候CPU都会将CS:IP指向的内容当做指令执行。大部分的寄存器的值,都可以用mov指令来改变,mov指令被称为传送指令,但是mov指令不能用于设置CS、IP的值,能够改变CS、IP值的指令称为转移指令(jmp指令)。例如:jmp  段地址:偏移地址       jmp  2AE3 : 3若想仅修改IP的内容,可用指令“jmp  某一合法寄存器”完成: jmp  ax;  则将ax里的值转移给了IP.

  8086CPU的工作过程:

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

    2、 IP指向下一条指令,读取多少字节就加几,读取相加执行的顺序;

    3、 执行指令。

posted @ 2011-06-28 11:28  左手写诗  阅读(722)  评论(0编辑  收藏  举报