Например TDA7294

Форум РадиоКот • Просмотр темы - Програмирование pic на СИ.
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 23, 2024 15:52:31

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 1334 ]     ... , , , 43, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пн ноя 07, 2016 22:01:00 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
botchin писал(а):
А если вас не затрудняет и имеете 9,71 - проиграйте.
Нет, хайтека не имеем. Уже давно. Перешёл на XC8.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пн ноя 07, 2016 22:27:56 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 81
Рейтинг сообщений: 440
Зарегистрирован: Чт дек 27, 2012 20:46:09
Сообщений: 2024
Откуда: Болгария, г. Лом
Рейтинг сообщения: 0
Ну, я написал то, что наблюдал, делал и т.д. Уверяю вас, указатели могут иметь разнъе размеръ в HI-TECH 9-71a. И для меня ето бъло непонятно.

Если кто-то попробует - пусть напишет.

_________________
Лом - ето город в Болгарии, а не инструмент юстировки електроники.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пн ноя 07, 2016 22:35:58 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Попробовал XC8. Да, действительно :)
Кот:
Код:
#include    <xc.h>

char *s1,*s2,*s3, ss [10];

void main(void){
   s1 =  ss ;
   s2 =  ss ;
   s3 =  ss ;

   #asm
      movlw _s3
   #endasm

*s2=10;
*s3=10;

while(1);
}

Дизасм :
Код:
1:                 #include    <xc.h>
2:                 
3:                 char *s1,*s2,*s3, ss [10];
4:                 
5:                 void main(void){
  07ED    3070     MOVLW 0x70
6:                    s1 =  ss ;
7:                    s2 =  ss ;
  07EE    00FC     MOVWF s2
8:                    s3 =  ss ;
  07EF    3070     MOVLW 0x70
  07F0    00FA     MOVWF s3
  07F1    3000     MOVLW 0
  07F2    00FB     MOVWF 0x7b
9:                 
10:                   #asm
11:                      movlw _s3
  07F3    307A     MOVLW 0x7a
12:                   #endasm
13:               
14:                *s2=10;
  07F4    087C     MOVF s2, W
  07F5    0086     MOVWF FSR1L
  07F6    300A     MOVLW 0xa
  07F7    0187     CLRF FSR1H
  07F8    0081     MOVWF INDF1
15:                *s3=10;
  07F9    087A     MOVF s3, W
  07FA    0086     MOVWF FSR1L
  07FB    087B     MOVF 0x7b, W
  07FC    0087     MOVWF FSR1H
  07FD    300A     MOVLW 0xa
  07FE    0081     MOVWF INDF1
16:               
17:                while(1);
  07FF    2FFF     GOTO 0x7ff

Очевидно, что для s3 используется 2 байта под адрес.
Причём, если убрать АСМ-вставку - используется 1 байт :)

Добавлено after 5 minutes 18 seconds:
Шайтанамэ :)


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пн ноя 07, 2016 22:38:43 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 81
Рейтинг сообщений: 440
Зарегистрирован: Чт дек 27, 2012 20:46:09
Сообщений: 2024
Откуда: Болгария, г. Лом
Рейтинг сообщения: 0
Я подумал, что хорошо будеть, если знаем об етой особености.
И как решают когда 1 байт и когда 2? :kill:
Да еще и не дали програмисту возможность указать каким бъть указателя!!!! :kill:

_________________
Лом - ето город в Болгарии, а не инструмент юстировки електроники.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пн ноя 07, 2016 22:47:04 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Меня вот ещё что смущает.
Код:
  07EF    3070     MOVLW 0x70
  07F0    00FA     MOVWF s3
  07F1    3000     MOVLW 0
  07F2    00FB     MOVWF 0x7b

До этого момента, в аккумуляторе находится значение 0x70, зачем его ещё раз туда загонять ?
И для очистки 0x7B - две команды, вместо одной.

Вот тебе и PRO-оптимизация :facepalm:
Старый добрый хайтек STD-версий и то оптимизировал лучше.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пн ноя 07, 2016 22:59:04 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 81
Рейтинг сообщений: 440
Зарегистрирован: Чт дек 27, 2012 20:46:09
Сообщений: 2024
Откуда: Болгария, г. Лом
Рейтинг сообщения: 0
Ето "не PRO" програмер сделает одной командой, а "PRO" двумя. :))

Лично я видел одно умножение на 1,2 (НДС) расписанное на 22 (двадцать две) страниц кода. А програмер написавшии ето бъл хорошим програмером.

