搜索
编程论坛
→
开发语言
→
『 汇编论坛 』
→ 求助,有关汇编语言jmp指令的问题~
标题:
求助,有关汇编语言jmp指令的问题~
只看楼主
Usherkey
等 级:
新手上路
帖 子:2
专家分:0
注 册:2020-2-28
结帖率:
0
楼主
已结贴
√
问题点数:20 回复次数:3
求助,有关汇编语言jmp指令的问题~
在汇编教材上看到的例子:
mov ax,0123h
mov ds:[0],ax
mov word ptr ds:[2],1
jmp dword ptr ds:[0]
指令执行后,(CS)=0, (IP)=0123H, CS:IP 指向0000:0123
求教一下,这里的(CS)的值为什么会是0?
搜索更多相关主题的帖子:
jmp
mov
指令
IP
汇编语言
2020-02-28 16:28
Valenciax
等 级:
版主
威 望:
11
帖 子:337
专家分:2462
注 册:2016-5-15
第
2
楼
得分:20
这里有两个问题
1. 结果应该是cs:0001, ip=0123h
2. jmp dword ptr ds:[0] 理论上会跳到 ds:[0]这个'双字'的地址,实际结果却是不可预期,用debug追踪一下便会明白.
但可以用一条等价指令替代
jmp far ds:[0]
这个在不同的场合下能正常运行.
2020-02-28 20:13
Usherkey
等 级:
新手上路
帖 子:2
专家分:0
注 册:2020-2-28
第
3
楼
得分:0
回复 2楼 Valenciax
谢谢,是我写错了, 结果是(cs)= 0001。
2020-02-29 08:12
Valenciax
等 级:
版主
威 望:
11
帖 子:337
专家分:2462
注 册:2016-5-15
第
4
楼
得分:0
JMP DWORD PTR DS:[0]
在内存存放是
地址 0000 0001 0002 0003
值 23 01 01 00
DS:[0]被视为一个完整的双字,低位在前,高位在后,所以地址是
0001:0123
2020-02-29 09:30
4
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-499456-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.450355 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved