|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.02.2011, 17:01 | #1 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
Сгенерировать опкод JMP near 32bit
Привет, делаю JIT компиляцию и столкнулся с проблемой. Вот выстраивается у меня скажем такой код:
Код:
Код:
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
07.02.2011, 17:22 | #2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
вот отрицательную длину (в дополнительном коде) и надо забить.
Кстати, ты ж в курсе, что есть длинный (E9) и короткий (EB) джамп? Или не заморачиваешься таким?
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
07.02.2011, 17:27 | #3 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
В курсе конечно. Думаю пока хоть каким-нибудь сделать, чтоб только завелось. Оптимизить на короткие уже потом буду, пускай пока все длинными. То есть грубо говоря если мне нужно прыгнуть назад на 50 байт, я просто заношу -50 (0xFFFFFFCE). Или стоп, дополнительный код это как? Это в смысле перевернуть все, то есть 0xCEFFFFFF ?
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
07.02.2011, 17:28 | #4 | |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
Цитата:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
|
07.02.2011, 18:01 | #5 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
Ага, разобрался, спасибо.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
07.02.2011, 21:17 | #6 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
> Оптимизить на короткие уже потом буду
А кто тебе сказал что шортджампы всегда и безусловно оптимальнее соответсвующих лонгджампов ? |
07.02.2011, 21:48 | #7 | |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
Цитата:
ЗЫ Теперь учитываю шортджампы. И JE, и JMP ...
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
|
07.02.2011, 22:58 | #8 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
Современные механизмы предсказания ветвлений настолько нивелируют эту разницу, что подобная оптимизация становится сродни ловле блох
|
07.02.2011, 23:34 | #9 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
Возможно, я не спорю. Но хуже-то наверняка не будет. А юзерам за не очень современными ПК приятно.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как праильно посчитать опкод? | FRIZS | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 4 | 15.04.2010 11:20 |
jmp illegal descriptor type 0 | deHimer | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 6 | 06.01.2010 15:30 |
как из 64bit в 32bit -ную систему??? | Sergeu | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 2 | 07.11.2009 20:01 |
Direct3d ZBuffer 32bit не устанавливается | Selestis | Мультимедиа в Delphi | 0 | 23.10.2009 22:31 |
Сгенерировать много GIF | Dj_smart | Мультимедиа в Delphi | 3 | 20.05.2008 21:38 |