реклама на сайте
подробности

 
 
> Среднее значение 4х 8-битных регистров ?
GeorgyBey
сообщение Dec 18 2015, 11:55
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 21-12-04
Из: Киев
Пользователь №: 1 593



Приношу извинения если вопрос наивный, но для меня это хооби ...
8ми разрядный AVR, есть значения в 4х регистрах. Где их сложить, чтоб поделить на 4 и получить среднее значение.
В ассемблере.


--------------------
На "нет" и "нах" :)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kovigor
сообщение Dec 18 2015, 12:40
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(GeorgyBey @ Dec 18 2015, 14:55) *
Где их сложить, чтоб поделить на 4 и получить среднее значение.

Сложить с помощью команд ADD и ADC и поместить результат в любые два регистра (конечно, не в те регистры, содержимое которых вы складываете). А потом поделить результат на 4, сдвинув его на два разряда вправо. Или я вопроса не понял ?

Вот пример из Атмеловской документации:

Код
; Example: Add R1:R0 to R3:R2
add r2,r0; Add low byte
adc r3,r1; Add with carry high byte
Go to the top of the page
 
+Quote Post
GeorgyBey
сообщение Dec 18 2015, 13:45
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 21-12-04
Из: Киев
Пользователь №: 1 593



Спасибо! Т.е. никаких понятий "слово", как связанных двух регистрах, просто имеем "в уме" что сумма хранится в двух не связанных, независимых регистрах? Ну или СМЕЖНЫХ регистрах? А если слагаемое является однобайтным, то к нему искусственно цепляем нулевой старший байт.. так?

Сообщение отредактировал IgorKossak - Dec 18 2015, 19:59
Причина редактирования: бездумное цитирование


--------------------
На "нет" и "нах" :)
Go to the top of the page
 
+Quote Post
Александр1
сообщение Dec 18 2015, 14:07
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 465
Регистрация: 13-05-15
Из: Запорожье
Пользователь №: 86 663



Цитата(GeorgyBey @ Dec 18 2015, 16:45) *
...что сумма хранится в двух не связанных, независимых регистрах? Ну или СМЕЖНЫХ регистрах?

А если слагаемое является однобайтным, то к нему искусственно цепляем нулевой старший байт.. так?

Да
Да
При делении на 2 использовать команды ROR и LSR. С первой командой старшие байты, со второй - младшие. И так 2 раза (для деления на 4).
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 05:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01387 секунд с 7
ELECTRONIX ©2004-2016