Например TDA7294

Форум РадиоКот • Просмотр темы - Ассемблер (ASM) для AVR в вопросах и ответах
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Вс сен 27, 2020 19:45:34

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 7232 ]     ... , , , 351, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт окт 22, 2019 14:39:44 
Друг Кота
Аватар пользователя

Карма: 87
Рейтинг сообщений: 945
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 10927
Откуда: ДОНЕЦК (ЮГО-ВОСТОК ua/DPR)
Рейтинг сообщения: 0
Кто к чему привык (или с чего начинал).
:beer:
Да и область применения - абсолютно самостоятельно или в качестве комплектной единицы (да еще и чаще используемая).
До возможностей keil конечно далековато, однако вполне качественный материал.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт фев 27, 2020 19:41:04 
Первый раз сказал Мяу!

Зарегистрирован: Сб июл 30, 2011 21:00:24
Сообщений: 26
Рейтинг сообщения: 0
AQ29 писал(а):
С которым я сейчас разбираюсь - его нет в общем доступе. Пока нет.
интрига! :))) любопытство накалено до предела :)))
думаю, в общем доступе его и не будет никогда - кому он нужен-то будет когда-то "потом"?!


Разных ассемблеров не знаю, но, судя по примерам здесь, прогресса в развитии ассемблера не заметил.
Где-то к концу года что-то проявится.
Если представляет интерес, могу вам сообщить.

То, что имеется в наличии (avrasm2) вполне достаточно для качественной работы.
Остальное - удел ЯВУ.
8)

Если исходить из требований прошлого века, может, и достаточно.
Сейчас уже хочется чего-нибудь получше.
На мой взгляд, у хорошего ассемблера должно быть следующее.
1 Глобальные и локальные переменные (RON, SRAM, EEPROM, RVV, константы, биты). Локальные переменные видимостью модуля, процедуры или макроса. Размерность переменных – 8 байт.
2 Команды условий: If, While, Until.
3 Встроенные функции (временные задержки, матфункции и т.д.).
Для матфункции должно быть указано формат переменной, диапазон переменной, точность, время выполнения в циклах. Должен быть выбор точности. Скажем, вызов десятичного логарифма в виде: Log10_2(x) / 0,5, где 2 – это двухбайтная переменная, 0,5 – гарантированная точность расчёта логарифма в указанном диапазоне.
4 Современный сервис: свертки подпрограмм и условий, раскраска команд и переменных, подсказки и т.д.


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт фев 27, 2020 19:52:12 
Друг Кота
Аватар пользователя

Карма: 87
Рейтинг сообщений: 945
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 10927
Откуда: ДОНЕЦК (ЮГО-ВОСТОК ua/DPR)
Рейтинг сообщения: 1
Это уже не ассемблер, а разновидность ЯВУ.
Без права на самостоятельное распределение ресурсов и свободу применяемых приемов.
:sleep:


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Шестое юбилейное мероприятие в процессе
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт фев 27, 2020 19:55:39 
Друг Кота
Аватар пользователя

Карма: 103
Рейтинг сообщений: 1916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 15600
Откуда: Московская область
Рейтинг сообщения: 3
Да, какая то рандомная смесь из хотелок на уровне сущностей и сервисов. И полное непонимание зачем люди пишут на АСМе.
:tea:
Сервисы с колапсайдерами и раскрасками давно уже используются в средах и они никакого отношения ни к АСМу, ни к Си не имеют.
Команды в АСМе определяются наличием инструкций в платформе МК, а не АСМом как таковым.
Функции о которых шла речь так же отсутствуют и в АСМе и в Си. Они есть в библиотеках. Но библиотеки можно написать на любом языке. Это определяется опытом работы, а не выбранным языком.


Последний раз редактировалось КРАМ Чт фев 27, 2020 20:04:02, всего редактировалось 1 раз.

Вернуться наверх
 
Драйверы MOSFET/IGBT Infineon – силой нужно управлять!

Специалисты Infineon усовершенствовали традиционные кремниевые MOSFET и IGBT и выпустили компоненты на базе принципиально иных материалов – нитрида галлия и карбида кремния. Мы создали подборку полезных материалов, чтобы вы разобрались во всех тонкостях и стали экспертом по управлению силовыми приборами нового поколения CoolMOS, CoolGaN, CoolSiC!

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт фев 27, 2020 19:57:27 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 89
Рейтинг сообщений: 1754
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 15375
Откуда: Новочеркасск
Рейтинг сообщения: 4
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
AQ29 писал(а):
Современный сервис: свертки подпрограмм и условий, раскраска команд и переменных, подсказки и т.д.
так это, вроде бы, никакого отношения к ассемблеру не имеет - это имеет отношение к IDE или редактору кода.
AQ29 писал(а):
На мой взгляд, у хорошего ассемблера должно быть следующее.
согласно ваших критериев, хороший, просто отличный "ассемблер" называется... Си :))) он даже лучше всего того, что вы написали!
AQ29 писал(а):
Разных ассемблеров не знаю, но
это правильно: любой дурак сможет сначала узнать многое, а потом сделать лучше всего этого. настоящий гений сразу делает лучше всех, изначально не зная ничего :)))

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 
Снижена цена на DC/DC и AC/DC преобразователи Mornsun в Компэл!

Хорошие новости для покупателей источников питания! Компэл снизил цены на всю продукцию Mornsun. В ассортименте – как широко известные и популярные позиции, так и новинки. Доступны AC/DC, неизолированные DC/DC-преобразователи или импульсные стабилизаторы (семейство K78/R3), изолированные DC/DC, и новейшее поколение R4.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт фев 27, 2020 20:05:09 
Друг Кота
Аватар пользователя

Карма: 87
Рейтинг сообщений: 945
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 10927
Откуда: ДОНЕЦК (ЮГО-ВОСТОК ua/DPR)
Рейтинг сообщения: 0
ARV
То "монстро" на адуринку смахивает, только разукрашенную и с подсветкой...
:dont_know:


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт фев 27, 2020 20:17:55 
Друг Кота
Аватар пользователя

Карма: 103
Рейтинг сообщений: 1916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 15600
Откуда: Московская область
Рейтинг сообщения: 0
Товарисч AQ29 просто в принципе не понимает что такое ассемблер и как он работает. Вот и пишет рандомный бред.


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт мар 05, 2020 02:08:21 
Друг Кота

Карма: 28
Рейтинг сообщений: 563
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4506
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Цитата:
1 Глобальные и локальные переменные (RON, SRAM, EEPROM, RVV, константы, биты). Локальные переменные видимостью модуля, процедуры или макроса. Размерность переменных – 8 байт.

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

Цитата:
2 Команды условий: If, While, Until.

Если ввести такие сущности в ассемблер... то это будут не более чем предопределённые макросы. Не проще ли просто подключить заранее заготовленный файл с этими макроопределениями? Ой, или его вам кто-то должен дать?

Чесно говоря, чего не хватает в нынешнем ассемблере - так это более мощной и менее ограниченной системы макроподстановок. Сейчас это выглядит как набор костылей, и понятное дело почему...


Вернуться наверх
 
Бытовой пирометр АКИП-9312 – просто удобно!

Диапазон 35 °С ...42°С (температура тела) погрешность 0,3 °С
Диапазон 0 °С ...100°С (бытовая сфера) погрешность 1,0 °С
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт мар 05, 2020 08:02:44 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 89
Рейтинг сообщений: 1754
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 15375
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Alexeyslav писал(а):
чего не хватает в нынешнем ассемблере - так это более мощной и менее ограниченной системы макроподстановок.
попробуйте gnu-as, точнее avr-as - макросы практически те же, что и в masm или tasm

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт мар 05, 2020 18:42:23 
Встал на лапы
Аватар пользователя

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 103
Рейтинг сообщения: 0
2 Команды условий: If, While, Until.

AVR-asm-мом занимаюсь относительно не долго. Сначала меня обескуражило отсутствие таких явных, как if-then-else...
Уверяю, эти неудобства временны и проходящи. На данный момент я прекрасно без низ обхожусь и не настальгирую по ним.

