Правильная обработка переменных в контексте прерываний

Обсуждаем контроллеры компании Atmel.
Ответить
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

АСМ - это уровень бог !
Не спрашивай по ком звонит колокол, он звонит по тебе !
Реклама
Вымогатель припоя
Сообщения: 615
Зарегистрирован: Вс дек 28, 2014 21:54:05

Сообщение dgrett »

Какая ирония :). Alex_641↓, Вы, понимаю, в Си гуру, да?
Я всё-всё узнAю и стану профессором.
Реклама
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

slav0n писал(а):Да мне нужен. Чтоб не трахаться так с простыми вопросами. И не гадать, что компилятор с кодом сделает.
А я бы хотел посмотреть на реализацию asm, примерчик не предоставите, а вам потом slav0n, на Си накатает, вот и сравним.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

[uquote="dgrett",url="/forum/viewtopic.php?p=4101407#p4101407"]Какая ирония :). Alex_641↓, Вы, понимаю, в Си гуру, да?[/uquote]
Нет .

Добавлено after 1 minute 46 seconds:
Сравнивать СИ и АСМ - это как сравнивать гавно с пиццей ...
Не спрашивай по ком звонит колокол, он звонит по тебе !
Реклама
Эиком - электронные компоненты и радиодетали
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

Alex_641 писал(а):Сравнивать СИ и АСМ
Ну, это не так, СИ можно собрать с любым уровнем оптимизации, я, к примеру, буду собирать с -O0. И количество asm команд не будем считать.

К asm прибегают в том случае, когда от кода требуется четкие временные задержки, к примеру программный UART. А когда чисто флаг проверить, ну ... не знаю.
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

Если учесть коммерческое применение МК, там оптимизация кода под оный, количество экземпляров, на ассемблере максимальная оптимизация пространства памяти, а если ты делаешь моргунчик светодиодом на атмега 128 - это твои дела !
Не спрашивай по ком звонит колокол, он звонит по тебе !
Реклама
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

Alex_641, да ладно, хотел бы я посмотреть, но код твоего IPhone на писанного на чистом asm.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

У меня нет айфоне , принципиально ! Я не покупаю никчёмное дорогое говно !

Добавлено after 6 minutes 52 seconds:
Я очень давно писал на ассемблере программы для Z80... Плучалось. Но это было давно и уже не правда.
Не спрашивай по ком звонит колокол, он звонит по тебе !
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Сообщение parovoZZ »

[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4101261#p4101261"]Вы хотите использовать переменную как флаговую? Других причин писать туда и из основного цикла, и из прерываний я не вижу. В таком случае да, проще запрета прерываний вряд ли что найдется.[/uquote]
а зачем запрещать прерывания на запись переменной, разрядность которой совпадает с разрядностью шины?
Опытный кот
Аватара пользователя
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков

Сообщение slav0n »

сишника на асм не пересадишь НИКОГДА
ohmycode!
primuss3.com
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

Наверное так ! Но Ассемблер более гибкая среда на порядок ( то есть в 10 а может и в сто раз) , но более сложная для человека на столько же. Ты в силу своей глупости этого не поймёшь.
Не спрашивай по ком звонит колокол, он звонит по тебе !
Опытный кот
Аватара пользователя
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков

Сообщение slav0n »

машина умнее человека?
я тебя поздравляю, ассемлярщик

Добавлено after 4 minutes 27 seconds:
я бачив тут вже клай-сай через два такта
ohmycode!
primuss3.com
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

Ты не поддавайся эмоциям ! Я в молодости программировал на асме ! Для спектрума. И имею представление что это такое. Это сложно, но оно того стоит . А сейчас конечно уже только си... голова уже не та, 30 лет прошло однако.

Добавлено after 3 minutes 19 seconds:
Бачив - не бачив ! А асм - это классика программиста ! И ты хоть вы..... себя в .... ..... пиииии пииии ...
Не спрашивай по ком звонит колокол, он звонит по тебе !
Опытный кот
Аватара пользователя
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков

Сообщение slav0n »

тю, та паял я краснодар на 564 логике, другой на Шевченко небыло, и шо, заебался планарные ноги гнуть под дипы
писал на бесике проги ему

Добавлено after 6 minutes 36 seconds:
тю, бля, фортран вспоминать? иди нах
ohmycode!
primuss3.com
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

)))
Не спрашивай по ком звонит колокол, он звонит по тебе !
Опытный кот
Аватара пользователя
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков

Сообщение slav0n »

ох и дятлы...
ohmycode!
primuss3.com
Контактная информация:
Вымогатель припоя
Сообщения: 615
Зарегистрирован: Вс дек 28, 2014 21:54:05

Сообщение dgrett »

{хотел бы я посмотреть, но код твоего IPhone на писанного на чистом asm.}
Отличный пример. Заодно бы посмотреть Ваш код iOS на Си.
Простите, пожалуйста, что начал новый виток спора асм vs Си. На этом, пожалуй, хальт.
Я всё-всё узнAю и стану профессором.
Мучитель микросхем
Сообщения: 430
Зарегистрирован: Вс апр 18, 2021 15:43:55

Сообщение Kalisnik »

[uquote="parovoZZ",url="/forum/viewtopic.php?p=4101459#p4101459"]а зачем запрещать прерывания на запись переменной, разрядность которой совпадает с разрядностью шины?[/uquote]
В начале темы я дал ссылку на статью, там описаны причины.
Друг Кота
Аватара пользователя
Сообщения: 15591
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

В принципе пишем или на ассемблере или на Си (стараясь не "перемешивать")....
Ассемблерные вставки в Си - это уже не "чистый ассемблер" поскольку многие классические приемы "чистого ассемблера" пресекаются компилятором ЯВУ.
Актуальность применения определяется элементной базой, наличием достаточной документации и соответствующих сред разработки.
Насчет "смешанных" проектов с использованием разных семейств МК и разных компиляторов достаточно много рассматривалось тут:
https://radiokot.ru/forum/viewtopic.php?f=62&t=94201
и позднее
https://radiokot.ru/forum/viewtopic.php?f=62&t=156720
кому интерес - можете посмотреть.
8)
Модератор
Аватара пользователя
Сообщения: 19055
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Сообщение Starichok51 »

вообще, изменение одной переменной в двух разных местах - в прерывании м основном коде - чистый идиотизм.
даже если ты запретишь прерывание в основном коде и изменишь переменную, то после наступившего прерывания получишь в результате совершенно не то, что ты ожидал получить в основном коде.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Ответить

Вернуться в «AVR»