Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
27.10.2010, 23:12
|
|
Почётный гражданин KAZUS.RU
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
|
Re: Школа АRMрестлинга!
Сообщение от cupru
|
Си допускает ассемблерные вставки, где это необходимо........
|
К счастью ассемблерные вставки в АРМах использовать не имеет смысла.
|
|
|
|
28.10.2010, 00:00
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Школа АRMрестлинга!
Да что вы все про уровень говорите? Все эти языке высшего уровня. Кто из них ближе к асму, зависит от программиста. Если шлепать готовые библиотеки, не вдаваясь во временные задержки и многозадачность, код будет очень красивым и лаконичным, только работать будет через пень-колоду. Какая разница, что вы напишите TRISB=0xFF или TRISB==0xFF; ? На асме все равно будет выглядеть одинаково. Положить в W, вынуть из W в TRISB.
|
|
|
|
28.10.2010, 00:05
|
|
Заблокирован
Регистрация: 15.10.2010
Адрес: Kiev/Kharkov
Сообщений: 133
Сказал спасибо: 15
Сказали Спасибо 21 раз(а) в 21 сообщении(ях)
|
Re: Школа АRMрестлинга!
Сообщение от Easyrider83
|
Какая разница, что вы напишите TRISB=0xFF или TRISB==0xFF; ? На асме все равно будет выглядеть одинаково. Положить в W, вынуть из W в TRISB.
|
так как вы с С знакомы не глубоко (веря вашим признаниям) то прояснить стоит
нет, это не одно и тоже
= это присвоение
== это условный оператор
В целом на простых операциях действительно разницы нет
но при построении алгоритма работы (циклы, переходы, вызовы) - есть
почти любое асмовское полотенце можно будет записать 10ю строками с циклами
вот по этому С намного удобен читабелен и понятен
ну и переносим естественно
у меня были случаи когда я переносил код с авров и пиков на армы, блэкфины, мипсы и наоборот, только благодаря свойствам синтаксиса С.
Не стоит от него отворачиваться, все равно к нему придете ))
Последний раз редактировалось projects.org.ua; 28.10.2010 в 00:09.
|
|
|
Сказали "Спасибо" projects.org.ua
|
|
|
28.10.2010, 00:12
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,547
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Школа АRMрестлинга!
Сообщение от Easyrider83
|
Какая разница, что вы напишите TRISB=0xFF или TRISB==0xFF;
|
Зависит от компилятора ))
В MPLAB СИ, например, "TRISA = TRISB = TRISC = 0xFF;" совсем не равно "TRISA = 0xFF; TRISB = 0xFF; TRISC = 0xFF;".
Для ARM-ов тоже есть специфика, некоторые вещи на СИ просто не сделаешь.
|
|
|
|
28.10.2010, 00:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
|
Re: Школа АRMрестлинга!
Сообщение от AJScorp
|
Зависит от компилятора ))
В MPLAB СИ, например, "TRISA = TRISB = TRISC = 0xFF;" совсем не равно "TRISA = 0xFF; TRISB = 0xFF; TRISC = 0xFF;".
Для ARM-ов тоже есть специфика, некоторые вещи на СИ просто не сделаешь.
|
Собственно все 32-битные RISC процессоры специально разрабатывались под компилятор чтобы конечный пользователь не использовал асм
|
|
|
|
28.10.2010, 00:20
|
|
Заблокирован
Регистрация: 19.10.2010
Сообщений: 152
Сказал спасибо: 8
Сказали Спасибо 23 раз(а) в 18 сообщении(ях)
|
Re: Школа АRMрестлинга!
Сообщение от Gnider
|
Пример в студию!
|
Всё зависит от алгоритма, некоторые оптимизированы....а некоторые вчера родились))))))))
|
|
|
|
28.10.2010, 00:22
|
|
Почётный гражданин KAZUS.RU
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
|
Re: Школа АRMрестлинга!
Сообщение от cupru
|
Всё зависит от алгоритма, некоторые оптимизированы....а некоторые вчера родились))))))))
|
Ни разу не использовал вставок в АРМах,кром тех что прилагались к компилятору.
|
|
|
|
28.10.2010, 00:24
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,547
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Школа АRMрестлинга!
Сообщение от Gnider
|
Пример в студию!
|
Реализация блокировки семафора
Код:
|
MOV r1, #0xFF
SWP r1, r1, [r0]
TST r1, r1
... |
SWP - атомарная операция обмена регистра с памятью.
На СИ - с запрещением прерываний и т.п.
|
|
|
|
28.10.2010, 00:26
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,547
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Школа АRMрестлинга!
Цитата:
|
"TRISA = TRISB = TRISC = 0xFF;" совсем не равно "TRISA = 0xFF; TRISB = 0xFF; TRISC = 0xFF;"
|
Что, никто, кроме меня не наступал на эти грабли?!
|
|
|
|
28.10.2010, 00:32
|
|
Заблокирован
Регистрация: 19.10.2010
Сообщений: 152
Сказал спасибо: 8
Сказали Спасибо 23 раз(а) в 18 сообщении(ях)
|
Re: Школа АRMрестлинга!
Сообщение от AJScorp
|
Что, никто, кроме меня не наступал на эти грабли?!
|
Да просто не представлял....такой записи)))
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 04:06.
|
|