汇编 学习笔记3 段寄存器 CS:IP

Posted 布图

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编 学习笔记3 段寄存器 CS:IP相关的知识,希望对你有一定的参考价值。

https://www.bilibili.com/video/BV1zW411n79C?p=10

第十个视频

段寄存器

8086CPU中有四个段寄存器,分别是CS,DS,SS,ES

现在的计算机就不止4个了

CS和IP

cs和ip是8086中最关键的寄存器

cs:代码段寄存器,存段地址

ip:指令指针寄存器,存偏移地址

在8086启动或者复位(CPU刚开始运作)后,CS = FFFFH, IP = 0000H

即最开始是从CS = FFFFH开始读取指令的


那么CS和IP怎么改值呢?

mov指令不能用,8086可以使用转移指令

jmp 段地址:偏移地址
例如:
jmp 2AE3:3
jmp ax
类似
mov IP,ax

如何使代码段中的指令被执行呢?

用jmp指向即可,CPU只认为被CS:IP指向的才是指令,所以要将CS:IP指向所定义的代码段中的第一条指令的首地址

从CS:IP读取的指令进入指令缓冲区


习题:
下面的3条指令执行后,CPU几次修改IP?
都是在什么时候?最后IP中的值是什么?
mov ax, bx
sub ax, ax
jmp ax

以上是关于汇编 学习笔记3 段寄存器 CS:IP的主要内容,如果未能解决你的问题,请参考以下文章

汇编新手笔记

汇编语言

汇编语言入门-段指针

8086汇编学习之代码段数据段栈段与段地址寄存器

汇编入门学习笔记 —— int指令port

[汇编]《汇编语言》第2章 寄存器