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

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

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

Сообщение GP1 »

IM1 писал(а):... а тут ВЫ :shock: ...

Да тут, похоже, только я и раздаю нравоучения :))).
Модераторы! Требую звания "Заслуженный зануда ASM'а" :)))
Я лично привык расписывать каждый "пук", в противном случае через месяц (два-три) вспомнить, что я делал, хотел и почему именно так: практически невозможно :dont_know: .

Стараюсь делать так же...
Как-то так вот! Нет, точно не слежу за Вами.

Я вовсе не обижаюсь, всегда открыт для критики, если она конструктивная. :beer:
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
day0l
Открыл глаза
Сообщения: 44
Зарегистрирован: Пт май 14, 2010 15:48:35

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

Сообщение day0l »

IM1 писал(а): Я лично привык расписывать каждый "пук"

а вы немогли бы показать кусочки этих пуков????

Modest писал(а):а почему на асме, почему бы не попробовать на С.

ну тут какое-то личное предпочтение, хотя это дело времени, потренируюсь на асме перееду на Си....


2GP1 читаю динамическую индикацию....
Аватара пользователя
IM1
Грызет канифоль
Сообщения: 268
Зарегистрирован: Вт фев 16, 2010 12:10:38
Откуда: Воронеж, Россия

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

Сообщение IM1 »

day0l писал(а):а вы немогли бы показать кусочки этих пуков????
Да, не вопрос. Вот, к примеру, термометр на ds18b20 и индикаторе от ККМ,
ter1.asm
(13.63 КБ) 376 скачиваний
я уже писал об этом индикаторе: см. стр. viewtopic.php?f=3&t=1179&start=800. Честно говоря, это моя первая конструкция на AVR (до этого пользовал исключительно MCS51) сделанная в целях познания самого AVR и может показаться искушенному программисту сыроватой, но что есть, то есть. Остальные конструкции, к сожалению, показать не могу. Да они и проще и не интересны широкой публике: очень узкоспециализированные, достаточно простые системы работающие в реальном масштабе времени и преобразующие некоторые входные импульсы в нужные выходные.
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

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

Сообщение Jack_A »

IM1 писал(а):Вот, к примеру, термометр на ds18b20 и индикаторе от ККМ


Посмотрел. Нормальный коммент. Но тут важно не переборщить .
Видел я :
LDI R16,0 ; Эдесь мы обнуляем регистр 16

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

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

Сообщение GP1 »

IM1 писал(а):... Вот, к примеру, термометр на ds18b20 и индикаторе от ККМ,...

Какой шикарный материал для критики :)))
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

Можно ли как-то помимо связки команд LDI и OUT менять значения бит старших РВВ, для которых не применимы команды CBI и SBI?
В частности, разрешать и запрещать внешние прерывания у 8-ой Меги (РВВ по адресу 0х3В).
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
IM1
Грызет канифоль
Сообщения: 268
Зарегистрирован: Вт фев 16, 2010 12:10:38
Откуда: Воронеж, Россия

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

Сообщение IM1 »

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

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

Сообщение GP1 »

IM1
Я не кровожаден :beer:
но программную задержку делаю по-другому, скажу честно не моя придумка - содрал у Ю.Ревича :)))

Gudd-Head
так ведь и OUT там не прокатит, только STS.
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
IM1
Грызет канифоль
Сообщения: 268
Зарегистрирован: Вт фев 16, 2010 12:10:38
Откуда: Воронеж, Россия

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

Сообщение IM1 »

GP1 писал(а):Я не кровожаден :beer:
но программную задержку делаю по-другому, скажу честно не моя придумка - содрал у Ю.Ревича :)))

Тогда мир :beer: .
Не помню как я ее делал, сейчас просто совсем не до "программной задержки", надо железо ставить на объект. А если по теме, что не так? В листинге есть немного кусков не моих программ, в том числе и задержки, которые не используются. Мои только микросекундные. Если хотите, могу выложить полный проект на AVR Studio 4, но это только вечером из дома.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

GP1 писал(а):Gudd-Head
так ведь и OUT там не прокатит, только STS.

Как OUT не прокатит??? :shock: (прокатывает)
А STS — это вообще запись РОН в память данных!!!
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

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

Сообщение GP1 »

Вот, блин, опять ступил :shock: (со мной частенько бывает)
действительно:
sbi/cbi - до 0х31
in/out - до 0х63
а вот все что свыше :))) - sts/lds, в том числе и ОЗУ

да и все равно простая связка ldi-out при изменении 1 бита не поможет
если интересно я делаю так:

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

;установка бита
     in(lds) <порт>,tmp
     ori   tmp,0bxxxxxxxx  ; нужные биты в 1 остальное - 0
     out(sts) <порт>,tmp
; для сброса бита тоже самое только нужный бит в 0 и меняем ori на andi
Последний раз редактировалось GP1 Чт июн 03, 2010 12:33:15, всего редактировалось 1 раз.
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

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

Сообщение GP1 »

IM1 писал(а):Если хотите, могу выложить полный проект на AVR Studio 4, но это только вечером из дома.

О'K, будем посмотреть, как говорится, в спорах рождается истина (если конечно это не тупой мордобой :))) )
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
IM1
Грызет канифоль
Сообщения: 268
Зарегистрирован: Вт фев 16, 2010 12:10:38
Откуда: Воронеж, Россия

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

Сообщение IM1 »

GP1 писал(а):;установка бита
in(lds) <порт>,tmp
Осмелюсь спросить, может быть все-таки:
in(lds) tmp,<порт> ?
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

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

Сообщение GP1 »

:)))
само-собой!
я же написал - "частенько глючу" :)))
так что "доверяй, но проверяй"
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

GP1 писал(а):да и все равно простая связка ldi-out при изменении 1 бита не поможет

Да я понимаю, что когда только LDI и OUT, получается присвоение, а не изменения одного бита. Понятно, придётся геморроиться.
В любом случае, спасибо :)
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
IM1
Грызет канифоль
Сообщения: 268
Зарегистрирован: Вт фев 16, 2010 12:10:38
Откуда: Воронеж, Россия

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

Сообщение IM1 »

Gudd-Head писал(а):Да я понимаю, что когда только LDI и OUT, получается присвоение, а не изменения одного бита. Понятно, придётся геморроиться.
Не переживайте, уж такая вот на AVR тупая система команд и ее придется принять, какая есть. Я тоже "дурел", когда переходил от MCS-51 к AVR, там это делается легко и элегатно: clr ex0, что означает запретить внешнее прерывание int0. Вот что значит шикарный битовый процессор :) !
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

IM1 писал(а):уж такая вот на AVR тупая система команд

Не то, что тупая система команд... просто всё делается через РОН и нельзя напрямую плясать от порта, например (вроде в ПИКах можно, но я не уверен).
А между тем я подумал нафига запрещать одно прерывание, когда можно сделать общее запрещение/разрешение прерываний CLI/SEI. Слава кошачим яйцам, на это есть отдельная команда :))
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

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

Сообщение GP1 »

зато у м51 регистры по банкам разложены, и все через ж.., пардон, аккумулятор делается.
у каждого мк свои плюсы и минусы.
по битовым операциям - вопросов нет, 51-е рулят.
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
IM1
Грызет канифоль
Сообщения: 268
Зарегистрирован: Вт фев 16, 2010 12:10:38
Откуда: Воронеж, Россия

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

Сообщение IM1 »

GP1 писал(а):
IM1 писал(а):Если хотите, могу выложить полный проект на AVR Studio 4, но это только вечером из дома.

О'K, будем посмотреть, как говорится, в спорах рождается истина (если конечно это не тупой мордобой :))) )
Вот и полный проект:
term1.zip
(13.16 КБ) 220 скачиваний
Что-то мне подсказывает, что кроме Вас, ув. GP1 вряд ли это кого-нибудь заинтересует :( .
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

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

Сообщение GP1 »

Ну, наконец-то :)))
Вы поняли что здесь занудствую только я :sleep:
Чем дальше, тем больше становлюсь занудой...
Изображение
Ответить

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