Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Очень много вариантов. Ты даже представить не сможешь как много. А если программиста разозлить или обидеть то еще 7 штук.
Отправлено
VasilyS
(80.92.96.25)
25 февраля 2010, г. 19:57
В ответ на:
Гуру, подскажите как в дизассемблённом коде найти вывод в определённый порт. Контроллер 8051.
отправлено ZoltriX 25 февраля 2010, г. 19:54
Составить ответ
|
Вернуться на конференцию
Ответы
Есть прошивка, нужно поменять вывод сигналов на два пина местами.
-
ZoltriX
(25.02.2010, 20:07:13
67.225.140.226
, 393 байт)
Если память не врет, то был для 51 симулятор PDS51 (или какое-то похожее название), жрал на входе хекс-файл. Заодно и дизассебмлировал. Дизассеблированую прогр. можно было сохранить. Он бы тебе помог.
-
пароль_потерял_
(25.02.2010, 20:43:24
194.190.183.238
,
пустое
)
Он, кстати, российский вроде был, этот симулятор и была бесплатная демо-версия с ограничениями на размер кода, не помню до какого размера.
-
пароль_потерял_
(25.02.2010, 20:46:0
194.190.183.238
,
пустое
)
А искать тебе в дизассеблерном коде коде надо скорее всего конструкции типа CLR Pn.m, SETB Pn.m, MOV Pn,(откуда-то), ANL Pn,(с чем-то), ORL Pn,(с чем-то), XRL Pn, (с чем-то). n - номер порта, m - номер бита в порте. Вроде так, если мнемонику я не забыл.
-
пароль_потерял_
(25.02.2010, 20:57:27
194.190.183.238
,
пустое
)
Я думаю, что это не мегасложно, но опыта ковырять хекс нет. Можете помочь в айсику?
-
ZoltriX
(25.02.2010, 21:08:36
67.225.140.226
, 40 байт)
Я уже тебе помог. Этого достаточно.:-)
-
пароль_потерял_
(25.02.2010, 21:10:23
194.190.183.238
,
пустое
)
Чтобы искать эти конструкции надо дизассемблировать файл и получить корректный код. Вот в этом и задача
-
ZoltriX
(25.02.2010, 21:20:29
67.225.140.226
,
пустое
)
Я тебе написал, как это можно сделать. Ищешь симулятор. Засовываешь в него хекс. Получаешь и дизассеблированный текст и программу в симуляторе можешь погонять. 2 в одном. Могу только добавить, что вот только что всплыл из глубин памяти еще один симулятор для 51. Фирмы 2500AD (возможно AD2500). У его бесплатной версии было другое ограничение - на время симулирования после запуска. Извини, больше ничем помочь не могу. Шибко давно с 51 дело имел. Да и не только с ними. Итак уж я себя превзошел.100 лет никому ни на 1 тех. вопрос не отвечал.
-
пароль_потерял_
(25.02.2010, 21:33:35
194.190.183.238
,
пустое
)
Дизасемблировать хекс очень сложно, если программа не из 10 строк, даже IDA не совсем справляется. Дизассемблер обязательно собьётся и выдаст бред
-
ZoltriX
(25.02.2010, 21:42:50
67.225.140.226
,
пустое
)
Бред пока выдаешь ты, причем не сбиваясь.. Нет там ничего сложного. Всегда есть точка отсчета. Печка, от которой пляшут.А именно -программа всегда начинается с 0 адреса. И там с вероятностью 0.99999 стоит команда перехода. Либо AJMP, либо LJMP. И этот переход в почему-то не на область данных, или еще какую белиберду, а непременно на команду. Так что вооружившись моими указаниями и мануалом на 51 контроллер ты с успехом можешь заменить сбоящий и бредящий IDA и сколотить на этом состояние, поехать в таиланд и дать там всем пиздюлей.
-
пароль_потерял_
(25.02.2010, 21:58:53
194.190.183.238
,
пустое
)
ИДА рабочую прошивку превращает в набор беспорядочных инструкций, скомпилив которые ничего похожего на первозданный хекс не получишь, не понимаю что за бред
-
ZoltriX
(25.02.2010, 21:49:0
67.225.140.226
,
пустое
)
я тебе открою тайну- не всегда на плате разводят нога-в-ногу шину данных и адреса, бывает что разводят как удобно, по сему считаный в програматоре хекс невозможно напрямую дизасмить, также и хекс после компилятора невозможно без постконвертации заливать в пзу. Для начала бери тестер и прозвони плату на предмет соответствия шин.
-
колян безпарольный
(25.02.2010, 22:00:27
193.200.150.82
,
пустое
)
Коля, ты сам не гони бред.
-
пароль_потерял_
(25.02.2010, 22:02:20
194.190.183.238
,
пустое
)
отьебись гомосятина))) то что ты такого не видел еще не значит что такого нет вообще))
-
колян безпарольный
(25.02.2010, 22:07:5
193.200.150.82
,
пустое
)
Ты мне свои достоинства не приписывай, знаток гомосячьей культуры. Я много чего видел, что тебе и не снилось, просто в данном случае вопрошающий несет откровенный бред:-))
-
пароль_потерял_
(25.02.2010, 22:13:43
194.190.183.238
,
пустое
)
я даже не сомневаюсь что ты всякого повидал шалунишка працивный;))
-
колян безпарольный
(25.02.2010, 22:24:40
193.200.150.82
,
пустое
)
Скальпелем по дорожкам и проволочками перепаять. Делов на десять минут с двумя перекурами.
-
ucMike
(25.02.2010, 20:43:17
93.93.142.208
,
пустое
)
Странно, может на асме, а дизасемблить не может... У 51 два варианта добраться до порта MOV и SETB/CLR
-
Trashy
(25.02.2010, 20:22:11
188.123.242.40
,
пустое
)
а JBC? а CPL? а XRL? а ANL? и даже XCH насколько я помню тоже
-
колян безпарольный
(25.02.2010, 20:49:19
193.200.150.82
,
пустое
)
Это еще легко, у них в коде команды адрес порта виден. А вот косвенная адресация - это уже хуже. anl @r0,a; xch a,@r1
-
VasilyS
(25.02.2010, 21:40:37
80.92.96.25
,
пустое
)
собака это только к озу относится, до порта так не дозвонишся
-
колян безпарольный
(25.02.2010, 21:54:40
193.200.150.82
,
пустое
)
А ну да выше 7f только прямая. Но и прямых команд достаточно.
-
VasilyS
(25.02.2010, 21:59:8
80.92.96.25
,
пустое
)
А вот если на Р0 стоЯт внешние сигналы, то можно прочитать косвенно: movx a, @r0. Но это так, если программист зол. :-)
-
VasilyS
(25.02.2010, 22:21:6
80.92.96.25
,
пустое
)
О! Не оригинально :-( Старые люди уже это проделывали...
-
VasilyS
(25.02.2010, 22:26:23
80.92.96.25
,
пустое
,
ссылка
)
Ну а если не вдаваться в извращения программирования, а допустить что уровень на пин выводится простым обращением к порту/пину. То что искать-то??
-
ZoltriX
(25.02.2010, 22:44:57
67.225.140.226
,
пустое
)
Нет советов. Это работа. Начинайте делать, или, если небесплатно, могу подключить парня который сделает. Сроки и оплату могу спросить если скажете размер хекс-кода.
-
VasilyS
(26.02.2010, 09:32:54
80.92.96.25
,
пустое
)
Если кто может безвоздмездно помочь, прошу стукнуть в аську. Прошу помощи
-
ZoltriX
(25.02.2010, 20:59:8
67.225.140.226
, 40 байт)
помощь это когда ты забыл одну команду или не знаешь формата представления инструкций в машкодах, а тут-же надо всю работу брать на себя, ибо ты судя по всему особь абсолютно бесполезная, а раз так то бесплатно хер кто возьмется.
-
колян безпарольный
(25.02.2010, 21:11:9
193.200.150.125
,
пустое
)
Н например мне надо найти ножку Порт 0.3 и что мне надо видеть в коде??
-
ZoltriX
(25.02.2010, 21:21:50
67.225.140.226
,
пустое
)
тебе надо сменить специальность или не брать деньги за то чего не можешь сделать
-
колян безпарольный
(25.02.2010, 21:50:59
193.200.150.82
,
пустое
)
Я его последний раз прогил в 2003
-
Trashy
(25.02.2010, 20:55:22
188.123.242.40
,
пустое
)
Извини. Такая работа - только за денги.
-
VasilyS
(25.02.2010, 20:13:12
80.92.96.25
,
пустое
)
за баааааааальшие деньги
-
=L.A.=
(25.02.2010, 20:31:6
213.108.2.19
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
увеличьте 2 вдвое:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru