Спасибо! Я не понимаю одного - почему нет специализированного IDE для asm следуюещго вида. asm листинг обычно относительно узкий - нет там длинных синтаксических конструкций (
обычно)
Делаем графическое отображение регистров проца в виде прямоугольников, и делам их в виде стека состояний - эдакая псевдо-3D визуализация: верхний "листик" регистра - текущее состояние, ниже - предыдущее и т.д.
Шагаем по шагам. Цветографическим способом вводим визуальное соответствие строки asm - квадратику(ам) регистров. Типа вот там строка, которая крайней изменила эти регистры.
Можно шагать "от и до".
В нужных местах переключаем "листики" предыдущих состояний (группой или одиночно) и смотрим, что в регистрах (регистре) было ранее.
Для SIMD блоков процов общего назначения и DSP камней это просто ключевой инструмент успеха, я не понимаю, как можно эффективно писать без него.
Главное в асмовом программизме - ассоциативное мышление и свобода фантазии - предлагаемый мной инструмент усиливает эти свойства человека.
Получается полу-графическое полу-текстовое программирование.
Конечно, при шагах надо учитывать суперскалярность и количество тактов.
Также надо поддерживать вариантность кода. Типа исходник размечается тегами - вариант 1, 2 и т.д.
Специфицирцется содержимое регистров на входе и выходе, считаем такты, размер, еще что - выбираем наилучшее.
Также надо учитывать и верифицировать calling conventions - самостоятельный asm программизм интересен гораздо меньше, чем грамотные asm процедуры и вставки в С проекте.
Ну и интеграцию с С в части имен переменных и прочая надо поддерживать.
В описанной тулзе удивляет
- Метрики
Наряду с простейшими метриками, базирующимися на определении количественных характеристик, связанных с размером программы и используемых для прогнозирования трудозатрат и сроков разработки промежуточных этапов в IDE реализован расчёт метрик сложности потоков управления программ.
Кто-то решил сделать бизнесс на промышленном asm программизме под x86???