Показать сообщение отдельно
  #26  
Старый 24.10.2012, 16:49
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Цитата:
Теоретически конечно можно, но будет посложнее. Например out (а также часто и var) означает, что эта функция может возвращать результат через эти параметры
Все просто. Если обычная передача параметров - это push значения, то Var - это push адреса переменной. Таким образом можно для тех параметров, которые var, сделать массив указателей, и в params сохранить эти указатели.
Следовательно, можно сделать "префикс" типа VAR, который будет означать, что программа выделит память, скопирует туда значение и передаст в функцию адрес переменной. Соответственно если составить отдельно массив записей о таких параметрах (например в формате <адрес><тип>), то и вывести их потом не составит труда.
А вот то, что lea не дает идти в минус я забыл.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием