CS和IP

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)