Цитата(_Pasha @ Oct 8 2007, 03:58)

Абстракции...
JMP, CALL,ADD, XOR(EOR), RET(RETURN), NOP в конце концов, есть во всех контроллерах. Так на хрена же в одном случае пишется RJMP, а в другом GOTO, JP, JMP ? Получается, что из-за отсутствия мета-мнемоник мы ищем абстракции, перепрыгивая довольно солидный пласт абстракций, содержащийся в кодах операций и операндах?
Эта проблема в промавтоматике закрыта, или частично закрыта. Есть некие примитивные мета-языки LD или FBD. Ими широко пользуются. Проекты с одного ПЛК портируются на другие совершенно без проблем. Но там это дело приводили в порядок такие монстры как SIEMENS и ABB в течение 10 лет.
В области МК, на мой взгляд, это невозможно.
Цитата(_Pasha @ Oct 8 2007, 03:58)

Еще один прикол - появление псевдо-сишных директив в ассемблерах. Не менее смешно, чем написать TCCR1B+=0x01; и думать, что таймер запустится за 3 цикла.
Целесообразность портирования. Например умножение двух signed int на меге - 19 тактов, на пике -35 . Смысл плавно умирает. Но, если не знать этого - все зашибись!
А зачем портировать с одного 8 битового процессора на другой?
Цитата(_Pasha @ Oct 8 2007, 03:58)

Думаю, что ОС должны вырастать из схемы целевого устройства. Тогда и весь бардак сойдет на нет. На ОС возложить (писать на асме):
1. Инициализацию всего хозяйства,
2. Все прерывания,
3. Поддерживаемый набор функций через таблицы адресов (как продолжение таблицы векторов прерываний),
4. Сами базовые функции. Конечно, чем меньше их, тем лучше
5. Даже арифметику. Как-то заглянул в листинг Mikroelectronika Pascal for dsPIC. Написал (Паскаль):
var A,B,C:real;
begin
B:= 1.0; A:= 3.1415926; C:= A+B+ B*B;
end.
***** Ё-моё, какая там баранина !!! *****
Ничего DSP-шного не используется. Куча кода в режиме совместимости с PIC18. Вот так...
Все это зависит от стиля программирования, величины проекта, наличия/отсутствия скелета в проекте целиком и еще от кучи факторов. Думаю, всегда найдутся противники Ваших, в общем-то разумных предложений.
Цитата(sensor_ua @ Oct 8 2007, 09:47)

Дело в том, что эти понятия формализовано описывают некие механизмы и объекты. Яркий случай - очередь задач. Очередь - объект, явно описанный или неявно, а выполнение последовательности задач (каждой задачи из очереди) - механизм, в зависимости от описания объекта выполняющийся по-разному (что первично, яйцо или курица - отдельный вопрос). Изменение порядка и состава очереди также механизм. Если он явный, то выполняется планировщиком (по причине - некоему событию/сообщению) или/и сопрограммой. И т.д.
Да я просто о том, что при определенных стилях и подходах к программированию в сочетании с величиной проекта можно миновать все эти понятия и получить достаточно надежный результат. При этом человек оперирует совершенно другими абстракциями, таким как конечный автомат, состояние, функция переходов и т. д. Эти абстракции проверены временем. Их трудно испортить субъективизмом проектировщика.
Поэтому и возник вопрос насчет ОС, которую порой пытаются применять там, где в этом нет никакой необходимости. Если нет нужды в применениии монстрообразных МК, то зачем ОС? А если не предусматривается смены платформы, то и С, в общем-то, не нужен.
Цитата(sensor_ua @ Oct 8 2007, 09:47)

Ну и русский язык вытеснен в этой специфической области за неимением собственных устоявшихся терминов/понятий;(
А врачи говорят на латыни...
Хорошо, давайте попросим автора Рефлекса сделать дополнительно еще и украинский вариант

.