1. ¿Cuál es el objetivo de este proyecto con sus palabras y describa que debe hacer para desarrollarlo?

Crear un traductor de VM básico, centrándose en la implementación de la aritmética de pila de lenguajes de VM y el comando de acceso a la memoria


2. En el sitio web respectivo para esta práctica (no olvide identificarlo correctamente), mencione los principales elementos de entrega de la práctica: códigos realizados (bien explicados), resultados relevantes obtenidos y descripción de los mismos.

SimpleAddVME.tst

load SimpleAdd.vm,

output-file SimpleAdd.out,

compare-to SimpleAdd.cmp,

output-list RAM[0]%D2.6.2 RAM[256]%D2.6.2;

set RAM[0] 256,

repeat 3 {

vmstep;

}

output;




STACKTESTVME.tst

load StackTest.vm,

output-file StackTest.out,

compare-to StackTest.cmp,

output-list RAM[0]%D2.6.2

RAM[256]%D2.6.2 RAM[257]%D2.6.2 RAM[258]%D2.6.2 RAM[259]%D2.6.2 RAM[260]%D2.6.2;+

set RAM[0] 256,

repeat 38 {

vmstep;

}

output;

output-list RAM[261]%D2.6.2 RAM[262]%D2.6.2 RAM[263]%D2.6.2 RAM[264]%D2.6.2 RAM[265]%D2.6.2;

output;




BASICTESTVME.tst

load BasicTest.vm,

output-file BasicTest.out,

compare-to BasicTest.cmp,

output-list RAM[256]%D1.6.1 RAM[300]%D1.6.1 RAM[401]%D1.6.1

RAM[402]%D1.6.1 RAM[3006]%D1.6.1 RAM[3012]%D1.6.1

RAM[3015]%D1.6.1 RAM[11]%D1.6.1;

set sp 256,

set local 300,

set argument 400,

set this 3000,

set that 3010,

repeat 25 {

vmstep;

}

output;




BASICTESTVME.tst

load BasicTest.vm,

output-file BasicTest.out,

compare-to BasicTest.cmp,

output-list RAM[256]%D1.6.1 RAM[300]%D1.6.1 RAM[401]%D1.6.1

RAM[402]%D1.6.1 RAM[3006]%D1.6.1 RAM[3012]%D1.6.1

RAM[3015]%D1.6.1 RAM[11]%D1.6.1;

set sp 256,

set local 300,

set argument 400,

set this 3000,

set that 3010,

repeat 25 {

vmstep;

}

output;




POINTERTESTVME.tst

load PointerTest.vm,

output-file PointerTest.out,

compare-to PointerTest.cmp,

output-list RAM[256]%D1.6.1 RAM[3]%D1.6.1 RAM[4]%D1.6.1

RAM[3032]%D1.6.1 RAM[3046]%D1.6.1;

set RAM[0] 256,

repeat 15 {

vmstep;

}

output;




STATICTESTVME.tst

load StaticTest.vm,

output-file StaticTest.out,

compare-to StaticTest.cmp,

output-list RAM[256]%D1.6.1;

set sp 256,

repeat 11 {

vmstep;

}

output;




Bibliografia:

Schocken, S. and Nisan, N., 2021. NAND2Tetris - Project 06. [online] NAND2Tetris. Disponible en: https://www.nand2tetris.org/project06


Video: