JMP с DS и [] в сборке - PullRequest
       0

JMP с DS и [] в сборке

0 голосов
/ 09 января 2019

Здравствуйте, я хотел бы понять этот код ниже, Если вы можете объяснить мне, я был бы признателен:

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 голосов
/ 09 января 2019

Инструкция является безусловным переходом по адресу. Адрес рассчитывается путем взятия содержимого регистра EDI и умножается на 4. Умножение на 4 связано с размером указателей на платформах x86.

DS указывает, что смещение относится к разделу данных. Указание сегмента данных означает, что вычисленное смещение, упомянутое ранее, суммируется с базовым смещением сегмента данных. Сегмент данных представляет, где хранятся пользовательские переменные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...