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

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

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

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

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

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

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

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

Сообщение от cupru Посмотреть сообщение
Си допускает ассемблерные вставки, где это необходимо........
К счастью ассемблерные вставки в АРМах использовать не имеет смысла.
Реклама:
Gnider вне форума  
Непрочитано 28.10.2010, 00:00  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
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.RU
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,547
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
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.RU
 
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
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.RU
 
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: Школа АRMрестлинга!

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

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

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

На СИ - с запрещением прерываний и т.п.
AJScorp вне форума  
Непрочитано 28.10.2010, 00:26  
AJScorp
Почётный гражданин KAZUS.RU
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,547
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
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, время: 04:06.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot