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

 
 
> Реализация битовых сдвигов в IAR C
Duvanoff
сообщение Apr 15 2006, 08:51
Сообщение #1





Группа: Validating
Сообщений: 2
Регистрация: 15-04-06
Пользователь №: 16 139



Добрый день.
Не могли бы растолковать как ИАР реализовывает битовые сдвиги. Интересует прежде всего аналоги команд ROL / ROR, т.е. не понятно как быть с битом "С" ? В "больших" Сях (например от микрософт) какой сдвиг реализовать компилятор выбирает из типа аргумента (unsigned/signed). А как здесь быть? Как написано в документации на 4.10 - <</>> делают только логический сдвиг (LSL/LSR). Как быть если нужен "зацикленный" сдвиг? Или может чего то я путаю?
Заранее спасибо за разъяснения.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rst7
сообщение Apr 17 2006, 05:18
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Ну вообщем, я набирался наглости на следующие вещи:

Код
#define _CARRY SREG_Bit0

void subrxcrc(unsigned int i)
{
i=rxcrc-i;
if (_CARRY) i--;
rxcrc=i;
}


Можно и со сдвигами...


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 15:16
Рейтинг@Mail.ru


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