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

 
 
 
Reply to this topicStart new topic
> исспользование бита Т в ИАР, спортивній интерес
sKWO
сообщение Sep 29 2010, 05:16
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530



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

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

Заранее спасибо


--------------------
нельзя недооценивать предсказуемость глупости
Go to the top of the page
 
+Quote Post
halfdoom
сообщение Sep 29 2010, 07:42
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 003
Регистрация: 20-01-05
Пользователь №: 2 072



Врядли оно вам надо, т.к. ИАР использует бит Т в некоторых конструкциях.
Go to the top of the page
 
+Quote Post
_Bill
сообщение Sep 29 2010, 07:43
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Ну так IAR его использует. Или нет?

Сообщение отредактировал IgorKossak - Sep 29 2010, 08:02
Причина редактирования: Бездумное цитирование
Go to the top of the page
 
+Quote Post
=GM=
сообщение Sep 29 2010, 12:42
Сообщение #4


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(sKWO @ Sep 29 2010, 04:16) *
Подскажите пожалуйста как заставить ИАР из сишного кода сгенерить что-то подобное такому ассемблерному коду:
set;
bld gFlags, 1msFl; установить флаг 1 мс
...
clt;
bld gFlags, 10msFl; сбросить флаг 10 мс

А если вот так
TWBR |=(1<<msf1); //установить бит msf1
TWBR &=~(1<<msf1); //сбросить бит msf1


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
sKWO
сообщение Sep 30 2010, 05:49
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530



Цитата(_Bill @ Sep 29 2010, 10:43) *
Ну так IAR его использует. Или нет?

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

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

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


--------------------
нельзя недооценивать предсказуемость глупости
Go to the top of the page
 
+Quote Post
alexeyv
сообщение Sep 30 2010, 07:30
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 298
Регистрация: 26-01-09
Из: Пермь
Пользователь №: 43 940



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


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

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

Можно еще написать asm-inline функцию
Go to the top of the page
 
+Quote Post
sKWO
сообщение Sep 30 2010, 09:49
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530



Цитата(alexeyv @ Sep 30 2010, 10:30) *
А так для Вас будет одна команда/оператор ?

Как вариант - да.


--------------------
нельзя недооценивать предсказуемость глупости
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Sep 30 2010, 13:14
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



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

Наблюдал место где IAR использует бит T.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 07:22
Рейтинг@Mail.ru


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