Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: исспользование бита Т в ИАР
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
sKWO
Добрый, всем день.
Подскажите пожалуйста (в образовательных целях) как заставить ИАР из сишного кода сгенерить что-то подобное такому ассемблерному коду:
Код
;регистр ввода/вывода TWBR - TWI Bit Rate Register
.def  gFlags  = TWBR;
.equ 1msFl = 0;
.equ 10msFl = 1;

где-то в программе
Код
set;
bld gFlags, 1msFl; установить флаг 1 мс
...
clt;
bld gFlags, 10msFl; сбросить флаг 10 мс

Заранее спасибо
halfdoom
Врядли оно вам надо, т.к. ИАР использует бит Т в некоторых конструкциях.
_Bill
Ну так IAR его использует. Или нет?
=GM=
Цитата(sKWO @ Sep 29 2010, 04:16) *
Подскажите пожалуйста как заставить ИАР из сишного кода сгенерить что-то подобное такому ассемблерному коду:
set;
bld gFlags, 1msFl; установить флаг 1 мс
...
clt;
bld gFlags, 10msFl; сбросить флаг 10 мс

А если вот так
TWBR |=(1<<msf1); //установить бит msf1
TWBR &=~(1<<msf1); //сбросить бит msf1
sKWO
Цитата(_Bill @ Sep 29 2010, 10:43) *
Ну так IAR его использует. Или нет?

Смотрел в хелпе и ПДФ-ах - ничего не нашол.

Цитата(=GM= @ Sep 29 2010, 15:42) *
А если вот так

Хотелось бы одной и той же командой как устанавливать битик или сбрасывать, в зависимости от состояния бита Т.
alexeyv
Цитата
Хотелось бы одной и той же командой как устанавливать битик или сбрасывать, в зависимости от состояния бита Т.


TWBR = (gFlags & (1<<msf1)) ? (TWBR |(1<<msf1)) : (TWBR & (~(1<<msf1)));

А так для Вас будет одна команда/оператор ?

Можно еще написать asm-inline функцию
sKWO
Цитата(alexeyv @ Sep 30 2010, 10:30) *
А так для Вас будет одна команда/оператор ?

Как вариант - да.
SasaVitebsk
Цитата(sKWO @ Sep 30 2010, 08:49) *
Смотрел в хелпе и ПДФ-ах - ничего не нашол.

Наблюдал место где IAR использует бит T.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.