// 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/2/ALU-basic.tst // Tests the basic version of the ALU chip. // DOES NOT replace the final test provided by ALU.tst. // Specifically: Tests the ALU logic that computes the 'out' output; // The 'zr' and 'ng' output bits are ignored. load ALU.hdl, output-file ALU-basic.out, compare-to ALU-basic.cmp, output-list x%B1.16.1 y%B1.16.1 zx nx zy ny f no out%B1.16.1; set x %B0000000000000000, set y %B1111111111111111, set zx 1, set nx 0, set zy 1, set ny 0, set f 1, set no 0, eval, output; set zx 1, set nx 1, set zy 1, set ny 1, set f 1, set no 1, eval, output; set zx 1, set nx 1, set zy 1, set ny 0, set f 1, set no 0, eval, output; set zx 0, set nx 0, set zy 1, set ny 1, set f 0, set no 0, eval, output; set zx 1, set nx 1, set zy 0, set ny 0, set f 0, set no 0, eval, output; set zx 0, set nx 0, set zy 1, set ny 1, set f 0, set no 1, eval, output; set zx 1, set nx 1, set zy 0, set ny 0, set f 0, set no 1, eval, output; set zx 0, set nx 0, set zy 1, set ny 1, set f 1, set no 1, eval, output; set zx 1, set nx 1, set zy 0, set ny 0, set f 1, set no 1, eval, output; set zx 0, set nx 1, set zy 1, set ny 1, set f 1, set no 1, eval, output; set zx 1, set nx 1, set zy 0, set ny 1, set f 1, set no 1, eval, output; set zx 0, set nx 0, set zy 1, set ny 1, set f 1, set no 0, eval, output; set zx 1, set nx 1, set zy 0, set ny 0, set f 1, set no 0, eval, output; set zx 0, set nx 0, set zy 0, set ny 0, set f 1, set no 0, eval, output; set zx 0, set nx 1, set zy 0, set ny 0, set f 1, set no 1, eval, output; set zx 0, set nx 0, set zy 0, set ny 1, set f 1, set no 1, eval, output; set zx 0, set nx 0, set zy 0, set ny 0, set f 0, set no 0, eval, output; set zx 0, set nx 1, set zy 0, set ny 1, set f 0, set no 1, eval, output; set x %B101101110100000, set y %B001111011010010, set zx 1, set nx 0, set zy 1, set ny 0, set f 1, set no 0, eval, output; set zx 1, set nx 1, set zy 1, set ny 1, set f 1, set no 1, eval, output; set zx 1, set nx 1, set zy 1, set ny 0, set f 1, set no 0, eval, output; set zx 0, set nx 0, set zy 1, set ny 1, set f 0, set no 0, eval, output; set zx 1, set nx 1, set zy 0, set ny 0, set f 0, set no 0, eval, output; set zx 0, set nx 0, set zy 1, set ny 1, set f 0, set no 1, eval, output; set zx 1, set nx 1, set zy 0, set ny 0, set f 0, set no 1, eval, output; set zx 0, set nx 0, set zy 1, set ny 1, set f 1, set no 1, eval, output; set zx 1, set nx 1, set zy 0, set ny 0, set f 1, set no 1, eval, output; set zx 0, set nx 1, set zy 1, set ny 1, set f 1, set no 1, eval, output; set zx 1, set nx 1, set zy 0, set ny 1, set f 1, set no 1, eval, output; set zx 0, set nx 0, set zy 1, set ny 1, set f 1, set no 0, eval, output; set zx 1, set nx 1, set zy 0, set ny 0, set f 1, set no 0, eval, output; set zx 0, set nx 0, set zy 0, set ny 0, set f 1, set no 0, eval, output; set zx 0, set nx 1, set zy 0, set ny 0, set f 1, set no 1, eval, output; set zx 0, set nx 0, set zy 0, set ny 1, set f 1, set no 1, eval, output; set zx 0, set nx 0, set zy 0, set ny 0, set f 0, set no 0, eval, output; set zx 0, set nx 1, set zy 0, set ny 1, set f 0, set no 1, eval, output;