Pergunta

Qualquer intérpretes de montagem lá fora?

O que eu estou procurando:

  • Eu tenho algum código assembly firmware eu quero correr, mas não sobre o hardware real.
  • Eu gostaria de executar o código e ver o que está fazendo.

Assim, há algum tipo de livre e fácil de usar montagem simulador lá fora?

Quaisquer outras dicas que você pode pensar?

Foi útil?

Solução

Você deve olhar para alguns emulador de processador única que maneira você pode "interpretar" a montagem, por exemplo: Qemu ou Bochs

Outras dicas

Para executar assembly de código que é projetado para um dispositivo em particular, você precisará executá-lo com um emulador que emula especificamente esse dispositivo. Um emulador x86 como Qemu será totalmente incapaz de executar código assembly escrito por um núcleo ARM CPU. Este não é um caso de "quase funciona", mas não vai mesmo ser capaz de executar a primeira instrução.

Como mencionado por Jason S , emulando periféricos ou qualquer coisa fora do núcleo da CPU é muito específico para o dispositivo que você tem. Detalhes pode até diferem entre revisões PCB.

Se você está apenas curioso sobre o que o código de montagem está fazendo, você pode ser melhor fora sentar-se com o manual de referência da CPU, e examinando cada instrução, por sua vez. Se você vai estar fazendo um trabalho sério com este dispositivo, você tem que ter esse conhecimento, eventualmente, de qualquer maneira.

Resposta curta: Sim.

resposta mais longa: Depende da CPU você tem de montagem para e que tipo de periféricos que são interface com. Há literalmente 1000s de diferentes embalagens de CPU do mundo.

Para x86 montagem, você poderia usar um PC x86 emulador como Bochs.

Provavelmente, mas por favor note que é uma coisa para emular o conjunto de instruções do núcleo, e outra bem diferente de lidar com os periféricos.

Se você está apenas emulando um algoritmo que opera em dados, você pode provavelmente começar afastado com apenas emulando o núcleo da CPU.

Se você precisa emular um analógico-digital conversor ou UART ou driver PWM, que é um jogo totalmente diferente. O conjunto de instruções núcleo da CPU é (geralmente) bem especificado para o ponto onde você poderia imitar seu comportamento muito bem. Os periféricos são especificados apenas para mostrar seus requisitos funcionais, e não para garantir o seu comportamento com precisão suficiente para fazer um emulador sem ter que saber como eles implementaram o periférico em questão.

Como eu vi que você tem de montagem código para dsPIC30F4011. Este código é específico para esta máquina RISC Microchip. Você precisa IDE de download para dsPIC, sugiro tomar download MPLAB de, https://www.microchip.com/mplab/mplab-x-ide. Depois que tentar criar projeto de dsPIC30F4011 e adicionar seu arquivo de montagem. Em seguida, tentar nos simulador, para ver o que está a fazer o seu código. Isso é mais do que suficiente para começar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top