006 发表于 2013-9-3 00:57:02

求助,检测点 9.1 ,jmp指令不懂的地方

本帖最后由 006 于 2013-9-3 01:25 编辑





我想问的是:
          已知,jmp word ptr 表示的是段内转移,cs:ip要指向程序的第一条指令,就是start处。start处的偏移地址就为0,如果正确。那说明IP需要为0.也就是 =0=ip。我想知道如果这样正确的话。data段中的数据怎么才能使IP=0呢 ?还有我们可以从程序里看出,ds与数据段关联。那么jmp word ptr 也就是jmp word ptr ds:。我想了解的是这里的ds:与jmp word ptr 的关系是什么 ? 简单的说也就是JMP WPER PTR 是什么意思啊 ?
      还有书本上介绍jmp word ptr 内存单元 的功能内为:从内存单元地址处开始存放的第一个字,是转移的偏移地址。 那么这里所说的内存单元的开始出是指那里?
      望指点迷津,感激不尽

小咒 发表于 2013-9-3 03:03:42

jmp word ptr=段内间接转移

word ptr取一个字形的数据(也就是一个偏移地址)

jmp word ptr 这里的bx设置为0也就是ds:的地址取偏移地址

怡静 发表于 2013-9-3 09:10:19

小咒 发表于 2013-9-3 03:03 static/image/common/back.gif
jmp word ptr=段内间接转移

word ptr取一个字形的数据(也就是一个偏移地址)


小咒,不错,常看到你在汇编帮新人解答问题,真的不错,想不想来当我们这个版块的版主,和大家一起学习,共同进步,

006 发表于 2013-9-3 09:14:10

小咒 发表于 2013-9-3 03:03 static/image/common/back.gif
jmp word ptr=段内间接转移

word ptr取一个字形的数据(也就是一个偏移地址)


word ptr 取一个字型数据做为偏移地址,该怎么理解呢 ?

006 发表于 2013-9-3 10:15:01

小咒 发表于 2013-9-3 03:03 static/image/common/back.gif
jmp word ptr=段内间接转移

word ptr取一个字形的数据(也就是一个偏移地址)


这么问吧 。jmp word ptr       这个jmp指令里,他的 ip偏移地址是不是ds:处开始的两个字节就是偏移地址 ?
jmp dword ptr    这个jmp指令cs的地址是不是ds:开始的第二个字就是cs的段地址,ip是ds:开始的第一个字就是偏移地址?这样是正确的吗 ?

小咒 发表于 2013-9-3 21:04:58

怡静 发表于 2013-9-3 09:10 static/image/common/back.gif
小咒,不错,常看到你在汇编帮新人解答问题,真的不错,想不想来当我们这个版块的版主,和大家一起学习, ...

这个版主就算了,自认实力不足,很多问题我都回答不了的,回答别人的问题也是属于自我温故而知新的目的。。。

小咒 发表于 2013-9-3 21:09:30

006 发表于 2013-9-3 10:15 static/image/common/back.gif
这么问吧 。jmp word ptr         这个jmp指令里,他的 ip偏移地址是不是ds:处开始的两个字节就是偏移地址 ...

DS:0 1 2 3 4 5 6 7 8 9 A B C D E F

DS:,假如我们得知BX=0那么就是DS:1取字形数据

也就是取ds:1-2中的数据

liangfei44 发表于 2013-9-3 21:40:24

这个你不能理解,那下面的不知道你能理解不?
mov al,byte ptr
mov ax,word ptr

ip是由偏移地址组成,表示范围o-FFFF,FFFF表示的就是一个字的大小,例如bx指向内存地址,那
jmp byte ptr,意思是jmp 3ah,如果是jmp word ptr,意思是 jmp 5b3ah, mov也一样!

怡静 发表于 2013-9-4 00:06:21

小咒 发表于 2013-9-3 21:04 static/image/common/back.gif
这个版主就算了,自认实力不足,很多问题我都回答不了的,回答别人的问题也是属于自我温故而知新的目的。 ...

你说得对,版主不是万能,帮助新人等于帮助自己的水平的提高,如果你在线时间还行,希望你能考虑一下我的建议,
页: [1]
查看完整版本: 求助,检测点 9.1 ,jmp指令不懂的地方