Например TDA7294

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

Текущее время: Пн июл 28, 2025 02:05:13

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


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



Начать новую тему Ответить на тему  [ Сообщений: 7956 ]     ... , , , 391, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вс дек 08, 2024 10:48:26 
Мучитель микросхем
Аватар пользователя

Карма: 1
Рейтинг сообщений: 38
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 473
Рейтинг сообщения: 0
Adrift писал(а):
а gvar2 - в RAM.
небольшое уточнение )

"подразумевает изначальное хранение во FLASH, и последующее копирование в SRAM после сброса RESET" (c)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вс дек 08, 2024 10:55:35 
Мучитель микросхем

Зарегистрирован: Вт окт 01, 2024 15:22:33
Сообщений: 428
Рейтинг сообщения: 0
небольшое уточнение )

"подразумевает изначальное хранение во FLASH, и последующее копирование в SRAM после сброса RESET" (c)

Нет, начальное значение gvar2 не может храниться во флеше, т.к. оно вычисляется в рантайме. Точнее оно там не обязательно будет. Если окажется, что результат calcVar() из другого модуля таки константа, тогда да, но в моем примере calcVar() читает значение с порта )


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

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15108
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Интересно...
Тема вроде про ассемблер, а под насыпали разборок с Си...
8)


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

Карма: 10
Рейтинг сообщений: 155
Зарегистрирован: Ср июн 29, 2022 16:25:45
Сообщений: 469
Рейтинг сообщения: 2
BOB51, Да я попыталась вернуть тему от алгоритмов дребезга к асму, так тут же набежали умничать, данные в коде - это код или данные)))))

_________________
Белая и Пушистая


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

Карма: 4
Рейтинг сообщений: 96
Зарегистрирован: Вс окт 25, 2020 22:13:25
Сообщений: 308
Откуда: Смоленск
Рейтинг сообщения: 0
Вот-вот, и я предлагаю вернуться к asm
Что там получается с определением одного единичного бита? У меня вроде 6 слов (12 байт)


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

Карма: 10
Рейтинг сообщений: 155
Зарегистрирован: Ср июн 29, 2022 16:25:45
Сообщений: 469
Рейтинг сообщения: 0
ДядяВован, код в студию. (А то там любитель современного ассемблера в 5 слов уложился вроде)

_________________
Белая и Пушистая


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вс дек 08, 2024 13:13:27 
Мучитель микросхем

Зарегистрирован: Вт окт 01, 2024 15:22:33
Сообщений: 428
Рейтинг сообщения: 0
А то там любитель современного ассемблера в 5 слов уложился вроде

Так уложился или вроде уложился? )

Добавлено after 10 minutes 36 seconds:
У меня вроде 6 слов (12 байт)

У меня тоже, можно чуть модифицировать чтоб не 1 возвращало, а было две ветки, но там линейный код находящий единичный бит за 6 тактов, а у вас цикл, так что нужно или хотя бы тоже 6 тактов, или 5 слов )


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

Карма: 4
Рейтинг сообщений: 96
Зарегистрирован: Вс окт 25, 2020 22:13:25
Сообщений: 308
Откуда: Смоленск
Рейтинг сообщения: 0
ДядяВован, код в студию

Так на предыдущей странице выкладывал

Добавлено after 52 minutes 41 second:
Adrift писал(а):
линейный код находящий единичный бит за 6 тактов

Код:
      cpi r0,2
      brlo end
      mov r1,r0
      dec r1
      and r0,r1
      inc r0

Об этом коде речь?
ИМХО не всё так однозначно. Нет возможности сравнить r0 с двоечкой.
Предлагаю его немного изменить.
Код:
ldi r16, 1
cp r0,r16
breq метка_имеем_единичный_бит=1
; здесь бит0 не равен "1"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вс дек 08, 2024 14:26:50 
Мучитель микросхем

Зарегистрирован: Вт окт 01, 2024 15:22:33
Сообщений: 428
Рейтинг сообщения: 2
ИМХО не всё так однозначно. Нет возможности сравнить r0 с двоечкой.

