2017-02-10 50 views

ответ

0

Ваш файл состоит из двух разделов 8000-87FFh и 8800-BFFFh. По-видимому, сначала это загрузчик, второй - основная программа. Вы можете разобрать их отдельно.

Я попытался сделать следующее:

  1. Просто вырезать и сохранить первый раздел в один файл, а второй к другому.
  2. Разберите каждый файл с naked_asm: naken_util.exe -disasm -stm8 ./fw.hex > ./fw.asm
  3. В результате я получил два ASM файлы: main.asm и boot.asm

загрузки файла начинается с общей таблицы IRQ. Основной файл предназначен для всех IRQ до 886Bh, где, кажется, начинается функция main(), а первая инструкция - asm("sim"), которая отключает все IRQ.

Далее вы можете использовать некоторые более сложные программы, такие как IDA и разложить их на источник, если вам нужно.