У меня немного другой сейчас интерес. Например, тот же самый светодиод - как лучше и эффективнее работать с периферией, какими способами?
Самый лучший способ:
Всё время смотреть в листинг! Написали строчку кода, скомпилили (с макс.оптимизацией), посмотрели в листинг - что получилось? И следующая итерация. И т.д.
Можно, конечно, пробовать разные варианты и смотреть, во что это разворачивается в ассемблере.
Так и следует делать.
Но самостоятельно это довольно долгий путь.
Быстро только кошки плодятся.
Если будете делать это несамостоятельно, то в голове ничего не останется.