Правильная обработка переменных в контексте прерываний
- Сообщения: 2314
- Зарегистрирован: Вт янв 26, 2021 22:33:21
АСМ - это уровень бог !
Не спрашивай по ком звонит колокол, он звонит по тебе !
- Реклама
- Сообщения: 615
- Зарегистрирован: Вс дек 28, 2014 21:54:05
Какая ирония
. Alex_641↓, Вы, понимаю, в Си гуру, да?
Я всё-всё узнAю и стану профессором.
- Сообщения: 1849
- Зарегистрирован: Вс дек 25, 2016 08:34:54
А я бы хотел посмотреть на реализацию asm, примерчик не предоставите, а вам потом slav0n, на Си накатает, вот и сравним.slav0n писал(а):Да мне нужен. Чтоб не трахаться так с простыми вопросами. И не гадать, что компилятор с кодом сделает.
- Сообщения: 2314
- Зарегистрирован: Вт янв 26, 2021 22:33:21
[uquote="dgrett",url="/forum/viewtopic.php?p=4101407#p4101407"]Какая ирония
. Alex_641↓, Вы, понимаю, в Си гуру, да?[/uquote]
Нет .
Добавлено after 1 minute 46 seconds:
Сравнивать СИ и АСМ - это как сравнивать гавно с пиццей ...
Нет .
Добавлено after 1 minute 46 seconds:
Сравнивать СИ и АСМ - это как сравнивать гавно с пиццей ...
Не спрашивай по ком звонит колокол, он звонит по тебе !
- Сообщения: 1849
- Зарегистрирован: Вс дек 25, 2016 08:34:54
Ну, это не так, СИ можно собрать с любым уровнем оптимизации, я, к примеру, буду собирать с -O0. И количество asm команд не будем считать.Alex_641 писал(а):Сравнивать СИ и АСМ
К asm прибегают в том случае, когда от кода требуется четкие временные задержки, к примеру программный UART. А когда чисто флаг проверить, ну ... не знаю.
- Реклама
- Сообщения: 2314
- Зарегистрирован: Вт янв 26, 2021 22:33:21
Если учесть коммерческое применение МК, там оптимизация кода под оный, количество экземпляров, на ассемблере максимальная оптимизация пространства памяти, а если ты делаешь моргунчик светодиодом на атмега 128 - это твои дела !
Не спрашивай по ком звонит колокол, он звонит по тебе !
- Сообщения: 1849
- Зарегистрирован: Вс дек 25, 2016 08:34:54
Alex_641, да ладно, хотел бы я посмотреть, но код твоего IPhone на писанного на чистом asm.
- Сообщения: 2314
- Зарегистрирован: Вт янв 26, 2021 22:33:21
У меня нет айфоне , принципиально ! Я не покупаю никчёмное дорогое говно !
Добавлено after 6 minutes 52 seconds:
Я очень давно писал на ассемблере программы для Z80... Плучалось. Но это было давно и уже не правда.
Добавлено after 6 minutes 52 seconds:
Я очень давно писал на ассемблере программы для Z80... Плучалось. Но это было давно и уже не правда.
Не спрашивай по ком звонит колокол, он звонит по тебе !
- Сообщения: 1759
- Зарегистрирован: Пт июн 01, 2018 07:28:45
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4101261#p4101261"]Вы хотите использовать переменную как флаговую? Других причин писать туда и из основного цикла, и из прерываний я не вижу. В таком случае да, проще запрета прерываний вряд ли что найдется.[/uquote]
а зачем запрещать прерывания на запись переменной, разрядность которой совпадает с разрядностью шины?
а зачем запрещать прерывания на запись переменной, разрядность которой совпадает с разрядностью шины?
сишника на асм не пересадишь НИКОГДА
ohmycode!
primuss3.com
primuss3.com
- Сообщения: 2314
- Зарегистрирован: Вт янв 26, 2021 22:33:21
Наверное так ! Но Ассемблер более гибкая среда на порядок ( то есть в 10 а может и в сто раз) , но более сложная для человека на столько же. Ты в силу своей глупости этого не поймёшь.
Не спрашивай по ком звонит колокол, он звонит по тебе !
машина умнее человека?
я тебя поздравляю, ассемлярщик
Добавлено after 4 minutes 27 seconds:
я бачив тут вже клай-сай через два такта
я тебя поздравляю, ассемлярщик
Добавлено after 4 minutes 27 seconds:
я бачив тут вже клай-сай через два такта
ohmycode!
primuss3.com
primuss3.com
- Сообщения: 2314
- Зарегистрирован: Вт янв 26, 2021 22:33:21
Ты не поддавайся эмоциям ! Я в молодости программировал на асме ! Для спектрума. И имею представление что это такое. Это сложно, но оно того стоит . А сейчас конечно уже только си... голова уже не та, 30 лет прошло однако.
Добавлено after 3 minutes 19 seconds:
Бачив - не бачив ! А асм - это классика программиста ! И ты хоть вы..... себя в .... ..... пиииии пииии ...
Добавлено after 3 minutes 19 seconds:
Бачив - не бачив ! А асм - это классика программиста ! И ты хоть вы..... себя в .... ..... пиииии пииии ...
Не спрашивай по ком звонит колокол, он звонит по тебе !
тю, та паял я краснодар на 564 логике, другой на Шевченко небыло, и шо, заебался планарные ноги гнуть под дипы
писал на бесике проги ему
Добавлено after 6 minutes 36 seconds:
тю, бля, фортран вспоминать? иди нах
писал на бесике проги ему
Добавлено after 6 minutes 36 seconds:
тю, бля, фортран вспоминать? иди нах
ohmycode!
primuss3.com
primuss3.com
- Сообщения: 2314
- Зарегистрирован: Вт янв 26, 2021 22:33:21
)))
Не спрашивай по ком звонит колокол, он звонит по тебе !
ох и дятлы...
ohmycode!
primuss3.com
primuss3.com
- Сообщения: 615
- Зарегистрирован: Вс дек 28, 2014 21:54:05
{хотел бы я посмотреть, но код твоего IPhone на писанного на чистом asm.}
Отличный пример. Заодно бы посмотреть Ваш код iOS на Си.
Простите, пожалуйста, что начал новый виток спора асм vs Си. На этом, пожалуй, хальт.
Отличный пример. Заодно бы посмотреть Ваш код iOS на Си.
Простите, пожалуйста, что начал новый виток спора асм vs Си. На этом, пожалуй, хальт.
Я всё-всё узнAю и стану профессором.
- Сообщения: 430
- Зарегистрирован: Вс апр 18, 2021 15:43:55
[uquote="parovoZZ",url="/forum/viewtopic.php?p=4101459#p4101459"]а зачем запрещать прерывания на запись переменной, разрядность которой совпадает с разрядностью шины?[/uquote]
В начале темы я дал ссылку на статью, там описаны причины.
В начале темы я дал ссылку на статью, там описаны причины.
В принципе пишем или на ассемблере или на Си (стараясь не "перемешивать")....
Ассемблерные вставки в Си - это уже не "чистый ассемблер" поскольку многие классические приемы "чистого ассемблера" пресекаются компилятором ЯВУ.
Актуальность применения определяется элементной базой, наличием достаточной документации и соответствующих сред разработки.
Насчет "смешанных" проектов с использованием разных семейств МК и разных компиляторов достаточно много рассматривалось тут:
https://radiokot.ru/forum/viewtopic.php?f=62&t=94201
и позднее
https://radiokot.ru/forum/viewtopic.php?f=62&t=156720
кому интерес - можете посмотреть.

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


