码迷,mamicode.com
首页 > 其他好文 > 详细

汇编体验2

时间:2017-10-08 19:02:21      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:指针   控制   组成   寻址   span   实现   物理   cpu   程序   

一个典型的CPU由运算器,控制器和寄存器组成。对于一个汇编程序员来说,CPU中的主要部件是寄存器。寄存器是是CPU中程序员可以通过指令来读写的部件,程序员通过改变寄存器中的内容来实现对CPU的控制。

8086CPU为例,该型CPU14个寄存器:AXBXCXDXSIDISPBPIPCSSSDSESPSW。该型CPU的寄存器都是16位,其中,由于AXBXCXDX四个寄存器通常用来存放一般型数据,又称为通用寄存器。由于8086CPU的上一代CPU都是8位,为了保证兼容,8086的四个通用寄存器又可分解成88位寄存器,以保证上一世代的程序可以通过稍加修改用于8086CPU上。

8086CPU有二十位的地址总线,与其16位的寄存器在寻址时不能匹配,为了解决这个问题,8086CPU采用了用两个16位地址合成一个二十位物理地址的方法,其中一个称为段地址,一个称为偏移地址,当寄存器寻址时,地址加法器将两个地址合成一个20位的物理地址,从而进行寻址,其中,物理地址=段地址*16+偏移地址。

8086CPU中,CSIP被称为段寄存器,CS为代码段寄存器,IP为指令指针寄存器。每一台计算机启动时,他的IP寄存器中的地址总是固定不变的,CS寄存器存放CPU中要读取的指令在代码段中的地址,当开始执行指令时,CPU自动修改IP寄存器中的值,将所读取的指令长度加到IP寄存器中的地址上,为下一条指令做好准备。

汇编体验2

标签:指针   控制   组成   寻址   span   实现   物理   cpu   程序   

原文地址:http://www.cnblogs.com/tuolidixinyinli/p/7638088.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!