Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
avr.asm. двинуть вправо можно без "через С" ?
Отправлено
nestandart
30 апреля 2007 г. 15:16
а то извращение какое то получается ...
push temp1
mov temp1,temp0
ror temp1
ror temp0 ; shift bits right!
pop temp1
Составить ответ
|
Вернуться на конференцию
Ответы
я бы сделал так
—
zxcvbn
(30.04.2007 16:01:38
195.208.248.202
, 62 байт)
Это с какого перепугу AND(i) станет трогать Carry? Мало того, твой код портит даже не один, а два младших бита (после lsr). Низачот
—
=AVR=
(30.04.2007 17:28:3
80.92.96.19
,
пустое
)
Тьфу, пардон - попутал жолтое с мягьким, и аж дважды :)) Ты Carry спасаешь, а ему 8-бит ROx нужен вместо 9-бит - чтобы в крайний бит вдвигался не Carry, а свой же бит с другого края - как RR/RL в х51
—
=AVR=
(30.04.2007 17:35:56
80.92.96.19
,
пустое
)
чёт непонял.....какя кончная цель? +
—
Aleksey75
(30.04.2007 15:19:57
212.44.92.22
, 37 байт)
сдвинуть вправо. минуя С флаг. LSL тож в С кладёт.
—
nestandart
(30.04.2007 15:29:59
87.180.38.167
,
пустое
)
но оттуда-то в регистр не задвигает....
—
pau62
(30.04.2007 15:44:41
212.26.247.195
,
пустое
)
Нет, все сдвиги в АВР делаются только с участием С
—
=AVR=
(30.04.2007 15:35:41
80.92.96.19
,
пустое
)
ну если скорость не важана , то вариант через Т, только имхо это изврат.... если нужен С проще его куданибудь сохранить, а потом вернуть..
—
Aleksey75
(30.04.2007 15:35:1
212.44.92.22
,
пустое
)
Ему не С нужен, а циклически сдвинутые 8 (а не 9, как в rol) бит
—
=AVR=
(30.04.2007 15:53:12
80.92.96.19
,
пустое
)
ну или как то покороче чем наверху.
—
nestandart
(30.04.2007 15:34:47
87.180.38.167
,
пустое
)
Правильно Алексей сказал - через Т, и вполне компактно - bst temp,7/rol(lsl) temp/bld temp,0
—
=AVR=
(30.04.2007 15:50:7
80.92.96.19
,
пустое
)
bst temp0,0/ror temp0/bld temp0,7 - нравится. красиво. спасибо
—
nestandart
(30.04.2007 15:57:17
87.180.38.167
,
пустое
)
Ну да, вправо так
—
=AVR=
(30.04.2007 17:28:54
80.92.96.19
,
пустое
)
100 пудово что есть другой путь, если знать "корень" нужды...
—
Aleksey75
(30.04.2007 17:50:55
212.44.92.22
,
пустое
)
Да полно их - например, add temp,temp вместо lsl(rol) temp
—
=AVR=
(30.04.2007 17:58:49
80.92.96.19
,
пустое
)
:) У меня первоночальный код с 1к , после "редакции" упал на 300б , ASM рулит.........Ц нервно курит бамбук и пасётся в дюралевой роще......
—
Aleksey75
(30.04.2007 18:08:16
212.44.92.22
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 97:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru