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

 
 
> Флаги в регистрах (установка-сброс)
C.S.
сообщение Aug 14 2009, 19:25
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 6-05-09
Из: Москва
Пользователь №: 48 733



Подскажите идиоту пожалуйста, под ночь туплю. Как бы красивее ставить-скидывать всякие флаги в регистрах? Я пишу в лоб:
Код
IN        ACC, MCUCR
;Скинем два младших бита
ANDI    ACC, 0b11111100
;Ставим нужные флаги
ORI        ACC, 0b00000010    ;по спаду!
OUT        MCUCR, ACC

Здесь ACC - определение для регистра (типа аккумулятор). Я знаю, можно заранее записать в регистр общий байт - сразу все флаги. А как быть, если их надо по одному во время работы программы скидывать-ставить?
Научите, как делать грамотно и аккуратно (чтобы хороший стиль написания был)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
adc
сообщение Aug 14 2009, 20:18
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836



Цитата(C.S. @ Aug 14 2009, 23:25) *
пишу в лоб:
Код
IN        ACC, MCUCR
;Скинем два младших бита
ANDI    ACC, 0b11111100
;Ставим нужные флаги
ORI        ACC, 0b00000010;по спаду!
OUT        MCUCR, ACC

Можно так:
Код
IN ACC, MCUCR
cbr ACC,(1<<0)|(1<<1)
OUT MCUCR, ACC

или так:
Код
IN ACC, MCUCR
sbr ACC,(1<<0)|(1<<1)
OUT MCUCR, ACC
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th August 2025 - 18:45
Рейтинг@Mail.ru


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