首页 > 其他 > 详细

汇编体验2

时间:2017-10-08 18:30:55      阅读:397      评论:0      收藏:0      [点我收藏+]

一个典型的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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!