Хочу использовать invoke вместо call, но проблема в том, что функция вызывается по адресу в переменной, то есть proc_addr dd ? ... invoke proc_addr, ... Компилятор матерится: INVOKE requires prototype for procedure Можно ли решить такую проблему?
Code (Text): MACRO my_invoke proc_addr param1, param2.... paramN push paramN push.......... push param2 push param1 call proc_addr ENDM ))))))
CT ну логично сначала попробовать объявить, чтоб потом прийти к выводу о необходимости написания своего макроса invoke
Действительно задача не столь тривиальна как кажется на первый взгляд Загляни в DirectX sdk, там в инклюдах есть решение, да и так оно пригодится
Как используя invoke вызывать дальние процедуры, точней extern, и чтобы можно было задать прототип для контроля параметров? Короче, чтобы вызывался call ds:name_proc --- Сообщение объединено, Jun 2, 2024 --- Короче, решил высокоуровнево вызывать процедуры точней методы, просто макросами. Так проще и код лучше контролируешь, макрос понимает префикс адреса &, префикс ^ явное преобразования в float и "" строки помещает в .const Хотя UASM это должен делать, но что-то пошло не так.