当前位置: 首页 > news >正文

【汇编语言】CS、IP寄存器

文章目录

    • 修改CS、IP的指令
    • 转移指令jmp
    • 问题分析

修改CS、IP的指令

  • 理论:CPU执行何处的指令,取决于CS:IP
  • 应用:程序员可以通过改变CS、IP中的内容,进行控制CPU即将要执行的目标指令;
  • 问题:如何改变CS、IP中的值?
  • 设想:
    • 1、通过使用Debug中的R命令进行修改寄存器的值,例如rcs, rip。 结论:不可以。原因是:Debug是调试手段,并非程序方式;
    • 2、通过mov指令修改。结论:不可以。原因是:CPU不提供对CS、IP修改的指令;
    • 3、转移指令jmp。 结论:可行。

转移指令jmp

  • 1、同时修改CS、IP的内容
# jmp 段地址:偏移地址
# 作用: 使用指令中给出的段地址修改CS,偏移地址修改IP。
jmp 2AE3:3
jmp 3:0B16
  • 2、仅修改IP的内容
# jmp 某一合法寄存器
# 作用:用于修改IP值
jmp ax(类似于 mov IP, ax)
jmp bx

问题分析

jmp具体过程
在这里插入图片描述
CPU执行指令从20000H开始,执行的序列是:

1. mov ax 6622
2. jmp 1000:3
3. mov ax, 0000
4. mov bx, ax
5. jmp bx
6. mov ax, 0123H
7. 循环转至第三步执行
http://www.lryc.cn/news/134133.html

相关文章:

  • Nvidia Jetson 编解码开发(3)解决H265解码报错“PPS id out of range”
  • Angular中如何获取URL参数?
  • uniapp编写微信小程序和H5遇到的坑总结
  • 课程表-广度优先和图
  • 机器学习|决策树:数学原理及代码解析
  • 1.0的星火2.0必将燎原——图文声影PPT全测试
  • [MySQL]主从服务器布置
  • 图像处理算法大全(基于libyuv或IPP)----NV12转成I420,RGB24,ARGB集合
  • 机器人操作系统:ROS2 仿真入门
  • 面试题:线程池的底层工作原理
  • Excel/PowerPoint条形图改变顺序
  • 【操作系统】虚拟内存相关分段分页页面置换算法
  • Unrecognized Hadoop major version number: 3.0.0-cdh6.3.2
  • 机器学习分类,损失函数中为什么要用Log,机器学习的应用
  • PySpark安装及WordCount实现(基于Ubuntu)
  • SpringBoot 模板模式实现优惠券逻辑
  • 并查集 rank 的优化(Java 实例代码)
  • TDA4超级玩家浮出水面,行泊一体功能、成本刷到极致
  • 3分钟了解Android中稳定性测试
  • LVS-DR+keepalived实现高可用负载群集
  • 阿里云国际版注册教程
  • 基于百度文心大模型创作的实践与谈论
  • Java基础知识题(五)
  • 攻防世界-fileinclude
  • 流媒体服务器SRS的搭建及QT下RTMP推流客户端的编写
  • Effective C++条款11——在operator=中处理“自我赋值”(构造/析构/赋值运算)
  • 可视化绘图技巧100篇基础篇(八)-气泡图(一)
  • Elasticsearch查询之Disjunction Max Query
  • Lock wait timeout exceeded; try restarting transaction的错误
  • ShardingSphere01-docker环境安装