BOB51 писал(а):
Работа под ассемблером обязывает знать железо,
Чушь!!! Работа на Си в этом ничем не отличается... И в том, и в другом случае - работа с железом... как ни крути...
Не забываем, что Си - низкоуровневая шняга... По сути... это высокоуровневый АСМ...
работа под Си требует знания особенностей компилятора,
Работа на АСМ тоже имеет свои особенности... которые похлеще будут особенностей компилятора... Оптимизация по размеру и скорости ложится полностью на АСМописателя...
применяемых библиотек
Никто не навязывает никаких библиотек... можно и самому всё написать... но и готовым брезговать не стоит...
и возможности их корректировки.
Есть железозависимый код... и есть железонезависимый код... Железозависимый код - да, требует корректировки... железонезависимый код - как правило полностью переносим на любую платформу... с небольшими правками или без оных... что в условиях АСМа просто неосуществимо...
Вот поэтому... в последнее время юзаю только STM8 и STM32... уровень переносимости кода STM8 <--> STM32 очень высок, даже с учётом железа... к тому же... отпадает весь унылый зоопарк ПИК/АВР... за ненадобностью...