_________________
Лом - ето город в Болгарии, а не инструмент юстировки електроники.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Вт ноя 15, 2016 10:26:54 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Доброго дня, коты!
Спаял я себе испытательный стенд на базе 18F14K50 в виде платы с МК, так называемым дисплеем от Nokia 3310 (который конечно же им не является), энкодер, фоторезистор и прочая мелочевка. В МК сидит загрузчик, соответственно прошивку гружу прямо с USB со смещением 0х1000. Все работает, дисплей рисуется, энкодер декодится, кнопки нажимаются.
Для чего мне это всё? Просто отработать некоторые навыки и получить алгоритмы, которые помогут и в дальнейшем послужить готовыми кусками, ну и в плане дальнейшего изучения Си.

Вот, например, хочется мне выводить на экран показания фоторезистора в какой-то определенной позиции, данные от ИК диода в другой и т.д. Графику умным образом порисовать. И хочется освоить структуры, юнионы. Как вы думаете, логично ли использовать их для задания знакоместа, координат, для индикации освещенности в виде прогресс-бара? Я пока только собираюсь это расписывать в виде кода и не хочется сразу попасть в тупиковую ветвь.

Спасибо!

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Вт ноя 15, 2016 19:22:33 
Задача вывода на дисплей любой информации на самом деле универсальная в плане освоения, так что годится.
Я вот например встроенным отладчиком не пользуюсь, если подключен дисплей - всё что меня интересует вывожу на него.


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пт ноя 18, 2016 08:15:35 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21835
Откуда: Московская область, Фрязино
Рейтинг сообщения: 1
Zhuk72 писал(а):
хочется освоить структуры, юнионы. Как вы думаете, логично ли использовать их для ....

struct и union удобно использовать там, где имеются данные разных форматов, но относящихся к одному программному объекту и/или области памяти.
То есть на самом деле имеет место быть лишь улучшение читабельности кода, а не получение неких новых его свойств.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пт ноя 18, 2016 09:40:03 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
КРАМ писал(а):
То есть на самом деле имеет место быть лишь улучшение читабельности кода, а не получение неких новых его свойств.

Именно это и интересует, т.к. расписать код длиной с портянку могу и без структур (что, собственно говоря, и делаю пока). Но хочется извращенной компактности :)

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пт ноя 18, 2016 09:53:38 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
Ещё, плюс объединений переменных в структуры - обработка в функциях. Можно передавать указатель, как аргумент, вместо кучи переменных.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пт ноя 18, 2016 10:48:20 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 1
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
а еще плюс структур и объединений в том, что при использовании качественных IDE требуется помнить меньше имен переменных, т.к. IDE подсказывает их. например, если вы для своего проекта храните какие-то параметры в 10 переменных, вы сами должны помнить их имена, чтобы в нужных местах использовать. если же все они объединены в структуру, предположим, с названием config, то помнить вам надо только это имя, а поля структуры вам подскажет IDE сразу же после того, как введете точку (или стрелочку, если через указатель) после этого имени :))

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пт ноя 18, 2016 10:51:27 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Ну да. Остаётся только поработать стрелочками и нажать энтер :)
Лень - двигатель прогресса :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пт ноя 18, 2016 11:42:13 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
ARV писал(а):
а еще плюс структур и объединений в том, что при использовании качественных IDE требуется помнить меньше имен переменных, т.к. IDE подсказывает их.


Кстати да, я заметил это, когда использовал STATUSbits, сразу после точки мплаб предлагает список.
Стало быть и с пользовательскими объединениями так же будет? Надо заюзать, спасибо, хорошая наводка!

Добавлено after 8 minutes 50 seconds:
Попробовал, мне понравилось :)
Еще раз спасибо!

Добавлено after 27 minutes 21 second:
Однако поторопился я, не все так просто и радужно, т.к. компиляция не прошла.
В хелпе на ХС8 написано, что структуры не поддерживают тип bit, возможно только использование битовых полей. Углубляюсь в чтение.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пт ноя 18, 2016 11:55:04 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Поле можно сделать любого размера, хоть 1 бит, хоть 5, хоть 25 ....


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пт ноя 18, 2016 12:21:33 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Zhuk72 писал(а):
структуры не поддерживают тип bit
если вас не прижмет реальность так сильно, что невозможно будет обойтись без НЕСТАНДАРТНЫХ типов для Си, - никогда их не используйте! bit - это нестандартный тип, в Си его не существует.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пт ноя 18, 2016 12:26:58 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Аlex писал(а):
Поле можно сделать любого размера, хоть 1 бит, хоть 5, хоть 25 ....

Можно, но такое struct leds {unsigned char cnt, pause; bit flash;}; написание он не воспринимает. Говорит, что "taking sizeof bit is illegal".

В другом проекте сейчас проверил struct pos {unsigned char x, y;}; у которого только байты.
На это объявление он смотрит благосклонно, а ругается на pos.x = 0 b pos.y = 0:
Цитата:
main.c:30: error: (192) undefined identifier "pos"
main.c:30: error: (196) struct/union required


