Клеммные колодки Keen Side

Полиформные модификации кода в программе для MCU

Новичок
 
Регистрация: 28.02.2008
Сообщений: 9
Репутация: 10
 
22.06.2008 13:24 #1
Средства для упрощения создания полиморфных модификаций фрагментов кода

Вопрос шибко заумный, но очень актуальный.

Попытаюсь объяснить, в чём суть. Надеюсь, что у меня это получится.

Объяснение построю на примере решения конкретной задачи.

Имеется 4 флага состояния некоего вычислительного процесса. Соответственно имею 16 возможных состояний вычислительного процесса. А значит 16 ветвей алгоритма. Пишу на АСМе. Но это не существенно для обсуждаемой проблемы – так как с подобными проблемами мы сталкиваемся при написании программы на любом языке: СИ, СИ++ и т.п.

Каждая ветвь представляет собой фрагмент кода, который отличается от любого другого из 16-ти в 3-4-х местах. Например, вместо команды SUBI, команда SBCI, или вместо регистра ZH в команде используется XH. Сам же размер кодовых фрагментов порядка 50-ти ASM-команд.

Так вот. Хотелось бы не переписывать каждый раз 50 команд во всех 16-ти ветвях, а просто указать директивой какой кодовый фрагмент нужно взять за базовый и в каких местах и что нужно заменить.

Макросами не получиться. Потому что изменения каждый раз в разных местах – получается более 30-ти параметров. Указывать при вызове макроса все его 30 параметров вряд ли можно назвать упрощением решения задачи.

Есть ли в каких-нибудь языках средства, позволяющие генерировать новые кодовые фрагменты путём указания кодового фрагмента-прототипа, который нужно взять за базовый и указания что в нём нужно заменить для получения нового фрагмента кода.

Т.е. в каких-нибудь языках программирования средства, упрощающие и облегающие создание полиморфных модификации фрагментов кода? Если есть, то что это за средства.
Оценка
Компания MEAN WELL пополнила ассортимент своей широкой линейки светодиодных драйверов новым семейством XLC для внутреннего освещения. Главное отличие – поддержка широкого спектра проводных и беспроводных технологий диммирования. Новинки представлены в MEANWELL.market моделями с мощностями 25 Вт, 40 Вт и 60 Вт. В линейке есть модели, работающие как в режиме стабилизации тока (СС), так и в режиме стабилизации напряжения (CV) значением 12, 24 и 48 В.
Гуру
 
Регистрация: 13.05.2006
Сообщений: 3,905
Репутация: 1249
1,233 63
62 32
 
22.06.2008 15:22 #2
Слушай, Don, ну ты завернул. На казусе.ру этот вопрос и то смотрелся бы не совсем, а здесь и подавно напоминает обсуждение гиперконгломератора. Тебе что, поговорить не с кем ? Я то отсюда на казус, а ты наоборот-это деградация. Как в ералаше-взрослый пацан в младшем классе-"зато я у них самый умный". Умничать можно много, но практически надо бы что-то делать. Такие вот дела,Новичок.
Оценка
С развитием инфраструктуры электротранспорта требования к надежности и эффективности зарядных станций становятся все строже. Представляем техническое руководство по подбору компонентов для уличных зарядных станций, разработанных на основе продукции китайской компании Hongfa – лидера в своем сегменте производства. Документ поможет инженерам и разработчикам оптимизировать выбор компонентов, сократить время разработки и обеспечить надежность зарядных станций в любых условиях эксплуатации.
Новичок
 
Регистрация: 28.02.2008
Сообщений: 9
Репутация: 10
 
22.06.2008 15:42 #3
Цитата:
Сообщение от LEAS
Слушай, Don, ну ты завернул. На казусе.ру этот вопрос и то смотрелся бы не совсем, а здесь и подавно напоминает обсуждение гиперконгломератора. Тебе что, поговорить не с кем ? Я то отсюда на казус, а ты наоборот-это деградация. Как в ералаше-взрослый пацан в младшем классе-"зато я у них самый умный". Умничать можно много, но практически надо бы что-то делать. Такие вот дела,Новичок.
Ачё? Вроде нормальный вопрос. Каждый, кто писал хотя бы одну самую простейшую программу ( а разве есть инженеры, не написавшие в жизни ни одной программы? )сталкивался с проблемой, что в программе есть похожие куски кода, имеющие гораздо бОльше сходств, чем отличий

Поэтому не понимаю Вашего сарказма.

P.S. Привет Казусу
Оценка
Ответ
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход
ТМ Электроникс. Электронные компоненты и приборы. Скидки, кэшбэк и бесплатная доставка
Часовой пояс GMT +3, время: 17:56.
Обратная связь РадиоЛоцман Вверх