Delphi писал(а):
В ассемблерных процедурах и функциях нужно сохранять регистры EDI, ESI, ESP, EBP, EBX и свободно оперировать регистрами EAX, ECX, EDX. Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
|
|||
Главное помнить
|
|||
карма: 25 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Ага, я уже где-то на этом напоролся: после выхода из функции - runtime error. Но разбираться буду ещё долго...
Добавлено: После вызова stdcall нужно указатель стека возвращать на место. |
|||
карма: 26 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Netspirit, нечто подобное реализовано здесь http://forum.hiasm.com/forum.html?q=3&t=57216
|
|||
карма: 4 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Как-нибудь гляну. Я же всеравно не разбирусь в чужом коде. А так пока всё вроде получилось.
|
|||
карма: 26 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Заглядывай в исходники KOL-а: там туча "примеров" Дельфи <=> Асм. Просто по самое "небалуйся"
Не долго это... И что "ассемблер значительно сложнее ЯВУ", которые якобы "многократно сокращают время разработки" - миф для лохов |
|||
карма: 9 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Galkov, да нет, тут скорее не было стимула лопатить литературу (хотя я как-то было начал читать книгу по ассемблеру, прошел системы счисления, общие сведения и закончил на командах процессора). Так, иногда приходится что-то исследовать через OllyDbg или IDA, не больше.
А вообще, я хотел переписать KOL-овскую функцию Format, которая выдаёт ошибку в новом FPC. Переписал. А в процессе выяснилось, что в функции нужно поправить одну строку и она будет рабочей (в FPC отличается представление типа array of const). Но некоторый опыт получил. |
|||
карма: 26 |
|
21