ХС8 в качестве примера приводит такое написание:
Цитата:
struct {
unsigned lo : 1;
unsigned dummy : 6;
unsigned hi : 1;
} foo;

И в примечании указывает, что "Accessing bit-fields larger than a single bit can be very inefficient", что вполне логично.
Так что я наверное буду в таких структурах объявлять только битовые флаги.

ARV писал(а):
bit - это нестандартный тип, в Си его не существует.

Я в курсе этого. Но тем не менее жить без них не могу :)
В Keil приходится обходится без него, но ХС8 с ним в ладах, потому и использую.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пт ноя 18, 2016 12:55:14 
Потрогал лапой паяльник
Аватар пользователя

Карма: 20
Рейтинг сообщений: 121
Зарегистрирован: Вс янв 19, 2014 22:41:55
Сообщений: 353
Рейтинг сообщения: 0
Zhuk72 писал(а):
Стало быть и с пользовательскими объединениями так же будет? Надо заюзать, спасибо, хорошая наводка!

При прочих равных, union использовать кроме как для получения разных представлений для одних и тех-же данных я бы не рекомендовал. Проблема в неявности модификации - когда структуроподобные вызовы u.f1 = 1; и u.f2 = 2; выглядят как модификация разных полей, но на самом деле меняют одни и те-же данные. Если объёмы памяти позволяют - всему должно быть своё место. Даже если оригинальный автор и оптимизировал таким образом свою программу твёрдо зная что данные в union-е не пересекаются по времени - нет никакой гарантии, что в будущем тот-же автор не отрефакторит своё творение и данные пересекутся - подарив ему возможность провести "выходные в отладчике". А уж что и говорить за тех, кто будет рефакторить после него - уж они-то точно не преминут откопать эти грабли.
Zhuk72 писал(а):
В хелпе на ХС8 написано, что структуры не поддерживают тип bit, возможно только использование битовых полей.

bit - в печку. Про битовые поля имейте ввиду, что под структуру будет выделено целое число байт даже если задействован один бит:
Код:
struct iS { int i : 1; } // sizeof(iS) == sizeof(int)
struct cS { char i : 1; } // sizeof(cS) == sizeof(char)

Ну и помните, что при оптимизации битовыми полями сегмента данных - страдает сегмент кода (читай производительность), за счёт большего количества операций по доступу к полям. Мало того - в зависимости от позиции битового поля в структуре - размер операций тоже может быть разным. Т.е. если с каким-то полем чаще работаем - можно также сэкономить байтики двигая поле в более выгодную позицию. :)

Добавлено after 9 minutes 26 seconds:
Zhuk72 писал(а):
Цитата:
main.c:30: error: (192) undefined identifier "pos"

pos это не переменная, и даже не тип (в С) - а именно что НеизвестнАЯ ИдентификАтыръ. :)
Zhuk72 писал(а):
Я в курсе этого. Но тем не менее жить без них не могу :)

Кстати, компилятор склеивает глобальные переменные типа bit в несколько более заметные для линкера сущности. Т.е. обращение с ними несёт такие-же накладные расходы как и с битовыми полями.

_________________
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! ;-)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пт ноя 18, 2016 13:00:37 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Siarzhuk писал(а):
bit - в печку. Про битовые поля имейте ввиду, что под структуру будет выделено целое число байт даже если задействован один бит

Это я знаю. В принципе если я объявляю bit start1, stop2, wait254, imho323; то в итоге компилятор размещает их в одном байте. Идея объединить их в структур только для того, чтобы помочь склерозу, т.к. иной раз приходится лезть в объявления, чтобы вспомнить имя переменной.

Siarzhuk писал(а):
Ну и помните, что при оптимизации битовыми полями сегмента данных - страдает сегмент кода (читай производительность), за счёт большего количества операций по доступу к полям. Мало того - в зависимости от позиции битового поля в структуре - размер операций тоже может быть разным.

Ну об этом я писал, вернее цитировал, выше. Но это в случае большего, чем 1, размера поля.
В случае однобитого поля код скомпилируется в обычные bsf/bcf и btfss/btfsc.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пт ноя 18, 2016 13:01:54 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Siarzhuk писал(а):
struct iS { int i : 1; } // sizeof(iS) == sizeof(int)
это на самом деле так? не 1 байт?
Siarzhuk писал(а):
Кстати, компилятор склеивает глобальные переменные типа bit в несколько более заметные для линкера сущности. Т.е. обращение с ними несёт такие-же накладные расходы как и с битовыми полями.
скорее всего он задействует для этой цели аппаратные фичи кристалла. про PIC не скажу, а в MCS51 есть особые области ОЗУ с побитовой адресацией, и соответствующие однобитовые команды ассемблера. так что и тут речь скорее всего об этом - линкер отдыхает.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 1334 ]     ... , , , 43, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y