Например TDA7294

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

Текущее время: Вс дек 21, 2025 13:13:02

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


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



Начать новую тему Ответить на тему  [ Сообщений: 7956 ]     ... , , , 88, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Сб май 07, 2011 21:04:52 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Вт янв 26, 2010 21:49:41
Сообщений: 190
Откуда: モスクワ
Рейтинг сообщения: 0
Serhio, такой команды в AVRASM вообще нет. Скорее всего, sbi 0x27, 3. Очевидно адресация прямая.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Сб май 07, 2011 23:59:31 
Опытный кот

Карма: 12
Рейтинг сообщений: 26
Зарегистрирован: Вс апр 10, 2011 02:24:06
Сообщений: 772
Откуда: г.Северодонецк
Рейтинг сообщения: 0
Serhio писал(а):
Подскажите пожалуйста: SETB P1.3; (P1)=27H; (PC)=127H
Команда производит запись 1 в бит. Какая используется адресация для операнда-источника и операнда-приемника? и что чему будет равно?

Непосредственная(прямая). Это команда для 51 семейства.

_________________
C0FFEE=‭12648430‬


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

Карма: 13
Рейтинг сообщений: 24
Зарегистрирован: Сб ноя 15, 2008 10:09:56
Сообщений: 2029
Откуда: г. Тула
Рейтинг сообщения: 0
Вот столкнулся с одной проблемой.
Есть код для управления дисплеем, но суть не в этом. В этом коде я использую C-шные команды препроцессора для определения всяких параметров. И вот проблема.
Например есть объявление:
#define size_x 12

Задача: Записать это число в символьном виде в flash, т. е. после развёртывания в коде должна получиться такая конструкция:
.db "12",0

Как сделать?
.db "size_x",0 не катит.

Была идея создать макрос вида
#define _s(a) #a
а затем
.db _s(size_x),0
но не тут-то было - макрос _s() не обрабатывает препроцессором параметр a перед закавычинием, т.е. в результате после развёртывания получается вс ё тот же
.db "size_x",0

_________________
Изображение
/dev/urandom - гигабайты информации.

OS: openSUSE 13.2 (x86_64)


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

Карма: 3
Рейтинг сообщений: 43
Зарегистрирован: Вт апр 12, 2011 18:38:19
Сообщений: 838
Откуда: с Земли
Рейтинг сообщения: 0
IfoR писал(а):
#define size_x 12

Задача: Записать это число в символьном виде в flash, т. е. после развёртывания в коде должна получиться такая конструкция:
.db "12",0

Как сделать?

Например, так

.db size_x/10+0x30, size_x%10+0x30, 0

Ку? :))

_________________
Все будет только лучше, в крайнем случае - хуже.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт май 12, 2011 01:26:41 
Опытный кот
Аватар пользователя

Карма: 7
Рейтинг сообщений: 52
Зарегистрирован: Чт дек 31, 2009 19:27:45
Сообщений: 842
Откуда: Бровари, Україна
Рейтинг сообщения: 0
Это постоянно то там, то сям пробегает. Нужна двойная проброска.
Код:
#define size_x 12

#define __s(a) #a
#define _s(a) __s(a)

  .db _s(size_x),0

В результате первого разворачивания из _s(size_x) будет получено __s(12), а уже оно даст нужную строку.

_________________
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.


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

Карма: 13
Рейтинг сообщений: 24
Зарегистрирован: Сб ноя 15, 2008 10:09:56
Сообщений: 2029
Откуда: г. Тула
Рейтинг сообщения: 0
coredumped, ну, ф-фпринципе то можно с учётом текущих обстоятельств...
avreal, спасибо! Не догадался.

_________________
Изображение
/dev/urandom - гигабайты информации.

OS: openSUSE 13.2 (x86_64)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт май 12, 2011 14:00:11 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 13
Рейтинг сообщений: 24
Зарегистрирован: Сб ноя 15, 2008 10:09:56
Сообщений: 2029
Откуда: г. Тула
Рейтинг сообщения: 0
Ньда, только сейчас проверил: двойная проброска не помогает. Получается тоже самое. :(

В общем пока сделал как coredumped сказал с дополнительными костылями.

_________________
Изображение
/dev/urandom - гигабайты информации.

OS: openSUSE 13.2 (x86_64)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт май 12, 2011 15:38:09 
Опытный кот
Аватар пользователя

Карма: 7
Рейтинг сообщений: 52
Зарегистрирован: Чт дек 31, 2009 19:27:45
Сообщений: 842
Откуда: Бровари, Україна
Рейтинг сообщения: 0
Ну что тут сказать... Значит, в используемом Вами ассемблере С-шный препроцессор поддержан формально. Как бы и обрабатывает макросы, но по упрощённой технологии.
Код:
#define STR_(a) #a
#define STR(a) STR_(a)

#define size_x 12

        .text
        .asciz STR(size_x)
        .asciz STR_(size_x)

        .end
avr-gcc -Wa,-alm=tst.lst -c tst.S
cat tst.lst
Код:
GAS LISTING /tmp/ccaOIlQd.s          page 1


   1                  # 1 "tst.S"
   1                  
   0                  
   0                  
   2                  #define STR_(a) #a
   3                  #define STR(a) STR_(a)
   4                  
   5                  #define size_x 12
   6                  
   7                     .text
   8 0000 3132 00         .asciz STR(size_x)
   9 0003 7369 7A65       .asciz STR_(size_x)
   9      5F78 00
  10                  
  11                     .end

_________________
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт май 20, 2011 00:41:00 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пн фев 07, 2011 00:42:25
Сообщений: 48
Откуда: Из затерянного мира.
Рейтинг сообщения: 0
Есть вопрос.
Имеем число в одном регистре.
Как можно на ассемблере разделить единицы, десятки и сотни этого числа по трём разным регистрам? МК - MEGA8.
Число целое, со знаком (signed).


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

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Делить на 10, остатки забирать. Следующий вопрос будет - где взять деление. А нигде, написать :) И воспользоваться поиском по форуму, неоднократно обсуждалось (емнип, даже в этой теме)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт май 20, 2011 11:14:18 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1066
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 19990
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Switch писал(а):
Имеем число в одном регистре.
Как можно на ассемблере разделить единицы, десятки и сотни этого числа по трём разным регистрам? МК - MEGA8.
Число целое, со знаком (signed).

Искать апнот про BCD арифметику. Но там вроде без знака.
ploop писал(а):
Делить на 10, остатки забирать. Следующий вопрос будет - где взять деление. А нигде, написать :)

Вычитать сначала сотни, потом десятки, потом единицы, включив при этом три счётчика :)

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт май 20, 2011 11:55:54 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Цитата:
Вычитать сначала сотни, потом десятки, потом единицы, включив при этом три счётчика

Ну да. Когда сам столкнулся с этой проблемой, искать не стал, просто взял и написал :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт май 20, 2011 12:14:43 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 889
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 6202
Откуда: Minsk
Рейтинг сообщения: 0
ploop писал(а):
Цитата:
Вычитать сначала сотни, потом десятки, потом единицы, включив при этом три счётчика

Ну да. Когда сам столкнулся с этой проблемой, искать не стал, просто взял и написал :)

Советы все хорошие, но не совсем по делу.
Во-первых, у человека signed. Значит первым делом надо расщепить на знак и абс. величину. И знак где-то хранить.
Во-вторых : Gudd-Head, зачем три счетчика ? Когда вычли сотни и десятки, остаток уже содержит единицы.
Если бы я был преподом, у меня ответивший по билету для получения "отл." прямо за столом должен был бы написать эту подпрограммку секунд за 40. Хорошо, что я не препод :) Да и билетов сейчас, наверное, нет - рефераты, тестирование... Дебилизм.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт май 20, 2011 12:29:17 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1066
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 19990
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Jack_A писал(а):
Во-вторых : Gudd-Head, зачем три счетчика ? Когда вычли сотни и десятки, остаток уже содержит единицы.
... должен был бы написать эту подпрограммку секунд за 40.

Дык, я тоже ответ писал секунд 40, потому и не стал особо мозги напрягать :)

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


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

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Цитата:
Если бы я был преподом, у меня ответивший по билету для получения "отл." прямо за столом должен был бы написать эту подпрограммку секунд за 40.

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


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

Зарегистрирован: Пн фев 07, 2011 00:42:25
Сообщений: 48
Откуда: Из затерянного мира.
Рейтинг сообщения: 0
Мдаа.... Холивар устроили, но не помогли. :)))
На счёт деления - спрашивать не буду, так как гугл знает ответ на этот вопрос а вот запрос на разложение числа он не понимает.
Вообще, у меня этот вопрос возник при написании программы для термодатчика DS18B20
Вообще мне надо всего 2 числа достать из двух регистров (t LSB и t MSB) и оформить их так, чтобы можно было направить их в дешифраторы 4>10. А знак нужно отобразить отдельно. Десятые и сотые доли мне ненужны. Датчик настроен на минимальную точность.
Обмен 1Wire организовал, а вот это - даже в голову не приходит ничего.

ЗЫ:
И причём тут преподы? Я самоучка по электронике и МК и делаю для себя. :)
Никаких дипломных работ. :)


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

Карма: 67
Рейтинг сообщений: 1066
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 19990
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Switch писал(а):
Вообще, у меня этот вопрос возник при написании программы для термодатчика DS18B20.

Ё-моё, так бы сразу и сказали. А то "число со знаком"...
Берёте 7 бит с датчика (2^6 ... 2^0), включаете счётчкик и начинаете вычитать по 10. Как только результат станет отрицательным, прибавляете 10. В счётчике получаете десятки, в результате - единицы.
Switch писал(а):
Мдаа.... Холивар устроили, но не помогли.

См. вложение, если настолько тяжело усваивается информация.


Вложения:
BCD Conversion.asm [12.29 KiB]
Скачиваний: 204

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт май 20, 2011 15:16:11 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пн фев 07, 2011 00:42:25
Сообщений: 48
Откуда: Из затерянного мира.
Рейтинг сообщения: 0
Спасибо. :beer: Отпишусь, что понял из этого.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт май 20, 2011 15:16:31 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 238
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3868
Откуда: Москва
Рейтинг сообщения: 0
Нашел еще тему, правда без знака, да и опоздал немного :oops:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт май 20, 2011 16:01:45 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пн фев 07, 2011 00:42:25
Сообщений: 48
Откуда: Из затерянного мира.
Рейтинг сообщения: 0
Вдогонку помогла мне ещё и статья ARV. Теперь понятнее стало. Попробую доделать свою программу. Если будут конкретные вопросы, обращусь.


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 24


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

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


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