Как делать ассемблерные вставки на х64?

У меня есть исходник библиотеки сделанной под 32бит и мне нужно портировать ее на 64бит.
Есть например вот такая функция
extern "C" __declspec(naked) void add(){__asm push offset Jsc + 0x1500 __asm ret}


для 64x я заменил naked на dllexport
а на что заменить __asm push offset и __asm ret я не знаю, но как-то нужно , т.к. 64x не поддерживает такое. В интернете написано что-то вроде про отедельный билд что-бы можно было использовать asm или может есть другой способ?
  • Вопрос задан
  • 343 просмотра
Решения вопроса 1
OCTAGRAM
@OCTAGRAM
inline void add() {
  ((void (*) ()) ((unsigned char *) (&Jsc) + 0x1500)) ();
}


Как-то так
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы