Например TDA7294

Форум РадиоКот • Просмотр темы - Как сравнить два 16-разрядных числа?
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 12:09:19

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


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



Начать новую тему Ответить на тему  [ Сообщений: 38 ]    , 2
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Как сравнить два 16-разрядных числа?
СообщениеДобавлено: Вс ноя 18, 2018 18:10:01 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14062
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Ёжли алгоритм и ТОЛЬКО СРАВНЕНИЕ...
Есть регистр флагов с заранее записанным числом, равным количеству пар сравниваемых регистров.
Делаем любые возможные операции сравнения из имеющегося набора команд последовательно с каждой парой.
Если имело место совпадение - декремент регистра флагов, иначе пропуск декремента.
По исчерпании сравниваемого проверяем содержимое остатка в регистре.
Если там нуль - все байты совпали.
А для сверки можно и xor помучить, главное перенос в таком случае БЕЗРАЗЛИЧЕН.
:roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как сравнить два 16-разрядных числа?
СообщениеДобавлено: Вс ноя 18, 2018 18:13:08 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
P.S. Чего ты ко мне прицепился?

Интернет-общение обостряет восприятие текста диалогов. Психологическая особенность человека. Придавать эмоциональную окраску текстовым сообщениям. Так как мы не смотрим друг другу в глаза, и не знаем состояние оппонента, воображение дополняет сухой текст эмоциональным окрасом до максимума. То есть, так как нет точных данных, на всякий случай, текстовая информация считается угрозой. Это чистая физиология и психология, на уровне инстинктов.
Поэтому, я к тебе "не прицепился". Твой вопрос прост и примитивен. Достаточно открыть книгу. Что ты сделал, чтобы ответить на этот вопрос. Я отвечу за тебя. Ничего. Ты не захотел тратить никаких усилий и пошел на форум. А теперь я разворачиваю всю глубину того, что хотел сказать. Если ты не не приложил никаких усилий для ответа на этот вопрос, что ты будешь делать дальше, когда перед тобой встанет более сложный вопрос? Снова лапки кверху и на форум?
На форум нужно бежать, когда ты сделал все что только можно и оказался в тупике.
Моим критикам посвящается: форумы нужны. Но начинающие должны хоть что-то делать и сами. Читать книги, пробовать. РАБОТАТЬ. А не бежать при малейших трудностях на форумах. Контент форума должен быть качественным. Не примитивные вопросы, а интересные проблемы, проекты. И наполнение контента в наших руках. Иначе можно скатиться до уровня - а что делает та или иная команда?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как сравнить два 16-разрядных числа?
СообщениеДобавлено: Чт ноя 29, 2018 10:01:52 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2808
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18094
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
Z_h_e писал(а):
В ДШ не обозначено как устанавливается флаг Z командой сpc, а только сам факт что она влияет на Z, надо смотреть отдельный документ. Смысл в том, что если флаг Z был сброшен перед выполнением этой команды, то он останется сброшенным в любом случае.
в отдельном документе по командам AVR четко указано, как выставляется флаг Z: кроме 8 битов результата еще берется предыдущее значение флага Z.
то есть, предыдущее значение флага Z ВЛИЯЕТ на новое значение этого флага.

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Как сравнить два 16-разрядных числа?
СообщениеДобавлено: Чт ноя 29, 2018 13:39:51 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Starichok51 писал(а):
в отдельном документе по командам AVR четко указано, как выставляется флаг Z:
Именно это я и написал, не?
Starichok51 писал(а):
то есть, предыдущее значение флага Z ВЛИЯЕТ на новое значение этого флага.
Я бы по другому это сформулировал, тоже самое, но с более дружественной для понимания трактовкой. Такие команды умеют только сбрасывать флаг Z, но не устанавливать.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Как сравнить два 16-разрядных числа?
СообщениеДобавлено: Сб дек 22, 2018 17:23:39 
Модератор
Аватар пользователя

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

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Как сравнить два 16-разрядных числа?
СообщениеДобавлено: Сб дек 22, 2018 17:25:00 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Составьте таблицу истинности

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как сравнить два 16-разрядных числа?
СообщениеДобавлено: Сб дек 22, 2018 18:45:53 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2808
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18094
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
бит Z обрабатывается в команде CPC:
~R7*~R6*~R5*~R4*~R3*~R2*~R1*~R0*Z
где R - разряды регистра результата,
а ~ - означает инверсию.

в команде CP бит нуля не участвует.

Добавлено after 1 minute 44 seconds:
да, забыл указать - Z - предыдущее значения бита нуля.

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как сравнить два 16-разрядных числа?
СообщениеДобавлено: Сб дек 22, 2018 18:53:06 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Установить - это значит перевести из состояния 0 в 1.
В логическом выражении установки флага Z используется конъюнкция с текущим Z.
Если теущий Zтек=0. То чему будет равен Zнов=Zтек*(любое значение).

