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

 
 
> Непонятки с компилятором
alw39
сообщение Nov 9 2007, 12:53
Сообщение #1





Группа: Участник
Сообщений: 10
Регистрация: 9-11-07
Пользователь №: 32 189



Доброго всем дня
пытаюсь проанализировать разряды buf
byte buf[1]=0x84;
if ( buf[0] &0x80==0x80).... (128) bit.b #0x1,&buf
if ( buf[0] &0x40==0x40).... (0) bit.b #0x1,&buf
.....
выражения расчитываются правильно -128 и 0 но условия не выполняются
в ассемблерном коде вместо 128 и 64 #0x1 откуда он это берет?
Оптимизация отключена. Девайс на msp430
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rst7
сообщение Nov 9 2007, 13:01
Сообщение #2


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

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



Цитата(alw39 @ Nov 9 2007, 14:53) *
в ассемблерном коде вместо 128 и 64 #0x1 откуда он это берет?


Сделайте так - if ( (buf[0] &0x80)==0x80)

а 1 - это 0x80==0x80 wink.gif


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



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

 


RSS Текстовая версия Сейчас: 27th July 2025 - 23:37
Рейтинг@Mail.ru


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