Я на AVR ассме писал много лет назад и сейчас у меня нет AVR, потому код проверил shonty и он, видимо, просто подставил другой регистр, ведь никто не регламентировал использование именно r0. А когда я говорил про две ветки, то подразумевал следующее, тут уже и r0 можно использовать:
Код:
      tst r0
      breq notSingleBit
      mov r1,r0
      dec r1
      and r0,r1
      brne notSingleBit
singleBit:


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

Карма: 1
Рейтинг сообщений: 38
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 473
Рейтинг сообщения: 0
Adrift писал(а):
потому код проверил shonty и он, видимо, просто подставил другой регистр,
да, R18 подставлял.. но не стал вдаваться в подробности)

Но если писать коды, то, думаю, что с R16 и выше нужно начинать. Всё что ниже R16 - там использование ограничено.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вс дек 08, 2024 16:59:40 
Мучитель микросхем

Зарегистрирован: Вт окт 01, 2024 15:22:33
Сообщений: 428
Рейтинг сообщения: 4
Новая версия:
Код:
      mov r16,r0
      subi r16,1
      brcs notSingleBit
      and r16,r0
      brne notSingleBit
singleBit:


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

Карма: 4
Рейтинг сообщений: 96
Зарегистрирован: Вс окт 25, 2020 22:13:25
Сообщений: 308
Откуда: Смоленск
Рейтинг сообщения: 0
ИМХО задача состоит в определении, что в байте есть единичный бит в каком-либо разряде. Как это сделать без цикла я не знаю, а в цикле решение уже приводил.


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

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15108
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Можно табличным способом.
Быстро и минимум команд, но таблица много места в ПЗУ займёт (256 байт или более, если команды возврата ставить) .
:roll:


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

Карма: 1
Рейтинг сообщений: 38
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 473
Рейтинг сообщения: 0
Так Adrift же сделал без цикла и без таблиц. Довольно таки оригинально.


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

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15108
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Единичный бит в любом месте.
Т. е.
Соответствие любой из восьми возможных масок:
00000001
00000010
00000100
00001000
00010000
00100000
01000000
10000000
Тут или массив или циклический сдвиг маски со счётчиком сдвигов. Флага паритета у АВРок ведь нету.
:roll:
А то, что выше у Вас даст лишь контроль чётности, но не учитывает, что битов в проверяемом байте может быть больше, чем один.
:wink:


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

Карма: 1
Рейтинг сообщений: 38
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 473
Рейтинг сообщения: 2
BOB51 писал(а):
А то, что выше у Вас даст лишь контроль чётности, но не учитывает, что битов в проверяемом байте может быть больше, чем один.
Не контроль чётности, а вполне рабочий код. Как раз определяет количество битов больше чем 1.
На практике так же провено.

Добавлено after 3 minutes 22 seconds:
BOB51, посмотрите внимательно, там еденица вычитается из младшего разряда, и инструкция and как раз и определяет, установлено ли больше битов, чем один.

Добавлено after 25 minutes 52 seconds:
Если на примере, то вот так:

0001_0000 - 0x1 = 0000_1111
0001_0000 && 0000_1111 = 0

0001_0100 - 0x1 = 0001_0011
0001_0100 && 0001_0011 = 0001_0000 (не равно 0)


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

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15108
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Верно...
Любой набор единиц старше младшего разряда даст "не равно нулю".
:)


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

Карма: 4
Рейтинг сообщений: 96
Зарегистрирован: Вс окт 25, 2020 22:13:25
Сообщений: 308
Откуда: Смоленск
Рейтинг сообщения: 0
shonty писал(а):
на примере, то вот так

Спасибо! Я "вкурил" наконец-то)))
Adrift безоговорочный победитель :beer:


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

Карма: 10
Рейтинг сообщений: 155
Зарегистрирован: Ср июн 29, 2022 16:25:45
Сообщений: 469
Рейтинг сообщения: 0
Adrift, победитель! :kiss:

_________________
Белая и Пушистая


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

Карма: 1
Рейтинг сообщений: 38
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 473
Рейтинг сообщения: 2
Ну вот) конкурс завершился :) теперь и про дребезг можно :))


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

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


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

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


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

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


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