
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
13.04.2008, 03:14
|
|||
|---|---|---|---|
MASM ... Помогите, слежу в отладчике за регистрами, но понять не могу... |
|||
|
#18+
Доброго времени суток! Помогите пожалуйста, в данный момент читаю статьи Калашникова, и соответственно изучаю файлы, которые прилагаются к ним. Но не могу понять одной вещи, после перемещения программы в другой сегмент (в данном случае сегмент 7-ой видеостраницы) с помощью команды movs, установлена ссылка типа: jmp dword ptr cs:[off_move] , где off_move смещение команды, на которую прыгаем, а cs соответственно сегмент в который прыгаем... Так вот, но до выполнения этой команды регистр cs указывает на сегмент в котором я нахожусь сейчас, и потому, как я понимаю, прыжок должен быть произведён в пределах данного сегмента, но этого не происходит, и процессор начинает выполнять команды уже в сегменте 7-ой видеостраницы... И таким же образом производится прыжок назад: jmp dword ptr cs:[off_return] , где off_return = смещение байта, на который надо вернуться, а cs = сегмент для возврата... Но опять же до выполнения данной команды в cs содержиться адрес сегмента 7-ой видеостраницы, а прыжок выполняется в тот сегмент, с которого всё начиналось. Обьясните пожалуйста, как это работает? Заранее благодарен. P.S. Просто в той статье обьяснений этому не даётся, там просто сказано проследить за происходящим в отладчике, что я и сделал )) Но ответа в отладчике на свой вопрос не получил (возможно из-за того, что новичёк полный, и потому за чем-то не уследил). Буду благодарен любой помощи и ссылкам на статьи по данным темам :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.04.2008, 09:44
|
|||
|---|---|---|---|
MASM ... Помогите, слежу в отладчике за регистрами, но понять не могу... |
|||
|
#18+
Неправильно рассуждаете. В cs:[offset] - содержится некий адрес перехода. Адрес 32-битный, на это указывает dword ptr . Процессор берет и прыгает на этот адрес - соотетственно в cs будет значение сегмента, которое указано в целевом адресе - а там сегмент 7-ой видеостраницы. В отладчике посмотрите на двойное слово по адресу cs:[off]. ________________________________________________________ Глюк - это высокоорганизованная система не поддающихся определению частиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=16&tablet=1&tid=1345373]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
244ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 558ms |

| 0 / 0 |
