Цитата(defunct @ Feb 18 2008, 20:26)

Про тот где избавление от LDS/STS описано.
Понятно что можно обойтись без LDS/STS, только ограничений у такого подхода много.
Только 64 байта под переменные, а если нужно больше ?
"Намертво" забитая под это дело регистровая пара, а их всегда так мало.
Невозможность одновременно работать с 3 источниками/приемниками данных с автоинкрементом.
и т.д.
Вобще можно без многого обойтись...
Вопрос в целесообразности.
Если для реализации предложенных подходов нужно будет задействовать
контроллер в 2-3раза более мощный с 2-3 раза большим флеш,
если для написания и отладки такой программы потребуется раз в 5 больше времени...,
значительно более дешевым и надежным будет просто аппаратное дублирование
с относительно простыми, требующими существенно меньше времени на отладку, алгоритмами.
Цитата(galjoen @ Feb 18 2008, 21:14)

А теперь серьёзно.
Насчёт STS/LDS - атмел похоже уже всё придумал до нас. Заглянул я тут в AVR Instruction Set, как мне и советовали. И сейчас один очень умный вещь скажу: если у АВР внешнего ОЗУ нет (а в 90% применений это так), то LDS/STS инструкции ничего опасного содержать не могут. Т.к. первые 4 бита адреса =0 будут! Там могу содержаться такие инструкции как: fmul, muls, movw, cpc, sbc, add, nop. В общем я ни одной потенциально опасной инструкции не нашёл!!! Это что совпадение??? Или м.б. кто то что то найдёт. По крайней мере в AVR Instruction Set заглянет. Иногда надо знания освежить!
Я Вас еще немного поогорчаю, ладно ?
Раз уж посмотрели Instruction Set, загляните еще и в даташит например на mega64/128,
ну и постарайтесь найти с какого по какой адрес у них расположена SRAM...
Ну а потом еще гляньте даташиты на 640/1280..... это у которых 8Kb SRAM.