Ассемблер (ASM) для AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

ОК. А я пока погляжу в последний исходник. Для набора дальнейшего опыта. :)
I am DX168B and this is my favourite forum on internet!
Контактная информация:
Реклама
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город

Сообщение Мастер Ломастер »

разве директива .dd вставляет байты не в "обратном" порядке - от младшего к старшему?
битва с дураками проиграна, победители торжествуют. слава победителям!
Контактная информация:
Реклама
Опытный кот
Аватара пользователя
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна

Сообщение avreal »

IfoR писал(а):; ...Что-то меня это операчии +2, -2 напрягают. Что-то много их. :).
С одной стороны,

Код: Выделить всё

.macro cpsli; формат: cpsli ramaddr, const
   ldi     YL, low(@0 + 4)
   ldi     YH, high(@0 + 4)
   rcall   compare  
   .db     @1&0xFF, (@1>>8)&0xFF, (@1>>16)&0xFF, @1>>24 
.endm
и ADIW Y, 4 уже не нужно. С другой -- уже замечено про «нормальный» порядок байтов для .dd. Надо просто вернуться к нормальному сравниванию двух 4-байтовых чисел. Мало ли зачем еще может пригодиться, в том числе не только на «равно», но и на «больше»/«меньше». Такой кусочек 4-байтовой арифметики.
А вот в специфическом случае разбора просто саму константу формировать по другому:

Код: Выделить всё

     cpsli    buffer, SER0 | (SER1<<8) | (SER2<<16) | (BUT<<24)
     breq     on_led
IfoR писал(а):На правах оффтопа. Люди, у вас эта тема нормально работает? Дело в том, что у меня такой глюк. Когда я жму на кнопочку "новые сообщения" для этой темы, меня часто бросает не на последнюю страницу, где эти сообщения, а на 2-3 страницы назад на их начало.
Точно. Я уже думал, что сам не туда ткнул. Но вчера такое пару раз повторилось.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2029
Зарегистрирован: Сб ноя 15, 2008 10:09:56
Откуда: г. Тула

Сообщение IfoR »

Мастер Ломастер писал(а):разве директива .dd вставляет байты не в "обратном" порядке - от младшего к старшему?
Опа. Не знал. Это типа недокументированной директивы?
Хотя, я тоже находил макрос INT(), который не описан. :)

avreal, да, точно. Мозг ночью уже не торт. :))
Изображение
/dev/urandom - гигабайты информации.

OS: openSUSE 13.2 (x86_64)
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город

Сообщение Мастер Ломастер »

IfoR писал(а):Опа. Не знал. Это типа недокументированной директивы?
это однозначно документированная директива для assembler2 из студии.
битва с дураками проиграна, победители торжествуют. слава победителям!
Контактная информация:
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2029
Зарегистрирован: Сб ноя 15, 2008 10:09:56
Откуда: г. Тула

Сообщение IfoR »

Ньда. Точно. Теперь надо изучить и этот кусок.
Изображение
/dev/urandom - гигабайты информации.

OS: openSUSE 13.2 (x86_64)
Контактная информация:
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 104
Зарегистрирован: Сб фев 24, 2007 15:49:35

Сообщение sinobi »

Я конечно не спец -но по моему как то начинает усложняться программа.Или мне кажется?
Контактная информация:
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

смотря с какой точки зрения смотреть - уменьшение кода, скорости выполнения, простоты понимания
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Родился
Сообщения: 19
Зарегистрирован: Ср ноя 24, 2010 21:44:30
Откуда: Мичуринск

Сообщение Aleks8383 »

Ребят подскажите а в asm есть какие либо библиотеки ну к примеру для индикатора 2/16 и ещё многие,просто я начал изучать Bascom немного подучил вот охото чего небуть по серьёзнее.Посмотрел на С++ хоть там и есть куча библиотек на всё но это по моему бред сумашедшего ,а не язык.По крайней мере мне ASM более понятен.Я так понимаю что всё придётся выводить в "ручную" даже для такого индикатора???
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

поройся поиском куча народа выкладывала свои библы под 2х16 и аналогичных, тут есть целая тема:
http://radiokot.ru/forum/viewtopic.php?f=20&t=584
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Aleks8383, вот еще, и разжёвано: http://easyelectronics.ru/avr-uchebnyj- ... 44780.html
Родился
Сообщения: 19
Зарегистрирован: Ср ноя 24, 2010 21:44:30
Откуда: Мичуринск

Сообщение Aleks8383 »

Да я не имел что то конкретное(это к стати я видел),я хотел узнать полно ли библиотек в asm так же как и в С++ ну к примеру USB,инд124/64,теже тачики температуры.Ладно проехали,примерно всё понял.
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Часто используемые вещи, такие, как например программные IIC, 1-wire, индикаторы - всё понаписано, надо только поискать и вкорячить в проект, немного допилив для себя, асм всё-таки, с Си в этом плане проще.

Кстати, на счет C++, он очень редко используется для разработки софта под МК, не путаешь ли ты его с Си?
Родился
Сообщения: 19
Зарегистрирован: Ср ноя 24, 2010 21:44:30
Откуда: Мичуринск

Сообщение Aleks8383 »

ploop писал(а): не путаешь ли ты его с Си?
Конечно перепутал,но всё равно С это чтото с чемто.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 319
Зарегистрирован: Чт окт 14, 2010 15:03:45

Сообщение eskeip »

Люди, помогите, весь гугл облазил.
Как на асме реализовать обмен по интерфейсу USB на Атмеге16. Всё облазил, но проекты везде Сишные. плиз помогите.
Вложения
avr asm.pdf
(17.37 КБ) 162 скачивания
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Берем Сишный проект, компилируем его и получаем помимо .hex еще и .asm как бесплатное приложение. Пользуем .asm куда надо.
Docendo discimus
Контактная информация:
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

eskeip писал(а):Люди, помогите, весь гугл облазил.
Как на асме реализовать обмен по интерфейсу USB на Атмеге16. Всё облазил, но проекты везде Сишные. плиз помогите.
где-то на сухой.ру был проект MJoy там был HID на асме с коментами, покопайся - найдешь.

зы: вот нашел у себя в "недрах" :)), проект на меге8, но думаю не проблема адаптировать под м16.
Вложения
MJoy_v1.1.zip
(32.2 КБ) 164 скачивания
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 319
Зарегистрирован: Чт окт 14, 2010 15:03:45

Сообщение eskeip »

GP1 писал(а):
eskeip писал(а):Люди, помогите, весь гугл облазил.
Как на асме реализовать обмен по интерфейсу USB на Атмеге16. Всё облазил, но проекты везде Сишные. плиз помогите.
где-то на сухой.ру был проект MJoy там был HID на асме с коментами, покопайся - найдешь.

зы: вот нашел у себя в "недрах" :)), проект на меге8, но думаю не проблема адаптировать под м16.
А у вас случайно нет схемки этого самого MJoy посмотреть как там подключено
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

eskeip писал(а):
GP1 писал(а): где-то на сухой.ру был проект MJoy там был HID на асме с коментами, покопайся - найдешь.

зы: вот нашел у себя в "недрах" :)), проект на меге8, но думаю не проблема адаптировать под м16.
А у вас случайно нет схемки этого самого MJoy посмотреть как там подключено
это был поиск года 2-а назад, когда джой накрылся, сначала нашел MJoy, потом решил делать MJoy16 (на меге16) там осей/кнопочек/тумблеров по-больше, так что "гугль в помощь".
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 319
Зарегистрирован: Чт окт 14, 2010 15:03:45

Сообщение eskeip »

сенкза помощь уже всё нашёл
Ответить

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