В плане IF'ов и циклов там все то же самое что в x86. Принципиальных отличий нет. Так что это мимо кассы.
Разве? Вот есть, например, в x86 команда
LOOP/LOOPx
Loop control
(LOOPE, LOOPNE, LOOPNZ, LOOPZ) if (x && CX--) goto lbl;
Есть ли для неё аналог во всех других процессорах (ну или хотя бы самых распространённых, типа msp430, arm, MCS51 и тд?
Эмм.. А зачем такая чуча, если есть JEQ c CMP? Пойми, то что в msp430 этот loop будет заменен двумя инструкциями ни к чему плохому не приведет. Скорость будет та же (или выше), в плане предсказуемости тайминга тоже ничего не изменится.
А вот софтверная эмуляция умножеия/деления и чисел с плавающей точкой коренным образом изменяют программу. Потому что во-первых это дико медленно (порядка на три-четыре медленней аппаратного умножения), во-вторых у тебя внезапно появляется куча кода, и программа уже может элементарно не поместиться, в-третьих у тебя появляются вызовы функций там где ты их не ожидаешь, и в четвертых у тебя сложность операции резко начинает зависить от значений операндов (соответственно если тебе нужно что-то пооптимизировать, это приходится учитывать, что резко усложняет оную оптимизацию).
Чего уж сразу в язык не ввести fft, dct и вейвлеты?