汇编语言 手记5

段寄存器就是提供段地址的。

8086CPU有4个段寄存器 CS DS SS ES

当8086CPU要访问内存时,由这4个段寄存器提供内存单元的段地址。

CS(代码寄存器)和IP(指令指针寄存器)是8086CPU中最关键的寄存器,它们指示了CPU当前要读取指令的地址。

执行简要过程:

1 从CS:IP指向内存单元读取指令,读取的指令进入指令缓冲器。

2 IP=IP+所读取指令的长度,从而指向下一条指令;

3 执行指令。转到1 重复这个过程。

若要同时修改CS/IP的内容:

jmp 段地址:偏移地址 (用指令中给出的段地址修改CS,偏移地址修改IP)

修改IP内容

jmp 合法寄存器名称 (用于修改寄存器中的IP的值)

CPU只认CS:IP指向的内存单元中的内容为指令

CS存放指令的段地址,IP存放指令的偏移地址

8086机中,任意时刻, CPU将CS:IP指向的内容当作指令执行。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏守望轩

Visual Studio 2008 每日提示(三十)

#301、缓存符号到本地磁盘 原文链接:You can cache symbols locally to disk 操作步骤: 菜单:工具+选项+调试+符号...

3559
来自专栏Java技术分享

Dubbo-admin无法显示Group分组信息以及是否可以显示多个分组

在首次使用Dubbo的时候,我们可能都会使用Dubbo-admin来监控服务的提供者和消费者,但是在自己的生产者成功运行的时候,在Dubbo-admin却看不到...

3437
来自专栏狂码一生

实现微信Token验证代码(PHP)

微信开放第三方API接口,申请地址: 点击链接跳转 官方提供PHP开发代码下载: 点此下载 微信Token服务器端验证代码实现如下: //1. 将timesta...

5589
来自专栏Ken的杂谈

ServiceStack.Host.MVC vs ASP.NET MVC

1202
来自专栏tiane12

Linux执行脚本出现Error: bin/bash^M: bad interpreter: no such file or directory问题解决方法

1603
来自专栏ShaoYL

iOS---内存分析

3388
来自专栏linux系统运维

vim的介绍以及使用

1283
来自专栏JackeyGao的博客

Django小技巧18: ugettext和ugettext_lazy的区别

Django API 提供了几个有用的模块来帮助你翻译你的应用程序. 它们都在django.utils.translation中使用,大多数情况下, 我们会使用...

3663
来自专栏GreenLeaves

五、CLR加载程序集代码时,JIT编译器对性能的产生的影响

1、CLR首次加载代码造成的性能损失      四、CLR执行程序集中代码介绍了CLR在首次执行一个类的时,会初始化一个内部结构,然后当目标方法被首次调用时,...

3047
来自专栏西安-晁州

nodejs记录1——async函数

其实手动配置babel环境并不难,记录下步骤: 1、首先npm init创建一个nodejs项目 2、全局安装babel-cli处理工具:npm i babel...

2340

扫码关注云+社区

领取腾讯云代金券