|
主题 : : 第三章 jmp 0ff0:0100的问题不明白 [待解决] |
回复[ 9次 ]
点击[ 481次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2009-12-04 14:26 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-11-12 16:40 |
请教下各位高手请问
jmp 0ff0:0100 这个怎么定位地址呢? 是cs=ff ip=100 吧? 然后怎么找啊?找不到。。。 | | |
|
|
|
|
[第1楼]
[ 回复时间:2009-12-04 14:45 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-11-12 16:40 |
呃。。我明白了。。
jmp cs:ip
故:cs=0ff0 ip=100
address = ES+AS
= 0ff0*16+100
=10000H | | |
|
|
|
|
[第2楼]
[ 回复时间:2009-12-09 10:14 ]
[引用]
[回复]
[ top ] | |
荣誉值:4
信誉值:0
注册日期:2009-11-26 15:08 |
好像不是LZ那样理解的,这里应该是是直接跳到:Address=0ff0H*16+0100H | | |
|
|
|
|
[第3楼]
[ 回复时间:2009-12-15 20:34 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2009-12-07 22:09 |
不用跳。。只要能寻找到物理地址,CPU就可以执行了。。物理地址就是10000H | | |
|
|
|
|
[第4楼]
[ 回复时间:2010-02-04 22:23 ]
[引用]
[回复]
[ top ] | |
荣誉值:4
信誉值:0
注册日期:2010-02-02 22:32 |
是不是这个OFFO就被定义为1000H呢?对这个问题我还是不懂!希望能详细的解释一下! | | |
|
|
|
|
[第5楼]
[ 回复时间:2010-02-05 14:02 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-01-10 15:20 |
该语句执行后标准答案寄存器CS=1000H IP=0000.我不理解
我在机器测试的结果是:CS=0FF0H IP=0100 | | |
|
|
|
|
[第6楼]
[ 回复时间:2010-02-09 18:29 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:2
注册日期:2010-02-04 13:43 |
回复:[第5楼]
------------------
其实CS=0FF0H IP=0100和CS=1000H IP=0000本质上都是10000H这个物理地址,
一个物理地址可以有多组段地址和偏移地址,所以我认为这个没有唯一确定的答案,
这两组答案都是对的。 | | |
|
|
|
|
[第7楼]
[ 回复时间:2010-04-22 23:46 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-04-18 14:45 |
回复:[第6楼]
------------------
看到这里我也开始有点疑惑了,虽然CS=0FF0H IP=0100和CS=1000H IP=0000本质上都是10000H这个物理地址,
但是从jmp 0ff0:0100命令的效果来看,结果应该是CS=0FF0H IP=0100,如果是根据10000H这个地址来随意选择ES和AS的组合,那jmp这个命令的随意性就太大了。 | | |
|
|
|
|
[第8楼]
[ 回复时间:2010-04-25 16:19 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-03-13 09:45 |
jmp 0ff0:0100的是意思就是跳到cs=0ff0,ip=0100 | | |
|
|
|
|
[第9楼]
[ 回复时间:2010-05-19 00:50 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-05-17 02:23 |
jmp 0ff0:0100 0ff0:0100的物理地址是10000H ,相当于1000H:0000H指令位置, 实际上指定的都是最终的内存物理地址吧 我这里理解 | | |