CS和IP

作者: Jorunk | 来源:发表于2018-07-31 22:46 被阅读55次

CS和IP

  • CS为代码段寄存器,IP为指令指针寄存器,它们指示了CPU当前要读取指令的地址

  • 任意时刻,8086CPU都会将CS:IP指向的指令作为下一条需要取出执行的指令

指令的执行过程

指令的执行过程 图2.12
图2.13
图2.14
图2.15
图2.16
图2.17
图2.18
图2.19
图2.21
图2.22
图2.23
图2.24
图2.25
图2.26

指令和数据集

  • 在内存或者磁盘上,指令和数据没有任何区别,都是二进制信息
  • CPU在工作的时候把有的信息看做指令,有的信息看做数据,为同样的信息赋予了不同的意义


  • CPU根据什么将内存中的信息看做指令?
  1. CPU将CS:IP指向的内存单元的内容看做指令
  2. 如果内存中的某段内容曾被CPU执行过,那么它所在的内存单元必然被CS:IP指向过

jmp指令

  • CPU从何处执行指令是由CS、IP中的内容决定的,我们可以通过改变CS、IP的内容来控制CPU执行目标指令

  • 8086提供了一个mov指令(传送指令),可以用来修改大部分寄存器的值,比如
    mov ax,10、mov bx,20、mov cx,30、mov dx,40

  • 但是,mov指令不能用于设置CS、IP的值,8086没有提供这样的功能

  • 8086提供了另外的指令来修改CS、IP的值,这些指令统称为转移指令,最简单的是jmp指令

mov ax, 0100h
jmp ax

  • 另外,也可以“jmp 直接值”来改变IP的值,比如“jmp 0100H”

jmp指令 - 练习

代码段

相关文章

网友评论

    本文标题:CS和IP

    本文链接:https://www.haomeiwen.com/subject/skshvftx.html