汇编学习笔记---2.3 CS和IP
2015-11-11 12:59
169 查看
1,CS和IP是8086CPU中两个最关键的级才能起,指示了CPU当前要读取指令的地址。其中CS表示代码段寄存器,IP表示指令指针寄存器。
在8086PC机器中,任意时刻,假设CS中的内容是M,IP中的内容是N,8086CPU将从内存MX16+N单元开始读取一条指令并执行。
当8086CPU加电启动或者复位后,CS和IP被设置为CS=FFFFH,IP=0000H;当8086PC刚启动是,CPU从内存FFFF0H单元中读取指令执行,FFFF0H单元中的指令是开机后执行的第一条指令。
2,如何修改CS和IP
2.1 如果我们需要同时修改CS和IP的值,那么我们可以使用jmp 段地址:偏移地址来实现:
jmp 2AE3:3----------执行后:CS = 2AE3H,IP=0003H,CPU将从2AE33H处开始读取指令;、
其中,(jmp段地址:偏移地址)的功能为:用指令中的段地址修改CS,偏移地址修改IP。
2.2 若要只修改IP的值:
jmp ax, 执行前:ax = 1000H,CS=2000H,IP=0003H
执行后: ax=1000H, CS=2000H, IP=1000H
其中,(jmp 某一合法寄存器)功能为:用寄存器中的值来修改IP;
在8086PC机器中,任意时刻,假设CS中的内容是M,IP中的内容是N,8086CPU将从内存MX16+N单元开始读取一条指令并执行。
当8086CPU加电启动或者复位后,CS和IP被设置为CS=FFFFH,IP=0000H;当8086PC刚启动是,CPU从内存FFFF0H单元中读取指令执行,FFFF0H单元中的指令是开机后执行的第一条指令。
2,如何修改CS和IP
2.1 如果我们需要同时修改CS和IP的值,那么我们可以使用jmp 段地址:偏移地址来实现:
jmp 2AE3:3----------执行后:CS = 2AE3H,IP=0003H,CPU将从2AE33H处开始读取指令;、
其中,(jmp段地址:偏移地址)的功能为:用指令中的段地址修改CS,偏移地址修改IP。
2.2 若要只修改IP的值:
jmp ax, 执行前:ax = 1000H,CS=2000H,IP=0003H
执行后: ax=1000H, CS=2000H, IP=1000H
其中,(jmp 某一合法寄存器)功能为:用寄存器中的值来修改IP;
相关文章推荐
- Spring MVC事务配置
- 情感分析系列之《利用BRAT进行中文情感分析语料标注》
- RandomAccsiFile
- Prism 5 + MEF中的ModuleCatalog.CreateFromXaml问题
- finally
- NSString类型数据去掉首尾空格
- android中RecyclerView
- Loongint 的花篮
- CentOS6 图形界面(gnome)安装,使用vnc进行远程连接
- Java-IO-文件的创建及读取(一)
- Java-IO-文件的创建及读取(一)
- APP交互
- 获得元素上的所有属性
- Array类
- 分析Oracle索引扫描四大类
- 接口测试设置参数的方式-接口的参数是一个json长串
- Json 使用小结
- 内存管理器(十五)内核调试利器----dump_stack( )
- 找工作
- 浙江大学PAT_甲级_1094. The Largest Generation (25)