Объясните, чем Вам не угодила if-else конструкция?
Просто не привычно)
Под спойлером привёл одну и ту же запись, но на разных языках. И вот на VHDL-е вы словно читаете текст, как книгу, а на Си приходится выискивать, где та несчастная скобка, которая отвечает за then)

Открыть Америку
//Си
if (A == 0) {if (B == 0) {AB = 1;}
else if (B == 1) {AB = 2;}
else {AB = 3;}}
else if (A == 1) {if (B == 2) {AB = 4;}
else if (B == 3) {AB = 5;}
else {AB = 6;}}
else if (A == 2) {if (B == 4) {AB = 7;}
else if (B == 5) {AB = 8;}
else {AB = 9;}}
else if (A == 3) {if (B == 6) {AB = 0;}
else if (B == 7) {AB = 1;}
else {AB = 2;}}
else if (A == 4) {if (B == 8) {AB = 3;}
else if (B == 9) {AB = 4;}
else {AB = 5;}}
else if (A == 5) {if (B == 0) {AB = 6;}
else if (B == 1) {AB = 7;}
else {AB = 8;}}
else if (A == 6) {if (B == 2) {AB = 9;}
else if (B == 3) {AB = 0;}
else {AB = 1;}}
else {AB = 0;}
--VHDL
if A = 0 then if B = 0 then AB <= 1;
elsif B = 1 then AB <= 2;
else AB <= 3;
end if;
elsif A = 1 then if B = 2 then AB <= 4;
elsif B = 3 then AB <= 5;
else AB <= 6;
end if;
elsif A = 2 then if B = 4 then AB <= 7;
elsif B = 5 then AB <= 8;
else AB <= 9;
end if;
elsif A = 3 then if B = 6 then AB <= 0;
elsif B = 7 then AB <= 1;
else AB <= 2;
end if;
elsif A = 4 then if B = 8 then AB <= 3;
elsif B = 9 then AB <= 4;
else AB <= 5;
end if;
elsif A = 5 then if B = 0 then AB <= 6;
elsif B = 1 then AB <= 7;
else AB <= 8;
end if;
elsif A = 6 then if B = 2 then AB <= 9;
elsif B = 3 then AB <= 0;
else AB <= 1;
end if;
else AB <= 0;
end if;

Закрыть
Но в конце концов чай не барин, привыкну, человек ко всему привыкает. Не я первый, не я последний, я скорее где-нибудь N-миллионный)
Впрочем, мы отвлеклись.
А вот книга, мне бы лично помогла не самому изобретать велосипед каждый раз, а основываясь на чьём-то опыте, именно последовательно, пройти путь от простого к сложному, и в тоже время, научится не просто создавать 100500 строчек кода, а красивые и элегантные конструкции, с учётом особенностей именно конкретной элементной базы.
Да, можно взять STM, но по большей части придётся разбираться либо опять же самому, либо бегать по множеству форумов, периодически нарываясь на "А что, Гугл уже закрыли?".
Вот к примеру мои действия:
- Обзавёлся я отладочником LDM-K1986BE92QI,
- Перерыл весь форум в поисках самого простейшего из самых простейших кодов, и о чудо! Нашёл редактор-ский исходник!
- Первоначально методом перебора настроил под свой отладочник, получил результат и щенячью радость при загорании светодиода от нажатия кнопки
- Начал читать литературу по Си, попутно разбирая каждую строчку этого простейшего исходника
- Поигрался со светодиодами
- Научился создавать простейшие функции
- Научился создавать простейшие .h и .c файлы
- Решил, что мне во что бы то ни стало нужен UART, да чтоб обрабатывать в обработчике прерываний
Ну и далее уже более сложные вещи.
Дак вот, вроде ведь всё хорошо, всё получается, даже пока моск никому особо не выношу, но! Я остановился, топчусь на одном месте, и не от того, что не знаю, что делать дальше, мне просто не нравится, как я это написал.
Конечно, со временем я со всем этим разберусь, и к чему-нибудь да приду, но если бы была именно книга, то она бы могла мне указать именно в последовательной форме как оптимально писать, более правильно.
Я не говорю, что нужна книга "100500-ядерный радиационно-стойкий микроконтроллер. Пособие для новорождённых", нет, просто своего рода "от простого к среднему".
Как-то так вот)