¿Qué conocimientos necesitas saber si quieres escribir una máquina virtual?
Una máquina virtual es una computadora abstracta que tiene un conjunto de instrucciones y utiliza diferentes áreas de almacenamiento como una computadora real. Se encarga de ejecutar instrucciones y también de gestionar datos, memoria y registros. Esta máquina virtual proporciona una interfaz coherente para el compilador en cualquier plataforma. El compilador solo necesita estar orientado a la máquina virtual, generar código que la máquina virtual pueda entender y luego el intérprete convertirá el código de la máquina virtual en código de máquina para un sistema específico para su ejecución.
La máquina virtual es parte del simulador y es un gran proyecto. Aprender el código del simulador de otras personas debería ser de gran ayuda. De hecho, implementamos esta máquina virtual para implementar un compilador. La introducción en los libros "Principios y diseño de compilación" y "Principios de compilación" le será de gran ayuda. Para escribir una máquina virtual, es necesario comprender los siguientes aspectos:
1. Primero, es necesario comprender el sistema de instrucciones de la arquitectura de la máquina virtual y qué instrucciones tiene. Formato de instrucción, modo de direccionamiento, etc.
2. Implementar cada instrucción. Escriba una función para cada instrucción para ejecutar la instrucción. Esto requiere profundas habilidades de programación.
3. Si sabes lo suficiente sobre la máquina virtual java. . Hay un libro llamado "Máquina virtual Java en profundidad". ¡Puedes investigar un poco! Puede serte de gran ayuda.