Причём не трудно заметить, что популяризация, упрощение, "дружелюбность к пользователю" вызывают куда более непонимание и проблемы. Иной раз хочу посмотреть, как с каким-нибудь датчиком или дисплеем люди работают, так весь интернет забит безответными вопросами ардуинщиков.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 08, 2020 11:38:39 
Первый раз сказал Мяу!

Зарегистрирован: Сб июл 30, 2011 21:00:24
Сообщений: 26
Рейтинг сообщения: 0
Это уже не ассемблер, а разновидность ЯВУ.
Без права на самостоятельное распределение ресурсов и свободу применяемых приемов.
:sleep:

Можно назвать и вариантом ЯВУ. Дело не в названии, а в удобстве пользования.
Откуда берётся запрет «на самостоятельное распределение ресурсов»?
В чём ограничение «свободы применяемых приёмов»?
Фактически, у программы есть все возможности ассемблера.
Да, какая то рандомная смесь из хотелок на уровне сущностей и сервисов. И полное непонимание зачем люди пишут на АСМе.
:tea:
Команды в АСМе определяются наличием инструкций в платформе МК, а не АСМом как таковым.
Функции о которых шла речь так же отсутствуют и в АСМе и в Си. Они есть в библиотеках. Но библиотеки можно написать на любом языке. Это определяется опытом работы, а не выбранным языком.

Люди пишут на Асме, чтобы решить поставленную задачу. На хорошем Асме писать хорошо, на плохом – плохо.
Библиотека или встроенная функция - не принципиально.
Основной смысл – не изобретать велосипед, а использовать готовую функцию.
Думаю, встроенную функцию вызвать проще, соответственно, удобней.

так это, вроде бы, никакого отношения к ассемблеру не имеет - это имеет отношение к IDE или редактору кода.

Это общее пожелание к языку, а не к конкретно к ассемблеру.
согласно ваших критериев, хороший, просто отличный "ассемблер" называется... Си :))) он даже лучше всего того, что вы написали!

В СИ приходится делать вставки из ассемблера - это вроде как костыли. А костыли свидетельствуют об инвалидности программы, здоровому костыли не нужны.
это правильно: любой дурак сможет сначала узнать многое, а потом сделать лучше всего этого. настоящий гений сразу делает лучше всех, изначально не зная ничего :)))

Напоминает высказывание Эйнштейна: «Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно — он-то и делает открытие.»


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 08, 2020 11:44:54 
Встал на лапы
Аватар пользователя

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 103
Рейтинг сообщения: 0
Уважаемый AQ29, я вот только не пойму мотив Ваших претензий к AVR ASM-у. Или у Вас есть какая то прорывная идея (судя по высказыванию):
Напоминает высказывание Эйнштейна: «Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно — он-то и делает открытие.»


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 08, 2020 11:46:36 
Первый раз сказал Мяу!

Зарегистрирован: Сб июл 30, 2011 21:00:24
Сообщений: 26
Рейтинг сообщения: 0
Всё это есть и с самого начала. Просто поймите что в ассемблере нет такого понятия как переменная - процессор и инструкции оперируют только адресами в памяти, только не говорите что в ассемблере нет директив распределения памяти по адресам и нет меток... биты вообще больное место - не всегда есть вообще аппаратная реализация побитового доступа, поэтому битовый доступ решается при помощи макросов в конкретных условиях конкретного проекта.

А что, существует какой-то запрет на применение переменных в ассемблере? Про такой запрет я, действительно, ничего не слышал.
В хорошем ассемблере биты – обычные переменные, особых проблем нет.
Команды условий: If, While, Until. [/quote]
Если ввести такие сущности в ассемблер... то это будут не более чем предопределённые макросы. Не проще ли просто подключить заранее заготовленный файл с этими макроопределениями? Ой, или его вам кто-то должен дать?

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

Я уже писал – костыли свидетельствуют об инвалидности программы.
На «здоровой» программе писать лучше.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 08, 2020 19:53:04 
Опытный кот
Аватар пользователя

