Вопрос

Есть какие-нибудь переводчики ассемблера?

То, что я ищу:

  • У меня есть некоторый код прошивки на ассемблере, который я хочу запустить, но не на самом оборудовании.
  • Я хотел бы запустить код и посмотреть, что он делает.

Итак, существует ли какой-нибудь бесплатный и простой в использовании симулятор сборки?

Есть какие-нибудь другие указания, которые вы можете придумать?

Это было полезно?

Решение

Вам следует заглянуть в какой-нибудь эмулятор процессора только для того, чтобы вы могли "интерпретировать" сборку, например: Qemu ( Цэму ) или Бочи

Другие советы

Чтобы запустить ассемблерный код, предназначенный для определенного устройства, вам нужно будет запустить его с помощью эмулятора, который специально эмулирует это устройство.Эмулятор x86, такой как Qemu, будет совершенно неспособен запускать ассемблерный код, написанный для ядра процессора ARM.Это не тот случай, когда "почти работает", но он даже не сможет выполнить первую инструкцию.

Как упомянутый Джейсоном С, эмуляция периферийных устройств или чего-либо за пределами ядра процессора очень специфична для вашего устройства.Детали могут даже отличаться в разных версиях печатной платы.

Если вам просто интересно, что делает ассемблерный код, возможно, вам было бы лучше ознакомиться со справочным руководством по процессору и изучить каждую инструкцию по очереди.Если вы собираетесь выполнять какую-либо серьезную работу с этим устройством, вам все равно рано или поздно понадобятся эти знания.

Короткий ответ:ДА.

Более длинный ответ:Зависит от процессора, для которого у вас есть сборка, и от того, с какими периферийными устройствами вы взаимодействуете.В мире существует буквально 1000 различных комплектаций процессоров.

Для сборки x86 вы могли бы использовать эмулятор ПК x86, такой как Bochs.

Возможно, но, пожалуйста, обратите внимание, что одно дело эмулировать основной набор команд, и совсем другое - обрабатывать периферийные устройства.

Если вы просто эмулируете алгоритм, который работает с данными, вам, вероятно, сойдет с рук простая эмуляция ядра процессора.

Если вам нужно эмулировать аналого-цифровой преобразователь, UART или драйвер PWM, это совсем другая игра.Набор команд ядра процессора (обычно) хорошо определен до такой степени, что вы могли бы довольно хорошо имитировать его поведение.Периферийные устройства указаны только для того, чтобы показать их функциональные требования, а не для того, чтобы гарантировать их поведение достаточно точно, чтобы создать эмулятор без необходимости знать, как они реализовали рассматриваемое периферийное устройство.

Как я видел, у вас есть ассемблерный код для dsPIC30F4011.Этот код специфичен для данного устройства с микрочипами RISC.Вам нужно скачать IDE для dsPIC, я предлагаю скачать с MPLAB из, https://www.microchip.com/mplab/mplab-x-ide.После этого попробуйте создать проект для dsPIC30F4011 и добавьте свой файл сборки.Затем попробуйте использовать американский симулятор, чтобы посмотреть, что делает ваш код.Этого более чем достаточно для начала.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top