Skip to content
/ MiniVm Public

A mini-virtual machine that has 8 registers of 4 bytes and interprets a series of commands.

License

Notifications You must be signed in to change notification settings

barufa/MiniVm

Repository files navigation

MiniVm

La máquina posee una única memoria y su propio lenguaje para ejecutar programas dentro de esta. Este lenguaje consta inicialmente de 17 instrucciones (NOP, MOV, LW, SW, PUSH, POP, PRINT, READ, ADD, SUB, MUL, DIV, CMP, JMP, JMPE, JMPL y HLT) las cuales trabajan con operandos de 4 bytes.

Como usar

Para ejecutar algún código en la mini-vm este debe ser pasado en un archivo de extensión asm como argumento del programa a través de la terminal. Dentro de la Mini-VM las funciones yyparse() y processLabels() se encargan de convertir el código en instrucciones ejecutables por la Mini-VM, que son almacenadas en un arreglo code de tipo struct Instruction (una estructura que almacena la instrucción con sus operandos) para poder realizar las operaciones. Una vez hecho esto se imprime el código en pantalla y se llama a la función run() para ejecutarlo. La función run() consiste en un bucle que ejecuta instrucción por instrucción hasta llegar a la instrucción HTL que denota el fin del programa.

About

A mini-virtual machine that has 8 registers of 4 bytes and interprets a series of commands.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published