Самое простое решение - это всегда кодировать его на паскале и смотреть на сгенерированный ассемблер.
По быстродействию ассемблер обычно имеет только плюс в тесных циклах, и в общем коде вряд ли есть улучшение, если оно вообще есть,В моем коде только один фрагмент ассемблера, и преимущество заключается в перекодировании векторной операции с плавающей запятой в SSE с фиксированной запятой.Насыщенность, обеспечиваемая наборами команд SIMD, является дополнительным бонусом.
Хуже того, очень плохо советуемый ассемблерный код, плавающий по сети, на самом деле медленнее, чем паскаль-эквиваленты на современных процессорах, потому что компромиссы процессоров со временем менялись.
Обновление:
Затем просто загрузите свойство класса в локальную переменную в прологе вашей процедуры перед входом в цикл ассемблера или переместите ассемблер на другую процедуру.Выберите ваши битвы.
Изучение источника RTL / VCL может также дать идеи, как получить доступ к определенным конструкциям.
Кстати, не вся низкоуровневая оптимизация выполняется с использованием ассемблера.На уровне Pascal с некоторым знанием указателя тоже можно многое сделать, и такие вещи, как оптимизация кэша, иногда можно выполнять и на уровне Pascal (см., Например, Оптимизация кэша вращающихся растровых изображений )