Программирование BASCOM
Меню сайта
Категории каталога
Мои статьи [114]
Наш опрос
Оцените мой сайт
Всего ответов: 1169
Главная » Статьи » Мои статьи

Расшифровка библиотек LBX BASCOM

Расшифровка библиотек LBX BASCOM. 

Библиотеки LBX компилятора BASCOM представляют собой зашифрованные версии библиотек LIB. Шифрование простое - большинство строк заменяется объектами типа «.OBJ xxxx». Их цифровой код выбирается из заранее составленной таблицы ассемблерных инструкций AVR-контроллера, имея которую можно восстановить исходный код. Таблица приведена ниже, рассмотрим примеры работы с ней: 

1)            .OBJ 93AF - находим в таблице  93RF (сначала ищем по совпадению красных символов) -  инструкция PUSHCиний символ A - номер регистра - это регистр R26 (0-R16, 1-R17, 2-R18... F-R31). Получаем PUSH R26.

 2)         .OBJ E841 - находим EMRL - это инструкция LDIR=4, значит это регистр R20M=8, L=1 - старший и младший ниблы числа. Получаем LDI R20,$81      

Объект

Инструкция

Функция

0

NOP

Выполнить холостую команду

3RX

FMUL

Дробное незнаковое умножение

R - регистр 16...23 (0=R16...7=R23)

X - регистр 16...23 (F=R16...8=R23 !!!)

3XR

FMULS

Дробное умножение со знаком

X - регистр 16...23 (F=R16...8=R23 !!!)

R - регистр 16...23 (0=R16...7=R23)

...

......

Присмотревшись внимательнее к таблице можно заметить совпадения некоторых кодов. Например:

LSL R0  =  ADD R0,R0

SEC  =  BSET0

CLS  =  BCLR 4 и т.д.

Это не опечатка - эти пары инструкций равнозначны. При расшифровке можно вставить любую из них.

Полный текст материала. 

Творческих успехов!

MrShilov.  

Категория: Мои статьи | Добавил: bascom (06.03.2013) | Автор: Radan
Просмотров: 2544
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0
Copyright Radan Studio © 2017