Domanda

Qualche interprete di assembly là fuori?

Cosa sto cercando:

  • Ho un codice firmware di assemblaggio che voglio eseguire, ma non sull'hardware reale.
  • Vorrei eseguire il codice e vedere cosa sta facendo.

Quindi, c'è una sorta di simulatore di assemblaggio gratuito e facile da usare là fuori?

Qualche altro suggerimento ti viene in mente?

È stato utile?

Soluzione

Dovresti esaminare alcuni emulatori di processori solo in questo modo che puoi "interpretare" assembly, ad esempio: Qemu o Bochs

Altri suggerimenti

Per eseguire il codice assembly progettato per un determinato dispositivo, è necessario eseguirlo con un emulatore che emuli specificamente quel dispositivo. Un emulatore x86 come Qemu non sarà assolutamente in grado di eseguire il codice assembly scritto per un core della CPU ARM. Questo non è un caso di "quasi funziona", ma non sarà nemmeno in grado di eseguire la prima istruzione.

Come menzionato da Jason S , l'emulazione di periferiche o qualsiasi cosa al di fuori del core della CPU è molto specifica al dispositivo che hai. I dettagli possono persino differire tra le revisioni PCB.

Se sei solo curioso di sapere cosa sta facendo il codice assembly, potresti essere meglio sederti con il manuale di riferimento della CPU ed esaminare ciascuna istruzione a turno. Se hai intenzione di fare un lavoro serio con questo dispositivo, dovrai comunque avere queste conoscenze alla fine.

Risposta breve: Sì.

Risposta più lunga: dipende dalla CPU di cui si dispone l'assemblaggio e dal tipo di periferiche con cui si interfaccia. Esistono letteralmente migliaia di pacchetti di CPU diversi nel mondo.

Per l'assemblaggio x86, è possibile utilizzare un emulatore per PC x86 come Bochs.

Probabilmente, ma tieni presente che una cosa è emulare il set di istruzioni di base e un'altra ancora gestire le periferiche.

Se stai solo emulando un algoritmo che funziona sui dati, probabilmente puoi cavartela semplicemente emulando il core della CPU.

Se devi emulare un convertitore da analogico a digitale o un driver UART o PWM, è un gioco con la palla completamente diverso. Il set di istruzioni del core della CPU è (di solito) ben specificato al punto in cui si potrebbe imitare abbastanza bene il suo comportamento. Le periferiche sono specificate solo per mostrare i loro requisiti funzionali e non per garantire il loro comportamento in modo sufficientemente preciso da creare un emulatore senza dover sapere come hanno implementato la periferica in questione.

Come ho visto, hai un codice assembly per dsPIC30F4011. Questo codice è specifico per questa macchina microchip RISC. Devi scaricare IDE per dsPIC, ti suggerisco di scaricare da MPLAB da, https://www.microchip.com/mplab/mplab-x-ide. Successivamente, prova a creare un progetto per dsPIC30F4011 e aggiungi il tuo file di assieme. Quindi prova con noi simulatore, per vedere cosa sta facendo il tuo codice. Questo è più che sufficiente per iniziare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top