И по логике. Если бы команды типа CPC умели устанавливать флаг Z, как мог бы работать такой набор команд на проверку нуля?
Код:
CP
CPC
CPC
..
..
..
cpc
breq skokposkok

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как сравнить два 16-разрядных числа?
СообщениеДобавлено: Вс дек 23, 2018 07:30:34 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2808
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18094
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
а если Zтек = 1, то Zнов тоже будет = 1, если в регистре будет 0. то есть, флаг установится.
то есть, в командах условного перехода (например, больше или равно) при равенстве операндов флаг нуля будет УСТАНАВЛИВАТЬСЯ после каждого побайтного сравнения, то есть, получения нулевого результата...

Добавлено after 38 minutes 56 seconds:
Starichok51 писал(а):
если в регистре будет 0
тут и выше я ошибочку допустил.
нужно было написать в результате сравнения, а не в регистре.

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как сравнить два 16-разрядных числа?
СообщениеДобавлено: Вс дек 23, 2018 08:36:47 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Starichok51 писал(а):
а если Zтек = 1, то Zнов тоже будет = 1, если в регистре будет 0. то есть, флаг установится.
Флаг не установится, он не сбросится. В любой НТД (в частности в ДШ если угодно) установка флага означает перевод его в 1 из любого состояния (по буржуйски этот термин звучит как set).

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как сравнить два 16-разрядных числа?
СообщениеДобавлено: Вс дек 23, 2018 15:06:07 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2808
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18094
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
флаг СБРОСИТСЯ, если при последующих
срс ...
не будет получаться нуля при сравнении.

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как сравнить два 16-разрядных числа?
СообщениеДобавлено: Вс дек 23, 2018 15:09:52 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Я и говорю. Команда умеет только сбрасывать z. Но это по второму кругу уже.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как сравнить два 16-разрядных числа?
СообщениеДобавлено: Вс дек 23, 2018 18:27:01 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2808
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18094
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
возможно, я тебя тогда не понял, тогда извини.
да, команда
ср ...
установит флаг,
а команда
срс ...
либо не изменит, либо, сбросит.

скорее всего, получилось, что я "не изменит" ошибочно посчитал за "установит"...

Добавлено after 2 hours 58 minutes 58 seconds:
тут я еще немного подумал по этому вопросу...
однако, в соответствии с приведенной мною формулой
Starichok51 писал(а):
~R7*~R6*~R5*~R4*~R3*~R2*~R1*~R0*Z
с таким же успехом можно считать, что команда
срс ...
заново устанавливает флаг нуля в случае равенства операндов, если флаг уже был установлен.
или заново сбрасывает флаг нуля, если флаг был сброшен, независимо от результата сравнения.
это ничуть не противоречит логике приведенной формулы.

тут дело вкуса - каждый может трактовать работу команды, как ему нравится...
тебе нравится, что она умеет только сбрасывать, а мне нравится, что она умеет и устанавливать и сбрасывать...

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как сравнить два 16-разрядных числа?
СообщениеДобавлено: Пн дек 24, 2018 09:16:56 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Starichok51 писал(а):
тут дело вкуса - каждый может трактовать работу команды, как ему нравится...
тебе нравится, что она умеет только сбрасывать, а мне нравится, что она умеет и устанавливать и сбрасывать...
Мне нравится когда используют единую общепринятую терминологию, а не придумывают свою. В противном случае тебя никто понимать не будет.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как сравнить два 16-разрядных числа?
СообщениеДобавлено: Пн дек 24, 2018 16:11:45 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2808
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18094
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
тогда дай точное указание на единую общепринятую терминологию, где сказано, что эта команда НЕ УМЕЕТ устанавливать флаг нуля.
лично я по формуле истинности вижу, что она УМЕЕТ это делать.

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как сравнить два 16-разрядных числа?
СообщениеДобавлено: Пн дек 24, 2018 17:01:12 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Что такое
Starichok51 писал(а):
формуле истинности
я не знаю. Повторять уже сказанное смысла не вижу.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как сравнить два 16-разрядных числа?
СообщениеДобавлено: Пн дек 24, 2018 19:03:51 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2808
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18094
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
я приводил формулу
Starichok51 писал(а):
~R7*~R6*~R5*~R4*~R3*~R2*~R1*~R0*Z
так что, не надо дурака валять, что не знаешь, что это такое.

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как сравнить два 16-разрядных числа?
СообщениеДобавлено: Пн дек 24, 2018 19:06:46 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Это называется логическое выражение. Вы можете не только свою терминологию использовать, но и даже новый язык придумать со своим алфавитом, но понимать Вас никто не будет.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


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

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


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

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


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

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


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