Карма: 9
Рейтинг сообщений: 154
Зарегистрирован: Сб дек 22, 2012 08:17:42
Сообщений: 702
Откуда: Караганда, Казахстан
Рейтинг сообщения: 0
AQ29 писал(а):
А что, существует какой-то запрет на применение переменных в ассемблере? Про такой запрет я, действительно, ничего не слышал.
Это, так сказать, "гвоздь не от той стенки". Ассемблер - это представление машинных команд конкретного процессора в символическом виде. В частности, для AVR ассемблер позволяет, например, вместо кода 0xE41A написать команду LDI R17,0x4A, что означает "загрузить в регистр R17 шестнадцатеричную константу 4A". И, соответственно, объекты, которыми может манипулировать программа не ассемблере - только те, которыми может манипулировать процессор. То есть, 32 условно-общих регистра, какое-то количество регистров-портов ввода-вывода, какое-то количество ячеек памяти (отдельно флеш-памяти, отдельно оперативки, отдельно NVRAM), и (почти) все. Переменные в этот список, увы, не входят. И вообще, переменная - это более высокий уровень абстракции, чем ассемблер.

_________________
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 08, 2020 20:32:09 
Модератор
Аватар пользователя

Карма: 151
Рейтинг сообщений: 2324
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 15615
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
от названия суть не меняется.
нравится ему называть один бит переменной или весь регистр называть переменной - пусть называет ...
я, вот, никогда не пользуюсь ни макросами, на какими-то подстановками (то есть, всякими костылями) - просто пишу на ассемблере, и горя не знаю.

_________________
Мудрость приходит вместе с импотенцией...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 08, 2020 22:46:34 
Опытный кот
Аватар пользователя

Карма: 9
Рейтинг сообщений: 154
Зарегистрирован: Сб дек 22, 2012 08:17:42
Сообщений: 702
Откуда: Караганда, Казахстан
Рейтинг сообщения: 0
Starichok51 писал(а):
от названия суть не меняется.
нравится ему называть один бит переменной или весь регистр называть переменной - пусть называет ...
Нет. Разговор следует вести на одном языке. Соответственно и слова надо употреблять правильно.

Starichok51 писал(а):
я, вот, никогда не пользуюсь ни макросами, на какими-то подстановками (то есть, всякими костылями) - просто пишу на ассемблере, и горя не знаю.
Ну, в общем-то, нормальные макроассемблеры во многом облегчают жизнь. Но не это АВР-овское убожество. Такое впечатление, что его авторы ни разу не видели нормального ассемблера. И вообще ничего не видели, кроме Паскаля на писюке. Один их набор символических наименований для битов в регистрах периферии чего стоит? Это какую такую траву надо курить, чтобы придумать метод набора двоичного числа в группу смежных бит одного регистра путем сдвигов нулей или единиц на обозначенное символически число бит? Я имею в виду конструкцию, вроде 0<<CS02 | 1<<CS01 | 1<<CS00 для прескалера таймера 0 вместо простого и понятного (допустим) T0prs64, которое в подключаемом по .Include файле было бы определено, как 0x03. Да даже для одиночных битов оно малополезно - команды SBI/CBI - единственные, для которых такие наименования имеют смысл, работают только с первыми тридцатью двумя портами I/O (00-1F), даже у самого первого AT90S1200 почти половина регистров I/O для этих команд недоступна.

А макросредства? Один тот факт, что метки в макроопределениях только локальные (временные, действительные только внутри этого макроопределения), отсекает добрую половину тех возможностей, которые предоставляют программисту нормальные макросредства.

В общем, единственное, для чего полезны макросредства этого недоассемблера, это мелкие операции из двух-трех команд, вроде загрузки слова в регистровую пару, типа, когда надо загрузить в XL LOW(ADR), а в XH - high(ADR)

