首页 > 其他 > 详细

汇编-----寄存器

时间:2017-10-12 00:28:03      阅读:365      评论:0      收藏:0      [点我收藏+]

第二章的学习告一段落,这一章也算是开始正式接触一些汇编的基本指令,主要还是汇编中对寄存器的应用,对此也略有心得,大体如下:

  一、通用寄存器

         寄存器AX,BX,CX,DX,通常用于存放一般性数据,称为通用寄存器。每个寄存器均为16位

         这些寄存器均可拆分成两个8位寄存器单独使用,例如:AX可拆为AH和AL;

  二、汇编指令:mov,add

          在mov 和 add 指令中, 两个操作对象的位数应一致

          并且当运算时超出寄存器表示的位数时会自动舍去

  三、内存单元的物理地址

          8086内部的寄存器都是16位的,而外部地址总线宽度为20位,所以在8086内部用两个16位地址通过计算合成得到一个20位的物理地址。即 段地址x16+偏移地址=物理地址

           其中:1.  段地址:偏移地址 又称 逻辑地址

                      2.  段地址x16构成短的起始物理地址;                  

  四、CS和IP

         CS:代码段段寄存器,用于存放代码段的段地址

          IP:指令指针寄存器,用于存放CPU将要读取的指令在代码段中的偏移地址

          CS:IP  对应的物理地址存放的是CPU将要读取的指令

          在8086CPU加电启动或复位后,CS=FFFFH,IP=0000H,所以CPU从内存FFFF0H处读取第一条指令;

  五、修改CS和IP的指令jmp

          1.同时修改CS、IP的内容: jmp 段地址:偏移地址;

              用指令中给出的段地址修改CS偏移地址修改IP; 

          2.只修改IP的内容:  jmp  某一合法寄存器

              用指令中寄存器的值修改IP

         

此外:在读取命令之后的会立刻修改IP,若命令为jmp 则会再次修改IP!

             并且 据观察,当读取的是mov,add等指令时,IP会增3;但当所读指令为jmp+ 某一寄存器IP会增5

 

额...... 这一章的内容感觉上应该大差不差了。先到这里吧 ,下次继续。。。。

汇编-----寄存器

原文:http://www.cnblogs.com/scq2333/p/7653577.html

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