Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 26.08.2010, 21:35  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Компилятор С Pic18

Какой компилятор создает такие конструкции?
Я имею ввиду прыжки с точки входа п/п(функции) на конец и обратно ?
Все п/п (функции) оформлены так же .
Правда часть не имет точек входа и как следствие нет перехода ни на одну метку п/п.
Между некоторыми п/п разделители .
И Сишный ли компилятор?

PHP код:
L191:
    
NOP
    BRA L7
L19
:    
    
BCF TRISC,4,A
    BSF TRISC
,3,A
    BRA L8
    MOVLW 0x01
    MOVLB 0x00
    MOVWF 0x81
,BANKED
    BRA L9
L8
:    
    
MOVLW 0x01
    MOVLB 0x00
    MOVWF 0x81
,BANKED
L9
:    
    
BRA L10
L11
:    
    
NOP
    NOP
    BRA L10
L10
:    
    
MOVLB 0x00
    DECFSZ 0x81
,F,BANKED
    BRA L11
    BSF TRISC
,3,A
    MOVLW 0x04
    MOVLB 0x00
    MOVWF 0x81
,BANKED
    BRA L12
    MOVLW 0x01
    MOVLB 0x00
    MOVWF 0x81
,BANKED
L12
:    
    
BRA L13
L14
:    
    
NOP
    NOP
    BRA L13
L13
:    
    
MOVLB 0x00
    DECFSZ 0x81
,F,BANKED
    BRA L14
    BSF TRISC
,4,A
    MOVLW 0x05
    MOVLB 0x00
    MOVWF 0x81
,BANKED
    BRA L15
    MOVLW 0x01
    MOVLB 0x00
    MOVWF 0x81
,BANKED
L15
:    
    
BRA L16
L17
:    
    
NOP
    NOP
    BRA L16
L16
:    
    
MOVLB 0x00
    DECFSZ 0x81
,F,BANKED
    BRA L17
    BSF TRISC
,4,A
    BRA L18
L18
:    
    RETURN
    
NOP
L7
:    
    
BRA L19 
Реклама:
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 26.08.2010 в 21:42.
dosikus вне форума  
Непрочитано 27.08.2010, 14:40  
testerplus
Прописка
 
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
testerplus на пути к лучшему
По умолчанию Re: Компилятор С Pic18

Сообщение от dosikus Посмотреть сообщение
Какой компилятор создает такие конструкции?
Такое ощущение, что исходный текст был на ассемблере и написан (приведенный фрагмент, я так понял, это результат работы дизассемблера?). Сам текст был напичкан вызовами макросов с условными директивами, оттого и столько точек, где программа не получает управления. Но посмотри, сколько схожих фрагментов (особенно с movlb). Вызов -›L7-›L19, правда, не вписывается. Надо остальной код видеть (в частности: инициализацию, прерывание (вход и выход).
testerplus вне форума  
Непрочитано 27.08.2010, 18:03  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Компилятор С Pic18

testerplus,
Дизассемблер от PicIde .
В Mplab метки не раставляет (или я туплю), более того после Mplab не собирается.
Прошивка одного девайса от немцев , защиты не было .
Если тебе не в лом, выложу hex и дизассемблированный .
Чип 18f458
Сам девайс блок перефирии , связь с головным по CAN.
10 реле , 8 аналоговых входов(0-10v), 8 аналоговых выходов (0-10v).
RS232 ( Max232 стоит , но связь не реализована).
Аналоговые выходы DAC M62393 + LM324.
Сами блоки являются дополнением и в нашей конфигурации не используются . Дык что халява .
Плата 4х слойная .
Вложения:
Тип файла: rar DOL234_100083348.rar (36.7 Кб, 49 просмотров)
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 27.08.2010 в 18:13.
dosikus вне форума  
Непрочитано 27.08.2010, 18:19  
testerplus
Прописка
 
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
testerplus на пути к лучшему
По умолчанию Re: Компилятор С Pic18

Сообщение от dosikus Посмотреть сообщение
Если тебе не в лом, выложу hex и дизассемблированный .
Чип 18f458
Сам девайс блок перефирии , связь с головным по CAN.
10 реле , 8 аналоговых входов(0-10v), 8 аналоговых выходов (0-10v).
RS232 ( Max232 стоит , но связь не реализована).
Аналоговые выходы DAC M62393 + LM324.
К вечеру в IDA гляну. А что в конечном счете получить-то нужно?
testerplus вне форума  
Непрочитано 27.08.2010, 18:22  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Компилятор С Pic18

Собственно, когда копался был крайне удивлен такими конструкциями .
И теперь интересно : или это быдло код или какой то компилятор типа Basic так дуркует.
А потом естественно бум делать выводы о компетенции кодописателей.
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 28.08.2010, 01:33  
testerplus
Прописка
 
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
testerplus на пути к лучшему
По умолчанию Re: Компилятор С Pic18

Сообщение от dosikus Посмотреть сообщение
Собственно, когда копался был крайне удивлен такими конструкциями .
И теперь интересно : или это быдло код или какой то компилятор типа Basic так дуркует.
А потом естественно бум делать выводы о компетенции кодописателей.
Посмотрел: очень похож на хайтек с отключенной оптимизацией (вполне реально, т.к. они могли работать в лайт-режиме). Приемы с множественными bra-›bra-›bra в конец - в начало - в конец - в начало - это именно его заморочки (без оптимизации). Далее, сохранение контекста в прерывании - тоже хайтековское: fsr'ы, pc'ы, ... и 16 регистров btemp. Наконец, хайтековский прием - размещать константы в ROM, начиная с адреса на 1 больше размера RAM (в данном случае в адресе 0x600).

Есть, конечно, непонятки: во-первых, действительно слишком много мертвого кода, т.е. никогда не получающего управление; во-вторых, есть несколько неопознаннызх инструкций (пример по адресу 0x1f2); они все обходятся BRA, но что-то не припомню за хайтеком таких фокусов; в-третьих, не видно очистки памяти при запуске и выполнения CLRWDT (хайтек так всегда детает).
testerplus вне форума  
Сказали "Спасибо" testerplus
dosikus (06.09.2010)
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ для PIC18 alberio Микроконтроллеры, АЦП, память и т.д 5 07.07.2010 17:48
Автономный программатор для PIC18 avartemiy Микроконтроллеры, АЦП, память и т.д 3 23.04.2010 12:34
Си-шный компилятор в AVR Studio меняет последовательность команд svv11 Микроконтроллеры, АЦП, память и т.д 29 21.03.2010 05:47
Помогите с bootloader от HI-TECH PIC18 maxNTF Микроконтроллеры, АЦП, память и т.д 0 12.03.2010 17:35
[Решено] Компилятор PICC и Proteus Кот Баюн Proteus, KiCAD и другие ECAD 7 30.11.2009 01:47


Часовой пояс GMT +4, время: 21:33.


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