|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.11.2017, 12:54 | #1 |
Регистрация: 15.11.2017
Сообщений: 7
|
jmp offset JE - JA
Как правильно настроить прыжок ??? Нужно от esi как то закомбенировать с ebx .... Но чего то все попытки четны.
Код:
|
24.11.2017, 14:12 | #2 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
..что-то не понятный код у тебя.
это 32 или 16-бит - т.е. для винды, или доса? и вроде ни фасм, ни масм.. если код для доса, то адрес после JE будет 2-байтный, плюс сама 1-байтная инструкция перехода(JE) - итого 3 байта. если код для винды, то адрес 4-байтный - соответственно будет 5-байт. и вообще, у фасма свой формат аналога CASE...
Нашедшего выход - затаптывают первым..
|
24.11.2017, 23:10 | #4 |
Регистрация: 15.11.2017
Сообщений: 7
|
По порядку пересмотрел все адреса, увы - так не получится как я хотел.
Компилятор - Delphi Выделяет адреса по своему, и если по порядку идёт до 9 то дальше отрыв может быть не на 2 а на 16 и 8 с чем связано - не знаю.. |
25.11.2017, 00:26 | #5 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Посмотреть в отладчике - более надёжно, чем сидеть и гадать.
|
25.11.2017, 11:16 | #6 | |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 295
|
Цитата:
В 16 битах есть короткий je - 2 байта (опкод + short-адрес) и длинный - 4 байта (опкод 2 байта + near-адрес 2 байта). В 32 битах так же короткий je - 2 байта (опкод + short-адрес) и длинный - 6 байт (опкод 2 байта + near-адрес 4 байта). Я вообще сути вопроса не понял. Что пытаешь сделать?
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
|
|
25.11.2017, 12:12 | #7 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
нет никакой разницы в длинне инструкций переходов.
все они 1-байтные, и отличаются всего одним битом: NEAR(E9h), FAR(EAh) и SHORT(EBh). вся разница в адресе.. (и модели памяти)
Нашедшего выход - затаптывают первым..
|
25.11.2017, 12:18 | #8 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
Код:
Нашедшего выход - затаптывают первым..
|
25.11.2017, 14:38 | #9 |
Регистрация: 15.11.2017
Сообщений: 7
|
Идея была в том, что бы провести тесты. Как данная конструкция будет работать по сравнению с базой адресов из dd пространства.
Мысль заключалась в том, что мы выбираем на сколько прыгнуть вперёд, что бы с того места прыгнуть к нужному месту. dd реализует такой asm код Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
jmp на абсолютный адрес | Sam Gold | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 15 | 02.02.2015 09:18 |
JMP DWORD PTR [PAddress] - как узнать адрес | Enkee | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 03.11.2011 13:14 |
команда jmp | 777user777 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 31.07.2011 00:28 |
Сгенерировать опкод JMP near 32bit | Tronix | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 8 | 07.02.2011 23:34 |
jmp illegal descriptor type 0 | deHimer | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 6 | 06.01.2010 15:30 |