¿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: