汇编语言学习笔记(四)CS 代码段寄存器

一、 CS 和IP

  • CS代码段寄存器(code segment),IP指令指针寄存器,他们指示了CPU当前要读取指令的地址.

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

汇编语言学习笔记(四)CS 代码段寄存器_第1张图片
CPU指令的执行过程.png

CPU是不会停的,CS : IP中的值也不会空的,继续执行

注意: IP 只为 CS服务,其他的段寄存器中的偏移地址不由IP提供.

通过上面的流程图我们可以看出8086指令的执行过程简要描述如下:

-1) 从CS:IP 指向的内存单元读取代码指令,读取的指令进入指令缓冲器.
-2)IP = IP + 所读取的指令的长度,从而指向下一条指令地址.
-3)执行指令. 指令执行完转到步骤(1),重复这个过程.

二、指令和数据

  • 在内存或者磁盘上,指令和数据没有任何区别,都是用二进制 信息(数据).

  • CPU 在工作的时候把有的信息看做是指令,有的数据看做是数据,为同样的信息赋予了不同的含义.

**例如,内存中的二进制信息 1000 1001 1101 1000, 计算机可以把他看做为大小是89D8H 的数据来处理,也可以将其看做指令 mov ax,bx 来执行

1000 1001 1101 1000 --->89D8H (数据)

1000 1001 1101 1000 --->mov ax,bx (程序\指令)

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

你可能感兴趣的:(汇编语言学习笔记(四)CS 代码段寄存器)