39 lines
		
	
	
		
			952 B
		
	
	
	
		
			Scilab
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			952 B
		
	
	
	
		
			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/05/ComputerMax-external.tst
 | |
| 
 | |
| load Computer.hdl,
 | |
| output-file ComputerMax-external.out,
 | |
| compare-to ComputerMax-external.cmp,
 | |
| output-list time%S1.4.1 reset%B2.1.2 RAM16K[0]%D1.7.1 RAM16K[1]%D1.7.1 RAM16K[2]%D1.7.1;
 | |
| 
 | |
| // Load a program written in the Hack machine language.
 | |
| // The program computes the maximum of RAM[0] and RAM[1] 
 | |
| // and writes the result in RAM[2].
 | |
| ROM32K load Max.hack,
 | |
| 
 | |
| // first run: compute max(3,5)
 | |
| set RAM16K[0] 3,
 | |
| set RAM16K[1] 5,
 | |
| output;
 | |
| 
 | |
| repeat 14 {
 | |
|     tick, tock, output;
 | |
| }
 | |
| 
 | |
| // reset the PC
 | |
| set reset 1,
 | |
| tick, tock, output;
 | |
| 
 | |
| // second run: compute max(23456,12345)
 | |
| set reset 0,
 | |
| set RAM16K[0] 23456,
 | |
| set RAM16K[1] 12345,
 | |
| output;
 | |
| 
 | |
| // The run on these inputs needs less cycles (different branching)
 | |
| repeat 10 {
 | |
|     tick, tock, output;
 | |
| }
 |