Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 28.03.2010, 18:18   #1
pan193
Junior Member
 
Регистрация: 28.03.2010
Сообщений: 2
Вес репутации: 100/0
pan193 will become famous soon enoughpan193 will become famous soon enough
Question hi-teh c компилятор генерирует много лишнего ассемблера для проверки 1го бита ( if vs btss )

Приветствую.

Есть операция анализа бита:
LISTING:
329: if (psb_SB15.on_sb5) cnt_REV++; // отжата

0F95E 208806 mov.w #0x880,0x000c
0F960 780316 mov.w [0x000c],0x000c
0F962 2000D7 mov.w #0xd,0x000e
0F964 DE3307 lsr 0x000c,0x000e,0x000c
0F966 200017 mov.w #0x1,0x000e
0F968 630307 and.w 0x000c,0x000e,0x000c
0F96A E00006 cp0.w 0x000c
0F96C 320001 bra z, 0x00f970
0F96E EC68A0 inc.b 0x08a0


Можно ли компилятор "заставить" использовать асм команды
анализа бит:
BTSS f,#bit4 (Bit Test f, Skip if Set)
или подобное?

WBR
pan193 вне форума   Ответить с цитированием
Старый 28.03.2010, 19:53   #2
picavr
Senior Member
 
Регистрация: 13.02.2008
Сообщений: 167
Вес репутации: 117/46
picavr will become famous soon enoughpicavr will become famous soon enough
По умолчанию Re: hi-teh c компилятор генерирует много лишнего ассемблера для проверки 1го бита ( if vs btss )

пишу для 16 серии: HITECH STD PICC16
Код:
//определение типа структуры из 8 флагов
typedef struct flags_chr{unsigned
	flag0_8:1,
	flag1_8:1,
	flag2_8:1,
	flag3_8:1,
	flag4_8:1,
	flag5_8:1,
	flag6_8:1,
	flag7_8:1;};

#define input_key0 RB0
#define direct_key0 TRISB0
#define out_pin 0
#define inp_pin 1

//обьявление структуры из 8 флагов
struct flags_chr flags
//обьявление флагов
#define flag_key flags.flag0_8

direct_key0=inp_pin;//ножка на вывод
if(input_key0==1)//проверка состояния ножки 
{
flag_key=1;//установка флага
}
генерится по одной команде BCF, BSF, BTFSS, BTFSC
picavr вне форума   Ответить с цитированием
Старый 29.03.2010, 19:32   #3
z0rgvi
Senior Member
 
Регистрация: 03.12.2008
Адрес: РФ, Санкт-Петербург
Возраст: 34
Сообщений: 518
Вес репутации: 242/48
z0rgvi has a spectacular aura aboutz0rgvi has a spectacular aura aboutz0rgvi has a spectacular aura about
По умолчанию Re: hi-teh c компилятор генерирует много лишнего ассемблера для проверки 1го бита ( if vs btss )

Цитата:
Сообщение от picavr Посмотреть сообщение
генерится по одной команде BCF, BSF, BTFSS, BTFSC
у человека наверное лайт версия
z0rgvi вне форума   Ответить с цитированием
Старый 29.03.2010, 21:38   #4
pan193
Junior Member
 
Регистрация: 28.03.2010
Сообщений: 2
Вес репутации: 100/0
pan193 will become famous soon enoughpan193 will become famous soon enough
По умолчанию Re: hi-teh c компилятор генерирует много лишнего ассемблера для проверки 1го бита ( if vs btss )

Цитата:
Сообщение от z0rgvi Посмотреть сообщение
у человека наверное лайт версия
Версия dsPICC9.60 контроллер PIC24HJ128GP502
pan193 вне форума   Ответить с цитированием
Старый 29.03.2010, 21:46   #5
DL36
Senior Member
 
Регистрация: 25.02.2007
Адрес: Херсон
Сообщений: 3,642
Вес репутации: 1983/103
DL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant future
По умолчанию Re: hi-teh c компилятор генерирует много лишнего ассемблера для проверки 1го бита ( if vs btss )

Цитата:
Сообщение от pan193 Посмотреть сообщение
Версия dsPICC9.60 контроллер PIC24HJ128GP502
Потому и много что dsPICC9.60 а с30 все ок и с атомарными макросами можно работать.
DL36 вне форума   Ответить с цитированием
Старый 29.03.2010, 22:29   #6
urry
Senior Member
 
Аватар для urry
 
Регистрация: 11.10.2007
Возраст: 57
Сообщений: 462
Вес репутации: 228/52
urry has a spectacular aura abouturry has a spectacular aura abouturry has a spectacular aura about
По умолчанию Re: hi-teh c компилятор генерирует много лишнего ассемблера для проверки 1го бита ( if vs btss )

очередное подтверждение истины - с хайтеком нужно проститься после 16 серии
urry вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Имитатор DS18B20 Filya44 Вопросы начинающих 14 12.03.2012 17:39
MPLAB не находит c018i.o qwerty1 Продукция MICROCHIP 45 22.04.2011 12:14


Часовой пояс GMT +3, время: 19:29.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot