Dino
Спасибо большое еще раз! Я вроде как разобрался, теперь использую E9 - это наверно far jmp =)
Вот такое чудовище получилось, но оно работает :DD Спасибо за терпение к моей не образованности!!! Спасибо kengу за замечательные уроки!!!
Да конечно умеет. Но я понимаю стремление ТСа самому разобраться в этом.
Ноу.
EB - это и есть код команды short jmp (short\near одно и тоже)
FE - это относительное смещение , которое ты высчитал по формуле
11D70000 EB FE - jmp 11D70000
Еще можно прыгать на + или - сколько-нибудь байт вперед. Типа "jmp 5" - вперед (ниже по коду) на 5 байт. CE, по-моему, даже умеет автоматически определять разницу между short jmp и far jmp. А "почему так сложно" - наоборот, просто, все переходы - статические. Код лежит всегда по одним и тем же относительным смещениям, так компилятор делает и так процессору проще в этой каше разбираться. Как результат - программы работают быстрее.
это относительных переход и рассчитывается по формуле <Адрес куда прыгаем> - <Адрес от куда прыгаем> - <Количество байт занятых под команду jmp>
то бишь 0x088A0000 - 0x088A0000 - 2
тк это near jmp, то он будет занимать 2 байт
в итоге получаем EB FE