я время от времени возвращаюсь к изучению мк AVR, начинал знакомство с ними, и с программированием вообще с ассемблера.
пока программки были небольшие, до 1-2 кб, мне как то еще удавалось все "разрулить", но чем сложнее программы тем больше понимаю что надо завязывать с этим "линейным" программированием, и как то все иначе организовать.
наверное надо написать свою "библиотеку" функций, более менее универсальных, пожертвовав возможно где-то быстродействием в угоду универсальности и большей скорости разработки. писать на Си и прочих языках высокого уровня я не хочу. ассемблер меня вполне устраивает.
вот и встал вопрос, если писать свои функции, с некоторой долей универсальности, встает вопрос о том как организовать лучше всего обмен между ними, по каким то одним правилам, учитывающим саму специфику архитектуры мк.
то есть, я так думаю что необходимо прежде чем что либо писать принять некие правила, каким образом в функцию передавать значения переменных, к примеру. и вообще нужно ли придерживаться этих правил или нет, нужны ли они? вот как все это организовано в компиляторах, того же Си?
ну и вообще, может кто подскажет, подкинет идеи как писать на ассемблере когда программа становится большой по объему.
то есть вопрос как организовать все это, чтобы не увязнуть в коде



