· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ZEN —› относительный переход (short) по AT&T стандарту

Посл.отвђт Сообщенiе


Дата: Май 24, 2004 14:58:50

совбственно говоря сабж...
синтаксиси команды, к примеру:
jmp 0x17 //хочу перепрыгнуть на 0х17 байт

как правильно записать из-под С ?
__asm__(
"jmp 0x17\n"
. . . . . . some code here
);

зараза делает глобальный переход, естественно по адресу 0х000017 ничего нет...

P.S. метки не подходят...нужно именно смещение на пару байт (short)

P.P.S приношу извенение за собственное ламерство :)


Дата: Май 24, 2004 16:57:21

jmp $+17h+2


Дата: Май 28, 2004 20:32:37

> jmp $+17h+2

/tmp/ccZCeDBL.s: Assembler messages:
/tmp/ccZCeDBL.s:12: Error: junk `h+2' after expression
/tmp/ccZCeDBL.s:12: Error: suffix or operands invalid for `jmp'

ну как бы с глюком про h решается добовлением 0х...а вот символ денег ($) ему непонравлися...я уже пробовал делать преход по содержимому eip: jmp 0x17(%eip) или jmp (%eip + 0x17) - одинаково нехочет, говорит:
Error: bad register name `%eip)'

ладно, видать нельзя так просто добиратся до его содержимого...

но запара та не в идее, а в реализации...поэтому и указывал, что речь идет об AT&T стандарте...


Дата: Май 28, 2004 22:42:06

jmp .+0x17+2


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.060