与ds和[]组装的jmp

时间:2019-01-09 17:07:55

标签: assembly

你好,我想在下面理解这段代码,如果你能向我解释,我将不胜感激:

jmp ds:off_100011A4[edi*4]

为什么使用此“ ds”和此off_100011A4?以及下面的代码是什么意思:

off_100011A4 dd offset loc_10001125
         dd offset loc_10001125
         dd offset loc_1000113A
         dd offset loc_1000112C
         dd offset loc_10001133
         dd offset loc_1000113A

1 个答案:

答案 0 :(得分:0)

指令是无条件跳转到地址。该地址是通过将EDI寄存器的内容乘以4来计算的。乘以4是x86平台上指针的大小。

DS表示偏移量是指数据部分。指定数据段意味着将前面提到的计算出的偏移量与数据段的基本偏移量相加。数据段表示用户变量的存储位置。