Микроконтроллеры | Работаем с AVR микроконтроллерами на Ассемблере |
|
---|---|---|
Вот именно такую аргументацию обычно и приводят. На микроконтроллерах, кроме C, навскидку называю еще Васик. Проаргументируйте, чем он хуже. На некоторых микроконтроллерах существует PL/M. Проаргументируйте, чем он хуже. Берем сишную программу с PIC, переносим на AVR (или в обратную сторону) - что нужно в ней изменить, можно ли это сделать вообще? Можно ли это сделать любителю? Свой ли С у каждого семейства МК или все-таки общий? Как объяснить любителю работу вот такой конструкции (*proc)(par1,par2)? Не проще ли ему понять icall? Как одни микрокjнтроллеры умудряются обходиться без стека, а другие - нет. Что такое локальные переменные, и почему в одних семействах ими можно пользоваться, а в других нельзя? У тех, кого мы выпускали, ситуация намного хуже - языков-близнецов у них существует с десяток - вот там действительно перлы приходилось выслушивать. |
|
|
chav1961: Что такое локальные переменные, и почему в одних семействах ими можно пользоваться, а в других нельзя? А в каких нельзя? Уж если на пиках стек умудрились "вкомпилировать", то уж локальные переменные после этого не должны быть проблемой, имхо. |
|
|
Начнем с ATTiny (кроме Tiny13, естественно). Предупреждаю: |
|
|
Да я согласен с Borshef человек который только начал заниматься программированием например смотрит кусок кода на ASM и на C и видит в одном из двух: Max_Pinchuk: |
|
|
В пользу того, что ему понятнее. Об этом и речь. И его в это время ничуть не волнует эффективность, переносимость, экономия памяти, скорость работы и проч. Это "правильно/неправильно" или "нравится/не нравится"? О чем речь-то шла? |
|
|
Что есть локальные переменные, я в курсе. Повторю свой вопрос - почему в одних микроконтроллерах ими пользоваться можно, а в других - нет? |
|
|
Совершенно верно. Локальные переменные подразумевают физическое наличие памяти и аппаратно (либо программно) организованного стека. Наличие их зависит от архитектуры микроконтроллера. А если уж мы полезли в архитектуру, то не только ассемблер, но и С становятся системно-зависимыми. Повторюсь еще раз - выбор языка сначала делается на уровне "нравится/не нравится", а затем к этому выбору за уши притягиваются "научные" аргументы. Вот - на ассемблере получается более быстрый код. Вот - на С получаются переносимые программы. Вот сел любой лох на комп, начал писать на ассемблере, и программа волшебным образом стала быстрой-быстрой |
|
|
Max_Pinchuk: Локальные переменные объявляются |
|
|
Не совсем так |
|
|
Арс: Неправильно Давайте так. Локальные переменные могут быть объявлены внутри функции в любом месте, а не только в самом начале после скобки, но только при условии, что эта функция не будет вызвана ранее, чем она была объявлена! |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2025 |