Перейти к содержанию
    

tritri

Участник
  • Постов

    11
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. сдесь опять вместо данных фки. подскажите как совместить данные с флэши с памятью.
  2. все с флэши 29F200, програмка чип лоадер сливает всю флэш в буте. по адресам должны лежать данные для сравнения результатов проверки портов ацп, берутся они с тех самых настроек с адреса 8080 по FFFF в сегменте 011 я раскрыл функции вот там есть ADCON возможно там есть указатель на данные для сравнения
  3. подправил листинг ида, смотрите в аттаче. IDA_listing.zip
  4. чип SAK-C167CS-LM 4DC4h 4D9Eh по этим адресам лежит dword_4830: dd 0FFFFFFFFh, 0FFFFFFFFh, 0FFFFFFFFh, 0FFFFFFFFh, 0FFFFFFFFh подскажите как сюда попадают данные? пробовал по разному искать но опыто мало. или где найти специалиста по реверсу прошивок? бинарник прошивки прилагаю 29F200_380.zip
  5. собственно не важно какой порт будет в r4 ,сдесь идет проверка порта на соответствие напряжения. а вот возможное решение вопроса т.е. отключение проверки порта 5.15 ROM:00000948 sub_948: ; CODE XREF: sub_8E8+4Ap ROM:00000948 ; ROM:00000A22p ROM:00000948 cmp r9, #0Fh ROM:0000094C jmpr cc_C, loc_95E ; прыжок, если в R9 значение меньше #0Fh (то есть от 0 до Eh) ROM:0000094E add r9, #1 ROM:00000950 bmov P4_4, r9.0 ; CAN линия при 0Fh=0, при 10h=1 ROM:00000954 bmov P4_7, r9.1 ; CAN линия 0 ROM:00000958 mov r9, #0Fh ; p5.15 вместо 15 порта ставим например 13 !!! ROM:0000095A calla cc_UC, sub_5B4 ; пауза без r9 ROM:0000095E ROM:0000095E loc_95E: ; CODE XREF: sub_948+4j ROM:0000095E or r9, #0B000h ; #0B скорость преобразования+порт r9 p5.15=#0B00Fh ROM:00000962 mov ADCON, r9 ; записываем скорость и порт #0B00Fh ROM:00000966 bset ADST ; включаем АЦП ROM:00000968 ROM:00000968 loc_968: ; CODE XREF: sub_948:loc_968j ROM:00000968 jb ADBSY, loc_968 ; время преобразоания 0=готово.Переход если бит установлен ROM:0000096C jbc word_FDD0.4, loc_97C; если бит=1 то Переход и сброс бита ROM:00000970 mov r9, ADDAT ; старш 4бит=p5.15 ост 12бит=результат.после считки результата ADBSY=1 ROM:00000974 and r9, #3FFh ; в r9=12бит результат умн битно на 3FF. ROM:00000978 ROM:00000978 loc_978: ; CODE XREF: sub_948+36j ROM:00000978 mov [r10], r9 ROM:0000097A ret
  6. ROM:000008F4 movb rl0, [r4+4EB8h] ; здесь должен быть порт ацп p5.0...p5.15 В r4 находится адресс на данные но там FFFFFF видать это оперативка которая заполняется при работе проца где эти данные искать как они туда попадают? по второй фотке seg012:015C calls 11h, 4EB8h ; 114EB8h вот таких вызовов более 100 что к чему не пойму. ложу бинарник флеши мож кто глянет. мож у кого дизасемблер другой.
  7. ROM:000015C4 mov r1, #5B5Ch ROM:000015C8 mov r2, #0E184h ROM:000015CC ROM:000015CC loc_15CC: ; CODE XREF: sub_15AC+2Aj ROM:000015CC movb rh3, #0 ; обнуляем старш байт ROM:000015CE movb rl3, [r1+] ; сдесь как прибавляется? ROM:000015D0 callr sub_15DA ; считка портов 1....15 ROM:000015D2 cmpi2 r2, #0E1A4h ; сравниваем результат ROM:000015D6 jmpr cc_C, loc_15CC ; прыжок если r2<#0E1A4h ROM:000015D8 ret собственно вопросик в коменте. подскажите
  8. вот такое у меня описание флагов с сайта, и как понять сс_С что за перенос или что за заем? мож кто обьяснит. http://www.kaskod.ru/filemanager/download/23157 http://www.kaskod.ru/article/10scom/
  9. спасибо все четко расписал. читаю вникаю. вот функция паузы,забыл добавить. sub_5B4: ; CODE XREF: sub_948+12p 02.ROM:000005B4 mov r3, #7Ah; 'z' 03.ROM:000005B8 04.ROM:000005B8 loc_5B8: ; CODE XREF: sub_5B4+6j 05.ROM:000005B8 cmpd1 r3, #0 06.ROM:000005BA jmpr cc_NZ, loc_5B8 07.ROM:000005BC ret
  10. 01.ROM:00000948 sub_948: ; CODE XREF: sub_8E8+4Ap 02.ROM:00000948 ; ROM:00000A22p 03.ROM:00000948 cmp r9, #0Fh 04.ROM:0000094C jmpr cc_C, loc_95E ; переход если 10 -15? произвольно выбрал 10. 05.ROM:0000094E add r9, #1 06.ROM:00000950 bmov P4_4, r9.0 ; CAN линия 07.ROM:00000954 bmov P4_7, r9.1 ; CAN линия 08.ROM:00000958 mov r9, #0Fh ; зачем здесь запись p5.15? 09.ROM:0000095A calla cc_UC, sub_5B4 ; пауза 10.ROM:0000095E 11.ROM:0000095E loc_95E: ; CODE XREF: sub_948+4j 12.ROM:0000095E or r9, #0B000h ; логическое сложение. и какой тут будет порт? явно не с 0 по 15 13.ROM:00000962 mov ADCON, r9 ; записываем выбраный порт 14.ROM:00000966 bset ADST ; включаем АЦП 15.ROM:00000968 16.ROM:00000968 loc_968: ; CODE XREF: sub_948:loc_968j 17.ROM:00000968 jb ADBSY, loc_968 ; время преобразоания 0=готово.Переход если бит установлен 18.ROM:0000096C jbc word_FDD0.4, loc_97C; если бит=1 то Переход и сброс бита 19.ROM:00000970 mov r9, ADDAT ; результат преобразования.после считки результата ADBSY=1 20.ROM:00000974 and r9, #3FFh ; логическое умножение. можно заменить на mov. 21.ROM:00000978 22.ROM:00000978 loc_978: ; CODE XREF: sub_948+36j 23.ROM:00000978 mov [r10], r9 24.ROM:0000097A ret 25.ROM:0000097C; --------------------------------------------------------------------------- 26.ROM:0000097C 27.ROM:0000097C loc_97C: ; CODE XREF: sub_948+24j 28.ROM:0000097C mov r9, #0 29.ROM:0000097E jmpr cc_UC, loc_978 всем здрасте, коменты я правильно написал? что делает эта функция. обьясните пожалуйста. судя по команде or в ADCON точно не порт пишется. cmp r9, #0Fh jmpr cc_C, loc_95E при каких условиях прыжок? or r9, #0B000h что в r9? and r9, #3FFh что в r9? что делают эти команды? описания команд я брал с www.kaskod.ru но не все досупно понятно.
  11. всем привет. не могу разобраться как работает алгоритм проверки и записи ошибки. на 44 ногу проца мс#44 подается плюс через сопротивление 5 ом. при обрыве этого плюса пишется номер ошибки. 44 нога это вход таймера 2 прошелся по коду наставил коментов но понять пока не могу. правильно ли я открыл прошивку в ида v6.8? схему эбу и файл иды прилагаю. огромное спасибо всем кто примет участие.
×
×
  • Создать...