Вы можете смоделировать время работы функции как
sum(sum(sum(Theta(1), k=i+1..j),j=i..n),i=1..n)
Как
sum(sum(sum(1, k=i+1..j),j=i..n),i=1..n) = 1/6 n^3 - 1/6 n,
время работы - Theta (n ^ 3).
Мне удалось найти Руководство по стилям языка ассемблера (PDF) , которое может вас заинтересовать.
При написании сборки это очень полезно и совсем не за бортом кому: Комментируйте каждую строку
Я не думаю, что в этом есть что-то формальное, но чтение примеров кодирования на их веб-сайте дает вам представление об обычных идиомах. просто имейте в виду, что есть много «вкладов» от многих разных любителей, и они могут быть не такими уж хорошими.
также проверьте другие проекты, у большинства из них будет уродливый код; но вы найдете пару жемчужин.
Я никогда не программировал на PIC, но любил читать код. Я смутно помню «ОС реального времени» с действительно красивым и чистым потоком выполнения. не помню, насколько последовательным был стиль кодирования, но я бы начал с этого.
лучше прочитать большинство из них, и когда это так просто, как проза, тогда вы найдете свой стиль
Я согласен с Джейсоном С - используйте компилятор Си, если это возможно, даже если в итоге вы вставите несколько строк языка ассемблера в ваш ".c" файл, используя ключевое слово "__asm".
Если вы должны писать целые программы на ассемблере для PIC, рекомендуемая конвенция вызова функций выглядит следующим образом PIClist: PIC Paging и PCLATH.