尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

8086 汇编:段内 / 段间转移 CS/IP 变更与 DWORD PTR 原理

发布时间:2026/9/16 9:04:17

资讯中心
01
ARTICLE

8086 汇编:段内 / 段间转移 CS/IP 变更与 DWORD PTR 原理

8086 汇编:段内 / 段间转移 CS/IP 变更与 DWORD PTR 原理
初学 JMP 很容易分不清段内、段间跳转对 CS、IP 的修改逻辑也疑惑段间间接跳转为何强制用dword ptr。一、基础前置20 位代码地址公式8086 取指令地址物理地址 CS × 16 IPCS代码段基址16 位划定代码所在内存大区IP段内偏移16 位标记段内指令位置 转移本质就是修改 CS、IP 的值分两种场景。二、段内转移只改 IPCS 不变目标和当前指令在同一个代码段段基址 CS 无需改动仅更新 16 位偏移 IP。直接跳转jmp short label通过偏移量计算出新 IPCS 保持原值。段内间接跳转jmp bx仅需要 16 位数据存放 IP 偏移2 字节正好是一个字因此使用word ptr。 内存存储仅 2 字节只存新 IP。三、段间转移CS、IP 同时重写目标在别的代码段原有 CS 失效必须同时更新段基址 CS、段偏移 IP 两个 16 位数据低 16 位 → 新 IP高 16 位 → 新 CS直接远跳转jmp far ptr label指令编码自带目标段地址 偏移执行时覆盖 CS、IP。段间间接跳转jmp dword ptr [si]必须一次性取出 32 位 数据2 字节存 IP、2 字节存 CS。 双字刚好容纳两组 16 位寄存器数据这就是段间跳转必须用dword ptr的核心原因。 内存存储连续 4 字节低 2 字节 IP高 2 字节 CS。四、核心对比总结表格转移类型修改寄存器间接跳转指针所需数据长度段内转移仅 IPword ptr2 字节16 位偏移段间转移CS IPdword ptr4 字节32 位段 偏移收尾小结段内同一段只换偏移 IP16 位字足够段间跨代码段段基址 偏移都要换需要 32 位双字存储两组 16 位值所以强制dword ptr。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。