Files
eceg431/04/mult/Mult.tst

79 lines
2.0 KiB
Scilab

// This file is part of www.nand2tetris.org
// and the book "The Elements of Computing Systems"
// by Nisan and Schocken, MIT Press.
// File name: projects/4/mult/Mult.tst
// Tests the Mult program, designed to compute R2 = R0 * R1.
// Tests the program by having it multiply several sets of
// R0 and R1 values.
load Mult.asm,
output-file Mult.out,
compare-to Mult.cmp,
output-list RAM[0]%D2.6.2 RAM[1]%D2.6.2 RAM[2]%D2.6.2;
set RAM[0] 0, // Sets R0 and R1 to some input values
set RAM[1] 0,
set RAM[2] -1; // Ensures that the program initialized R2 to 0
repeat 20 {
ticktock;
}
set RAM[0] 0, // Restores R0 and R1 in case the program changed them
set RAM[1] 0,
output;
set PC 0,
set RAM[0] 1, // Sets R0 and R1 to some input values
set RAM[1] 0,
set RAM[2] -1; // Ensures that the program initialized R2 to 0
repeat 50 {
ticktock;
}
set RAM[0] 1, // Restores R0 and R1 in case the program changed them
set RAM[1] 0,
output;
set PC 0,
set RAM[0] 0, // Sets R0 and R1 to some input values
set RAM[1] 2,
set RAM[2] -1; // Ensures that the program initialized R2 to 0
repeat 80 {
ticktock;
}
set RAM[0] 0, // Restores R0 and R1 in case the program changed them
set RAM[1] 2,
output;
set PC 0,
set RAM[0] 3, // Sets R0 and R1 to some input values
set RAM[1] 1,
set RAM[2] -1; // Ensures that the program initialized R2 to 0
repeat 120 {
ticktock;
}
set RAM[0] 3, // Restores R0 and R1 in case the program changed them
set RAM[1] 1,
output;
set PC 0,
set RAM[0] 2, // Sets R0 and R1 to some input values
set RAM[1] 4,
set RAM[2] -1; // Ensures that the program initialized R2 to 0
repeat 150 {
ticktock;
}
set RAM[0] 2, // Restores R0 and R1 in case the program changed them
set RAM[1] 4,
output;
set PC 0,
set RAM[0] 6, // Sets R0 and R1 to some input values
set RAM[1] 7,
set RAM[2] -1; // Ensures that the program initialized R2 to 0
repeat 210 {
ticktock;
}
set RAM[0] 6, // Restores R0 and R1 in case the program changed them
set RAM[1] 7,
output;