Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

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

Ответ
Опции темы

Программирование 87C196

Непрочитано 18.08.2012, 01:48   #11
Garick1
Частый гость
 
Регистрация: 19.02.2008
Сообщений: 12
Сказал спасибо: 5
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
Garick1 на пути к лучшему
По умолчанию Re: Программирование 87C196

Сообщение от Simbr Посмотреть сообщение
ясно понял, я бы дизассемблировал, поставил бы директиву ORG 2000h в начале и опять оттранслировал в пошивку.
Спасибо за ответ. Я бы тоже, вот только не знаю - где ставить это ORG 2000H. Наверное, имеется в виду в самом начале (ну, например, перед main) ?
Реклама:
Garick1 вне форума   Ответить с цитированием
Непрочитано 18.08.2012, 11:56   #12
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Программирование 87C196

В том-то и дело, что после дизассемблирования получается код на ассемблере. Там нет никакой main. ORGxxxx директива компилятора, указывает с какого адреса должен располагаться участок кода после неё.
Тут проблема в другом - все переходы и вызовы подпрограмм и сами подпрограммы при дизассемблировании получают фиксированные адреса. Если Ваша IDE поддерживает перемещение кода(в этом случае пересчитываются все адреса), тогда его нужно просто сдвинуть на необходимый адрес. Ассемблер для этой операции знать не обязательно.
omercury вне форума   Ответить с цитированием
Непрочитано 20.08.2012, 23:53   #13
Garick1
Частый гость
 
Регистрация: 19.02.2008
Сообщений: 12
Сказал спасибо: 5
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
Garick1 на пути к лучшему
По умолчанию Re: Программирование 87C196

Спасибо за ответ. А как узнать IDE поддерживает перемещение кода или нет? И вообще, какую IDE мне применить и где ее взять? Пробовал скачать прогу IDA версии 6 и выше - не получается. Правда скачал версию 6.1, так она не работает и все время ругается, что у нее нет какого-то файла, хотя этот файл есть в корневом каталоге.
Установил IDA Pro 5.5.
Вопрпос :
1. Как дизассемблировать, если прошивка под 27С16.
2. Я указываю 80C196 и дизассемблирую. Как и где затем вставить org2080h? В даташите на 87С196 указано, что адрес сброса контроллера 2080h. Надо понимать, что блок прграммы д.б. после адреса 2080h?

Последний раз редактировалось Garick1; 22.08.2012 в 19:26. Причина: дополнение
Garick1 вне форума   Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование 27С512 San-Sanysh Микроконтроллеры, АЦП, память и т.д 11 11.04.2013 13:54
Программирование at89c2051 urisss Микроконтроллеры, АЦП, память и т.д 1 26.07.2009 01:26
Программирование USB Humsterss Микроконтроллеры, АЦП, память и т.д 15 16.04.2009 18:26
Программирование МК S_Alx Микроконтроллеры, АЦП, память и т.д 1 03.06.2005 13:14


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.