Обсуждаем контроллеры компании Atmel.
Ответить

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

Вт окт 05, 2021 21:21:12

АСМ - это уровень бог !

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

Вт окт 05, 2021 21:54:43

Какая ирония :). Alex_641↓, Вы, понимаю, в Си гуру, да?

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

Вт окт 05, 2021 21:58:07

slav0n писал(а):Да мне нужен. Чтоб не трахаться так с простыми вопросами. И не гадать, что компилятор с кодом сделает.
А я бы хотел посмотреть на реализацию asm, примерчик не предоставите, а вам потом slav0n, на Си накатает, вот и сравним.

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

Вт окт 05, 2021 22:15:24

Какая ирония :). Alex_641↓, Вы, понимаю, в Си гуру, да?

Нет .

Добавлено after 1 minute 46 seconds:
Сравнивать СИ и АСМ - это как сравнивать гавно с пиццей ...

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

Вт окт 05, 2021 22:25:44

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

К asm прибегают в том случае, когда от кода требуется четкие временные задержки, к примеру программный UART. А когда чисто флаг проверить, ну ... не знаю.

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

Вт окт 05, 2021 22:31:19

Если учесть коммерческое применение МК, там оптимизация кода под оный, количество экземпляров, на ассемблере максимальная оптимизация пространства памяти, а если ты делаешь моргунчик светодиодом на атмега 128 - это твои дела !

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

Вт окт 05, 2021 22:39:36

Alex_641, да ладно, хотел бы я посмотреть, но код твоего IPhone на писанного на чистом asm.

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

Вт окт 05, 2021 22:54:44

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

Добавлено after 6 minutes 52 seconds:
Я очень давно писал на ассемблере программы для Z80... Плучалось. Но это было давно и уже не правда.

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

Вт окт 05, 2021 23:12:37

Вы хотите использовать переменную как флаговую? Других причин писать туда и из основного цикла, и из прерываний я не вижу. В таком случае да, проще запрета прерываний вряд ли что найдется.

а зачем запрещать прерывания на запись переменной, разрядность которой совпадает с разрядностью шины?

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

Вт окт 05, 2021 23:44:10

сишника на асм не пересадишь НИКОГДА

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

Ср окт 06, 2021 00:01:12

Наверное так ! Но Ассемблер более гибкая среда на порядок ( то есть в 10 а может и в сто раз) , но более сложная для человека на столько же. Ты в силу своей глупости этого не поймёшь.

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

Ср окт 06, 2021 00:07:45

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

Добавлено after 4 minutes 27 seconds:
я бачив тут вже клай-сай через два такта

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

Ср окт 06, 2021 00:11:18

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

Добавлено after 3 minutes 19 seconds:
Бачив - не бачив ! А асм - это классика программиста ! И ты хоть вы..... себя в .... ..... пиииии пииии ...

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

Ср окт 06, 2021 00:22:02

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

Добавлено after 6 minutes 36 seconds:
тю, бля, фортран вспоминать? иди нах

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

Ср окт 06, 2021 00:23:26

)))

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

Ср окт 06, 2021 00:47:50

ох и дятлы...

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

Ср окт 06, 2021 06:36:08

{хотел бы я посмотреть, но код твоего IPhone на писанного на чистом asm.}
Отличный пример. Заодно бы посмотреть Ваш код iOS на Си.
Простите, пожалуйста, что начал новый виток спора асм vs Си. На этом, пожалуй, хальт.

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

Ср окт 06, 2021 08:09:31

а зачем запрещать прерывания на запись переменной, разрядность которой совпадает с разрядностью шины?

В начале темы я дал ссылку на статью, там описаны причины.

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

Ср окт 06, 2021 10:08:54

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

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

Ср окт 06, 2021 11:21:11

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