标题:求教:关于jmp dword ptr 内存单元地址 的问题
只看楼主
BosXL
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2018-2-26
结帖率:100%
已结贴  问题点数:20 回复次数:1 
求教:关于jmp dword ptr 内存单元地址 的问题
在王爽老师的《汇编语言》书中第9章9.6节里面,照着代码输入以下指令:

(在CMD的debug环境下)
mov ax,0123
mov [0],ax
mov word ptr [2],0
jmp dword ptr [0]



按理,在执行后,(CS)=0, (IP)=0123H, CS:IP指向 0000:0123

可是,在我的机子执行后,CS的值并没有改变,依然是原来的值为 0BDB, IP的值倒是改变为0123.

看了看  jmp dword ptr [0]  对应的机器码为: FF260000  ,这是段内转移的啊(按理应为  FF2E0000), 而且实验了很多次, 怎么在我机子上就不一样了,debug的原因?还是其他的?



求教!检查了很多遍了,没发现输错的问题,就是想不通为什么会这样?


搜索更多相关主题的帖子: jmp dword 地址 mov IP 
2018-02-26 13:49
Valenciax
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:11
帖 子:337
专家分:2462
注 册:2016-5-15
得分:20 
这里有两个问题.

1. 键入jmp dword ptr [0]... debug不能正确编译,它只编译为jmp [0000],这是短程跳跃,并不能跨段.
这是debug的问题.改用debug32是可以的.

2. 即使编译成功 jmp dword ptr [0], 经实验证明,也不能跨段,可改为
jmp far [0]
2018-03-03 22:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-484862-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017811 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved