Я столкнулся к проблеме с PIC с Микро контроллером.
Мне запрограммировал микроконтроллер я давным-давно, и я потерял соответствующий исходный код и принципиальные схемы. Теперь я должен инвертировать значение порта. Я могу сделать это использование некоторых логических элементов НЕ, но это - большая стычка, чтобы сделать так. или альтернативно я должен буду записать целую программу обратно.
Я не ожидаю видеть код назад в PIC C или MikroC. Наличие понятного ассемблерного кода было бы достаточно.
У кого-либо есть опыт в хорошем ШЕСТНАДЦАТЕРИЧНОМ декомпиляторе, который я могу использовать с этой целью? Какие-либо комментарии на основе Вашего опыта?:)
РЕДАКТИРОВАНИЕ: устройство PIC 16F84 А
Декомпиляция вряд ли будет практическим решением, и еще менее вероятно, что инструмент для вашей конкретной комбинации компилятора и набора команд вообще существует.
Дизассемблирование, однако, несложно, хотя сможете ли вы разобраться в полученном коде - другой вопрос, поскольку в HEX-файле не сохраняются никакие комментарии или символы; если у вас есть исходный объектный код, он может сделать разборку более читаемой. Доступно множество дизассемблеров PIC, просто погуглите; Я не могу направить вас к какому-либо конкретному, потому что существует ряд семейств PIC с разными наборами инструкций, а вы не указали.
Простым подходом к дизассемблированию было бы просто загрузить ваш HEX-файл в MPLAB и выбрать View-> Disassembly Listing, затем щелкнуть правой кнопкой мыши окна и выбрать «Вывод в файл». Этот вывод может потребовать некоторой обработки, чтобы он стал пригодным для ввода в ассемблер.
У вас должна быть возможность загрузить шестнадцатеричный файл в MPLAB IDE и просмотреть код сборки оттуда, а также запустить его и пройти через код в симуляторе, если я не ошибаюсь.
Вы также можете использовать его для чтения кода с устройства, если оно не защищено кодом.
В официальном техническом справочнике PICList есть список дизассемблеров PIC.
Многие люди никогда не используют автономный дизассемблер, а предпочитают использовать дизассемблер внутри своего любимого симулятора PIC.