第二章 寄存器

第二章  寄存器

一,cpu概述

1, 一个cpu由运算器,控制器,寄存器组成

2, 内部总线实现cpu内部各个器件的联系

3, 外部总线实现cpu和主板上其他器件的联系

4,

 

二,通用寄存器

1,8086cpu中,寄存器Ax,Bx,Cx,Dx通常存放一般性数据,称通用寄存器,每个寄存器均为16位    例如:

2,寄存器拆分,Ax分为AH,AL,Bx分为BH,BL,Cx分为CH,CL,Dx分为DH,DL;

例如:

三,字在寄存器中的存放

1, 一个字由两个字节组成,可存于一个16位寄存器中,字的高八位存于通用寄存器的高八位寄存器,字的低八位可存于通用寄存器的低八位寄存器

例如:

 

2,16进制的数从头至尾为,0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F;字母分别代表10,11,12,13,14,15;

 

四,汇编指令

1, mov,add;

2,

 

3, 注意:汇编数目运算应该量级相同,

 

五,8086给出物理地址的方法

1, cpu访问内存单元时要给出内存单元的地址

2, 所有内存单元构成的存储空间是一个一维线性空间,每一个内存单元在这个空间中都有唯一的地址,称物理地址

3,

 

4, 8086内部的寄存器都是16位的,而外部地址总宽为20位,16位的寄存器无法直接表示20位的物理地址,16位存放的地址数据范围0~2^16-1(64kb),29位对应的地址单元0~2^20-1(1mb);解决实例

 

 

5, 8086在内部用2个16位地址通过计算合成得到20位的物理计算地址,由cpu内部的地址加法器实现:基础地址(段地址)*16+偏移地址=物理地址,段的起始物理地址是16的倍数

 

六,cs Ip

 

1, cs:代码段段寄存器,存放代码段的段地址,Ip:指令指针寄存器,存放cpu将要读取的指令在代码段中的偏移地址,cs:ip对应的物理地址存放的是cpu将要读取的指令,(cs)*16+Ip=指令的物理地址

2, 计算机工作过程:

Cpu基于cs:ip,计算物理地址,然后到相应内存单元读取指令,送到指令缓冲区,然后cpu自动修改ip的值,ip=ip+所读取的指令长度,为下一步指令读取做准备,最后执行指令,随即转第一步,重复

3, 修改cs ip的指令jmp

同时修改cs,ip的内容jmp 段地址:偏移地址

 

 

只修改ip的内容,jmp 某一合法寄存器

 

 

posted on 2018-10-20 16:41  free_rocket_man  阅读(265)  评论(0)    收藏  举报

导航