Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2014, 11:47   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
и устройство операционки тут не помеха.
Дело не в устройстве операционки, дело в самих командах.
Например простой код:
Код:
mov ax,[edx]
cmp ax,1
je @a
 ret 0
a:
 mov ax,1
По факту это выглядит так:
Код:
mov ax,[01234567]
cmp ax,1
je 10452FD
 ret 0
 mov ax,1 <- Эта операция находится по адресу 10452FD
Теперь представь что ты вставил после прыжка что-то:
Код:
mov ax,[01234567]
cmp ax,1
je 10452FD
 mov ax,34
 ret 0
 mov ax,1 <- Эта операция находится по адресу 10452FF
mov ax,1 уже получается по совсем другому адресу, а je 10452FD об этом не знает.
Так вот отладчик в таком случае должен был бы поменять je 10452FD на je 10452FF
И не только в этом случае а и во всем коде вообще.
И пол-беды если это константа, а если это какой-то вычисляемый адрес, берущийся из регистра, что с ним делать?
Короче говоря отладчик должен обладать навыками компилятора.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.10.2014, 12:29   #12
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Stilet,
там еще можно попасть в середину инструкции и тогда вся программа вылетит к черту...
Mikl___ вне форума Ответить с цитированием
Старый 23.10.2014, 13:04   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
там еще можно попасть в середину инструкции и тогда вся программа вылетит к черту...
Ну да. Но я это кагбэ намекаю. А точнее не акцентирую на это внимание, ибо как минимум одна проблема с релокацией даже на начало правильной инструкции уже дает о себе знать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хочу инструкцию)) vovk Свободное общение 37 11.03.2015 06:15
Как в hiew'e написать инструкцию текстом? Димас5552 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 24.10.2012 00:24
Управление циклом через case-инструкцию Nomicos Помощь студентам 2 09.07.2012 23:45
Описать код программы и написать инструкцию (=Анастасия=) Помощь студентам 0 20.06.2011 18:11