На склад поступили жидко-кристаллические индикаторы и дисплеи от KSE

Полиформные модификации кода в программе для 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 параметров вряд ли можно назвать упрощением решения задачи.

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

Т.е. в каких-нибудь языках программирования средства, упрощающие и облегающие создание полиморфных модификации фрагментов кода? Если есть, то что это за средства.
Оценка
В многообразии литиевых батареек и аккумуляторов нет какого-то универсального или идеального варианта. Выбирая тот или иной вариант для питания устройства, разработчику приходится оперировать множеством параметров, используя наиболее оптимальное их сочетание для каждого приложения. Разберем параметры для различных приложений.
Гуру
 
Регистрация: 13.05.2006
Сообщений: 3,908
Репутация: 1247
1,234 65
61 33
 
22.06.2008 15:22 #2
Слушай, Don, ну ты завернул. На казусе.ру этот вопрос и то смотрелся бы не совсем, а здесь и подавно напоминает обсуждение гиперконгломератора. Тебе что, поговорить не с кем ? Я то отсюда на казус, а ты наоборот-это деградация. Как в ералаше-взрослый пацан в младшем классе-"зато я у них самый умный". Умничать можно много, но практически надо бы что-то делать. Такие вот дела,Новичок.
Оценка
Новичок
 
Регистрация: 28.02.2008
Сообщений: 9
Репутация: 10
 
22.06.2008 15:42 #3
Цитата:
Сообщение от LEAS
Слушай, Don, ну ты завернул. На казусе.ру этот вопрос и то смотрелся бы не совсем, а здесь и подавно напоминает обсуждение гиперконгломератора. Тебе что, поговорить не с кем ? Я то отсюда на казус, а ты наоборот-это деградация. Как в ералаше-взрослый пацан в младшем классе-"зато я у них самый умный". Умничать можно много, но практически надо бы что-то делать. Такие вот дела,Новичок.
Ачё? Вроде нормальный вопрос. Каждый, кто писал хотя бы одну самую простейшую программу ( а разве есть инженеры, не написавшие в жизни ни одной программы? )сталкивался с проблемой, что в программе есть похожие куски кода, имеющие гораздо бОльше сходств, чем отличий

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

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

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

Быстрый переход
Электронные компоненты. Бесплатная доставка по России
Часовой пояс GMT +3, время: 05:29.
Обратная связь РадиоЛоцман Вверх