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

日常踩坑---ljmp在BIOS中的使用

在 x86 架构,ljmp 指令用于执行远跳转,该指令的操作数是一个远指针,由一个16位的段选择器和一个16位的偏移量组成,因此实模式下ljmp 指令的字节码长度是5个字节

  • 1个字节:操作码(opcode),对于 ljmp 指令,操作码是 EA
  • 第2个和第3个字节:16位的偏移量(offset),在内存中以小端序存储
  • 第4个和第5个字节:16位的段选择器(segment selector),在内存中也以小端序存储。
    然而,与16位实模式不同的是,在32位模式下,偏移量是32位的,而段选择器仍然是16位的。因此,在32位模式下,ljmp 指令的字节码长度是7个字节。

对于指令 ljmp $0x3630,$0xf000e05b,其字节码表示如下:

EA 5B E0 00 F0 30 36

在32位保护模式下,跳转后 IP=0xF000E05B, CS=0x3630 ;
但是BIOS是运行在实模式下的,只读取了五个字节IP= E05B,CS=0xF000,最终地址为CS:IP=0xFE05B

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • pytest-html报告修改与汉化
  • CTF-NSSCTF[NISACTF 2022]
  • 探索PostgreSQL的GUI工具:提升数据库管理效率
  • 小阿轩yx-部署 KVM 虚拟化平台
  • Elasticsearch跨集群搜索
  • 搜维尔科技:Haption Virtuose 6D遥操作控制人形机器人操作
  • 【Linux-IMX6ULL-阻塞与非阻塞】
  • org.eclipse.jgit 简单总结
  • 电测量数据交换DLMSCOSEM组件第53部分:DLMSCOSEM应用层(下)
  • 3.5.4、查找和排序算法-排序算法下
  • 安全与加密常识(2)TLS/SSL安全协议
  • 数字孪生赋能农业生产:智慧农业的未来之路
  • 计网 - 传统的类网络划分 vs 无类别域间路由CIDR
  • Java连接Redis和SpringBoot整合Redis
  • Docker基础概念
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • iOS编译提示和导航提示
  • Mysql5.6主从复制
  • node学习系列之简单文件上传
  • Spring Cloud中负载均衡器概览
  • use Google search engine
  • windows下如何用phpstorm同步测试服务器
  • 当SetTimeout遇到了字符串
  • 动态魔术使用DBMS_SQL
  • 仿天猫超市收藏抛物线动画工具库
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 马上搞懂 GeoJSON
  • 前嗅ForeSpider采集配置界面介绍
  • 十年未变!安全,谁之责?(下)
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 微服务入门【系列视频课程】
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • ​secrets --- 生成管理密码的安全随机数​
  • #Linux(make工具和makefile文件以及makefile语法)
  • #pragma data_seg 共享数据区(转)
  • $GOPATH/go.mod exists but should not goland
  • (09)Hive——CTE 公共表达式
  • (1) caustics\
  • (c语言)strcpy函数用法
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (一)appium-desktop定位元素原理
  • (转)Sublime Text3配置Lua运行环境
  • ***通过什么方式***网吧
  • .env.development、.env.production、.env.staging
  • .NET 5种线程安全集合
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .netcore 获取appsettings
  • .NET中的Exception处理(C#)