viga una tutorialspoint simulationxpress qué que programacion online máquina maquina lenguaje leer hacer estructural estatico esfuerzos ensamblador emulator ejemplo ecured código compiler como codigo code caracteristicas assembler asm articulos analisis assembly emulation interpreter simulation

una - tutorialspoint assembly



Interpretación del código de ensamblaje (5)

¿Algún intérprete de asamblea por ahí?

Lo que estoy buscando:

  • Tengo un código de firmware de ensamblaje que quiero ejecutar, pero no en el hardware real.
  • Me gustaría ejecutar el código y ver qué está haciendo.

Entonces, ¿hay algún tipo de simulador de ensamblaje gratuito y fácil de usar que hay?

¿Alguna otra sugerencia que se te ocurra?


Debería buscar algún emulador de procesador solo de esa manera puede "interpretar" el ensamblaje, por ejemplo: Qemu o Bochs


Para el ensamblaje x86, puede usar un emulador de PC x86 como Bochs.


Probablemente, pero tenga en cuenta que una cosa es emular el conjunto de instrucciones básicas, y otra muy distinta manejar los periféricos.

Si solo está emulando un algoritmo que opera con datos, probablemente pueda salirse con la suya simplemente emulando el núcleo de la CPU.

Si necesita emular un convertidor analógico a digital o un controlador UART o PWM, ese es un juego de pelota completamente diferente. El conjunto de instrucciones del núcleo de la CPU está (normalmente) bien especificado hasta el punto en que podría imitar bastante bien su comportamiento. Los periféricos solo se especifican para mostrar sus requisitos funcionales, y no para garantizar su comportamiento lo suficientemente preciso como para hacer un emulador sin tener que saber cómo implementaron el periférico en cuestión.


Respuesta corta: Sí.

Respuesta más larga: depende de la CPU para la que tenga ensamblado y con qué tipo de periféricos se está conectando. Hay literalmente miles de diferentes embalajes de CPU en el mundo.


Para ejecutar un código ensamblador diseñado para un dispositivo en particular, deberá ejecutarlo con un emulador que emule específicamente ese dispositivo. Un emulador x86 como Qemu será completamente incapaz de ejecutar código ensamblado escrito para un núcleo de CPU ARM. Este no es un caso de "casi funciona", pero ni siquiera podrá ejecutar la primera instrucción.

Como mencionó Jason S , emular periféricos o cualquier cosa fuera del núcleo de la CPU es muy específico para el dispositivo que tienes. Los detalles pueden incluso diferir entre las revisiones de PCB.

Si solo tiene curiosidad acerca de lo que está haciendo el código ensamblador, sería mejor que se sentara con el manual de referencia de la CPU y examinara cada instrucción por turno. Si vas a hacer un trabajo serio con este dispositivo, de todos modos tendrás que tener ese conocimiento.