Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Си - это сложно и непонятно или нет?

Непрочитано 27.10.2010, 23:12  
Gnider
Почётный гражданин KAZUS.RUN
 
Регистрация: 30.06.2005
Сообщений: 3,392
Сказал спасибо: 5
Сказали Спасибо 429 раз(а) в 305 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: Школа АRMрестлинга!

Сообщение от cupru Посмотреть сообщение
Си допускает ассемблерные вставки, где это необходимо........
К счастью ассемблерные вставки в АРМах использовать не имеет смысла.
Реклама:
Gnider вне форума  
Непрочитано 28.10.2010, 00:00  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Школа АRMрестлинга!

Да что вы все про уровень говорите? Все эти языке высшего уровня. Кто из них ближе к асму, зависит от программиста. Если шлепать готовые библиотеки, не вдаваясь во временные задержки и многозадачность, код будет очень красивым и лаконичным, только работать будет через пень-колоду. Какая разница, что вы напишите TRISB=0xFF или TRISB==0xFF; ? На асме все равно будет выглядеть одинаково. Положить в W, вынуть из W в TRISB.
Easyrider83 вне форума  
Непрочитано 28.10.2010, 00:05  
projects.org.ua
Заблокирован
 
Регистрация: 15.10.2010
Адрес: Kiev/Kharkov
Сообщений: 133
Сказал спасибо: 15
Сказали Спасибо 21 раз(а) в 21 сообщении(ях)
projects.org.ua на пути к лучшему
По умолчанию Re: Школа АRMрестлинга!

Сообщение от Easyrider83 Посмотреть сообщение
Какая разница, что вы напишите TRISB=0xFF или TRISB==0xFF; ? На асме все равно будет выглядеть одинаково. Положить в W, вынуть из W в TRISB.
так как вы с С знакомы не глубоко (веря вашим признаниям) то прояснить стоит
нет, это не одно и тоже
= это присвоение
== это условный оператор

В целом на простых операциях действительно разницы нет
но при построении алгоритма работы (циклы, переходы, вызовы) - есть

почти любое асмовское полотенце можно будет записать 10ю строками с циклами
вот по этому С намного удобен читабелен и понятен
ну и переносим естественно

у меня были случаи когда я переносил код с авров и пиков на армы, блэкфины, мипсы и наоборот, только благодаря свойствам синтаксиса С.

Не стоит от него отворачиваться, все равно к нему придете ))

Последний раз редактировалось projects.org.ua; 28.10.2010 в 00:09.
projects.org.ua вне форума  
Сказали "Спасибо" projects.org.ua
Easyrider83 (28.10.2010)
Непрочитано 28.10.2010, 00:12  
AJScorp
Почётный гражданин KAZUS.RUN
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,550
Сказал спасибо: 384
Сказали Спасибо 735 раз(а) в 416 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Школа АRMрестлинга!

Сообщение от Easyrider83 Посмотреть сообщение
Какая разница, что вы напишите TRISB=0xFF или TRISB==0xFF;
Зависит от компилятора ))
В MPLAB СИ, например, "TRISA = TRISB = TRISC = 0xFF;" совсем не равно "TRISA = 0xFF; TRISB = 0xFF; TRISC = 0xFF;".
Для ARM-ов тоже есть специфика, некоторые вещи на СИ просто не сделаешь.
AJScorp вне форума  
Непрочитано 28.10.2010, 00:17  
Gnider
Почётный гражданин KAZUS.RUN
 
Регистрация: 30.06.2005
Сообщений: 3,392
Сказал спасибо: 5
Сказали Спасибо 429 раз(а) в 305 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: Школа АRMрестлинга!

Сообщение от AJScorp Посмотреть сообщение
Зависит от компилятора ))
В MPLAB СИ, например, "TRISA = TRISB = TRISC = 0xFF;" совсем не равно "TRISA = 0xFF; TRISB = 0xFF; TRISC = 0xFF;".
Для ARM-ов тоже есть специфика, некоторые вещи на СИ просто не сделаешь.
Собственно все 32-битные RISC процессоры специально разрабатывались под компилятор чтобы конечный пользователь не использовал асм
Gnider вне форума  
Непрочитано 28.10.2010, 00:20  
cupru
Заблокирован
 
Регистрация: 19.10.2010
Сообщений: 152
Сказал спасибо: 8
Сказали Спасибо 23 раз(а) в 18 сообщении(ях)
cupru на пути к лучшему
По умолчанию Re: Школа АRMрестлинга!

Сообщение от Gnider Посмотреть сообщение
Пример в студию!
Всё зависит от алгоритма, некоторые оптимизированы....а некоторые вчера родились))))))))
cupru вне форума  
Непрочитано 28.10.2010, 00:22  
Gnider
Почётный гражданин KAZUS.RUN
 
Регистрация: 30.06.2005
Сообщений: 3,392
Сказал спасибо: 5
Сказали Спасибо 429 раз(а) в 305 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: Школа АRMрестлинга!

Сообщение от cupru Посмотреть сообщение
Всё зависит от алгоритма, некоторые оптимизированы....а некоторые вчера родились))))))))
Ни разу не использовал вставок в АРМах,кром тех что прилагались к компилятору.
Gnider вне форума  
Непрочитано 28.10.2010, 00:24  
AJScorp
Почётный гражданин KAZUS.RUN
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,550
Сказал спасибо: 384
Сказали Спасибо 735 раз(а) в 416 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Школа АRMрестлинга!

Сообщение от Gnider Посмотреть сообщение
Пример в студию!
Реализация блокировки семафора

Код:
MOV		r1, #0xFF
SWP		r1, r1, [r0]
TST		r1, r1
...
SWP - атомарная операция обмена регистра с памятью.

На СИ - с запрещением прерываний и т.п.
AJScorp вне форума  
Непрочитано 28.10.2010, 00:26  
AJScorp
Почётный гражданин KAZUS.RUN
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,550
Сказал спасибо: 384
Сказали Спасибо 735 раз(а) в 416 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Школа АRMрестлинга!

Цитата:
"TRISA = TRISB = TRISC = 0xFF;" совсем не равно "TRISA = 0xFF; TRISB = 0xFF; TRISC = 0xFF;"
Что, никто, кроме меня не наступал на эти грабли?!
AJScorp вне форума  
Непрочитано 28.10.2010, 00:32  
cupru
Заблокирован
 
Регистрация: 19.10.2010
Сообщений: 152
Сказал спасибо: 8
Сказали Спасибо 23 раз(а) в 18 сообщении(ях)
cupru на пути к лучшему
По умолчанию Re: Школа АRMрестлинга!

Сообщение от AJScorp Посмотреть сообщение
Что, никто, кроме меня не наступал на эти грабли?!
Да просто не представлял....такой записи)))
cupru вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Linux-ваше мнение Tvenn Делимся опытом 6169 23.08.2015 08:57
ГМО-для чего они??? Как их обнаружить? aniza Отвлекитесь, эмбеддеры! 138 04.11.2010 23:32
[Решено] Тиристор - спалил или нет? nekolex Электроника - это просто 15 14.07.2010 19:09
Лампа от вспышки, вышла со строя или нет? soladko Источники питания и свет 6 20.10.2009 16:58


Часовой пояс GMT +4, время: 15:46.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.