_________________
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн мар 09, 2020 07:02:44 
Встал на лапы
Аватар пользователя

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 103
Рейтинг сообщения: 0
В макросах ни чего плохого не вижу, тем более, если макрос создаёшь сам и знаешь для чего и как он работает. Сейчас с TFT дисплеями работаю, там постоянно нужно передавать координаты поля для вывода текста / изображения. При этом нужно отослать по SPI 3-и 8-ми битных параметра и 4-ре 16-ти битных.
Забивать код лишними строками, причём не информативными не вижу смысла.
В итоге в коде координаты поля (для вывода I-ой строки текста) выглядят так:
Код:
LCD_FIELD 5,310,0,47

соответственно макрос:
Код:
; Макрос для установки поля вывода изображения на дисплей.   
   .MACRO   LCD_FIELD
      ldi   R16   , 0x2b         ; Column Address Set Координата X
      rcall dspl_SEND_COM
      ldi R16, high(@0)         ; XS
      ldi R17, low(@0)
      ldi R18, high(@1)         ; XE
      ldi R19, low(@1)
      rcall dspl_SEND_DATA_32
      ldi      R16   , 0x2a      ; Row Address Set Координата Y
      rcall   dspl_SEND_COM               ;
      ldi R16, high(@2)         ; YS
      ldi R17, low(@2)
      ldi R18, high(@3)         ; YE
      ldi R19, low(@3)
      rcall dspl_SEND_DATA_32
      ldi   R16   , 0x2C         ; RAMWR (2Ch): Memory Write      
      call   dspl_SEND_COM   
   .ENDMACRO   

Макросы идут отдельным файлом. Применение каждого оправдано.
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн мар 09, 2020 07:24:26 
Друг Кота
Аватар пользователя

Карма: 87
Рейтинг сообщений: 945
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 10927
Откуда: ДОНЕЦК (ЮГО-ВОСТОК ua/DPR)
Рейтинг сообщения: 0
Разница между макросом и подпрограммой -
макрос каждый раз кушает память программ, подпрограмма лежит в одном месте и только вызывается из многих, экономя ресурс ОЗУ.
Другое дело когда коротенький макрос-подстановка с перечнем параметров - замещение не имеющейся команды к примеру.
Особо актуально в случае "сокращенного набора команд" к группе которых и АВРки относятся...
Посему в Вашем, shonty, случае лучше таки подпрограмма с передачей параметров через стек или блок регистров (массив в ОЗУ).
примерно:
в макросе только заполнение параметров (для всех обработчиков) и вызов подпрограммы обработчика
а не многократный вызов разных подпрограмм у каждой из которых свои параметры.
:roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн мар 09, 2020 07:40:04 
Встал на лапы
Аватар пользователя

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 103
Рейтинг сообщения: 0
Разница между макросом и подпрограммой -
макрос каждый раз кушает память программ, подпрограмма лежит в одном месте и только вызывается из многих, экономя ресурс ОЗУ.

Когда начинал работать с TFT тоже придерживался такого принципа.
shonty писал(а):
Посему в Вашем, shonty, случае лучше таки подпрограмма с передачей параметров через стек или блок регистров (массив в ОЗУ).

и через ОЗУ тоже работал... И это было год назад.

Но через год всё привёл именно к такому виду. И это был осознанный шаг. Дисплей требует скорости вывода. Пришлось уходить от call-ов и ret-ов и даже
Код:
SPI_WAIT
оформлять макросом, да, в ущерб памяти.

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

BOB51, очень понравилось ваше высказывание:
права на самостоятельное распределение ресурсов и свободу применяемых приемов.
:sleep:
:)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн мар 09, 2020 08:02:51 
Друг Кота
Аватар пользователя

Карма: 87
Рейтинг сообщений: 945
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 10927
Откуда: ДОНЕЦК (ЮГО-ВОСТОК ua/DPR)
Рейтинг сообщения: 0
А через push/pop?
Там ведь предзагрузки индексного регистра не требуется (как и счетчика позиций) как в случае с
ST Rd,N+/LD Rd,N-.
Единственно порядок загрузки обратный - первый из используемых параметров загоняем с втек последним.
Это просто как предположение достаточно редкоиспользуемого варианта решения.
:roll:


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 7232 ]     ... , , , 351, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Anat0lik46, dgrett и гости: 6


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y