Это не всегда совпадает. Для х86- такое часто бывает, а вот для АВР могут быть варианты. Си всегда использует стэк и часто перебирание стэка увеличивает и код и время исполнения и занимаемую память, у АВРки много рабочих регистров, которые можно использовать произвольно, в отличии от Си- где они используются по принятому соглашению. При любых вызовах можно залезть в код и посмотреть а можно ли обойтись без стэка, Это оптимизация, но не по общепринятым правилам, а только к конкретной программе.
Да, и делается это не на сях, а на ассемблере.
Наоборот-легко. Предложи любителям Си реализовать Юсби в АВР на чистом Си без ассемблерных вставок.
глаза боятся а руки делают. Было такое- на тини15 нужно было сделать вольтметр с передачей результата по уарту.
Если кто не знает- в ней нет ни уарта и, о ужас, даже оперативки нет- частный случай когда оперативка занята на 100%. Компилятор Си сразу поднимает руки вверх.
А асемблер говорит- да легко.
Я бы просто взял другой контроллер (под задачу).
Вы когда-нибудь видели дизассемблированный код для АВР, изначально скомпилированный с С/С++? Боюсь, что нет, потому, что если бы Видели, то сказали бы: “С/С++ крайне редко использует стек, только когда регистров уже не хватает”
Не буду спорить- покажите скомпилированную Си программу на Тини15. Самую простенькую
Не всегда это возможно. В те года не было других мелких 8 ногих АВРок. А крупнее физически не влезали.
“Ну так время-то идет…” (с)
Ничего не имею против АСМа, но в 2023г всерьез обсуждать преимущества тинек15 - это странно.
И вообще, любое дополнительное знание - это прекрасно. Хорошо, если вы знаете Асм в дополнение к Си - это преимущество. Правда многие знатоки АСМа так в нем и застряли, что и обьясняет тот пыл, с которым они защищают его реальные (и мнимые) преимущества на форумах
Так это всего лишь частный случай- когда оперативка закончилась, а задачку решить нужно. Быстро и недорого.
Низзя?
в таком разрезе согласен:
“Необходимость АСМа для программирования - частный случай”
Редкий и экзотический.
И не надо. Спор об очевидных вещах - пустая трата времению
Это имеет какое-то отношение к моей реплике про стек? К чему Вы это сюда приплели? Передёрнуть тему? Зачем?
Извиняюсь, что влезаю в разговор опытных, но просто как раз занимаюсь этим вопросом.
Для Тини15 и подобных ведь есть IDE ICCTNY
P.S. У Ttiny15 3-х уровневый стек
Вот что быстренько нашлось
Отсюда:
https://radiokot.ru/forum/viewtopic.php?p=665693&sid=34f70270e7e7b6736bbf520964dbdaff#p665693
Программку не покажете? Не покажете. Как С/С++ работает без стэка.
А только что утверждали что он обходится без стэка
“С/С++ крайне редко использует стек"
@dedivan, кончай дураком прикидывацца, а то быстро сертификат заработаешь. С указателем.
Так там от Си только дефайны, все остальное на асме и макросах.
Плюсую.
@dedivan , как я уже сказал - никто не спорит что АСМ иногда может быть полезен. Но с годами все реже и реже. И очень часто (практически всегда!) без него можно обойтись вовсе.
Если у вас завалялся мешок тинек дома - это не повод устраивать тупой флейм на форуме
Это не совсем стэк, там только адрес возврата из вызова, ни одного параметра там не сохранить.
- По построению фраз этот Де Диван похож на NMI со старого форума.
- Диван! Ты не помнишь, что тут все старики и умеют “в ассемблер” играть? В 2023 году это умение можно разместить в жёппе, комфортно. Даже для 13 тиньки (у меня две оставалось) я обошелся. Подумал, что если не влезет - сделаю вставками. Влезло на С.
- Вся эта древность сейчас - просто потеряла актуальность. Вот аналогия: У меня есть прекрасное старое фортепиано Беккер. Номер 35ххх что-то там, не скрываю, а лень пойти крышку открыть. По каталогу выходит, что 35 тысяч - это примерно 1917 год. Так вот оно стоит …Та-Дам-СС! - НОЛЬ рублей. Никому не нужно сейчас. А ему более 100 лет. Я не смог его продать даже по цене, компенсирующей вызов носильщиков.
Время - летит… Нужно это понимать.
Тупой - это когда бездоказательно. Тут как раз другая сторона не может ничего доказать.
Я ничего не имею против Си- он удобнее, даже на асме я пишу используя приемы и способы принятые в Си, но не всегда это возможно
Возможность это когда Зя и Низзя…