mirror of
https://github.com/soconnor0919/eceg431.git
synced 2025-12-11 22:54:43 -05:00
project07 - add project files
This commit is contained in:
20
07/StackArithmetic/SimpleAdd/SimpleAdd.tst
Normal file
20
07/StackArithmetic/SimpleAdd/SimpleAdd.tst
Normal file
@@ -0,0 +1,20 @@
|
||||
// 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/7/StackArithmetic/SimpleAdd/SimpleAdd.tst
|
||||
|
||||
// Tests SimpleAdd.asm on the CPU emulator.
|
||||
|
||||
load SimpleAdd.asm,
|
||||
output-file SimpleAdd.out,
|
||||
compare-to SimpleAdd.cmp,
|
||||
|
||||
set RAM[0] 256, // initializes the stack pointer
|
||||
|
||||
repeat 60 { // enough cycles to complete the execution
|
||||
ticktock;
|
||||
}
|
||||
|
||||
// Outputs the stack pointer and the value at the stack's base
|
||||
output-list RAM[0]%D2.6.2 RAM[256]%D2.6.2;
|
||||
output;
|
||||
10
07/StackArithmetic/SimpleAdd/SimpleAdd.vm
Normal file
10
07/StackArithmetic/SimpleAdd/SimpleAdd.vm
Normal file
@@ -0,0 +1,10 @@
|
||||
// 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/7/StackArithmetic/SimpleAdd/SimpleAdd.vm
|
||||
|
||||
// Pushes and adds two constants.
|
||||
|
||||
push constant 7
|
||||
push constant 8
|
||||
add
|
||||
20
07/StackArithmetic/SimpleAdd/SimpleAddVME.tst
Normal file
20
07/StackArithmetic/SimpleAdd/SimpleAddVME.tst
Normal file
@@ -0,0 +1,20 @@
|
||||
// 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/7/StackArithmetic/SimpleAdd/SimpleAddVME.tst
|
||||
|
||||
// Tests and illustrates SimpleAdd.vm on the VM simulator.
|
||||
|
||||
load SimpleAdd.vm,
|
||||
output-file SimpleAdd.out,
|
||||
compare-to SimpleAdd.cmp,
|
||||
|
||||
set RAM[0] 256, // initializes the stack pointer
|
||||
|
||||
repeat 3 { // SimpleAdd.vm has 3 VM commands
|
||||
vmstep;
|
||||
}
|
||||
|
||||
// Outputs the stack pointer and the value at the stack's base
|
||||
output-list RAM[0]%D2.6.2 RAM[256]%D2.6.2;
|
||||
output;
|
||||
23
07/StackArithmetic/StackTest/StackTest.tst
Normal file
23
07/StackArithmetic/StackTest/StackTest.tst
Normal file
@@ -0,0 +1,23 @@
|
||||
// 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/7/StackArithmetic/StackTest/StackTest.tst
|
||||
|
||||
// Tests StackTest.asm on the CPU emulator.
|
||||
|
||||
load StackTest.asm,
|
||||
output-file StackTest.out,
|
||||
compare-to StackTest.cmp,
|
||||
|
||||
set RAM[0] 256, // initializes the stack pointer
|
||||
|
||||
repeat 1000 { // enough cycles to complete the execution
|
||||
ticktock;
|
||||
}
|
||||
|
||||
// Outputs the stack pointer and the stack contents: RAM[256]-RAM[265]
|
||||
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;
|
||||
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;
|
||||
45
07/StackArithmetic/StackTest/StackTest.vm
Normal file
45
07/StackArithmetic/StackTest/StackTest.vm
Normal file
@@ -0,0 +1,45 @@
|
||||
// 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/7/StackArithmetic/StackTest/StackTest.vm
|
||||
|
||||
// Executes a sequence of arithmetic and logical operations on the stack.
|
||||
|
||||
push constant 17
|
||||
push constant 17
|
||||
eq
|
||||
push constant 17
|
||||
push constant 16
|
||||
eq
|
||||
push constant 16
|
||||
push constant 17
|
||||
eq
|
||||
push constant 892
|
||||
push constant 891
|
||||
lt
|
||||
push constant 891
|
||||
push constant 892
|
||||
lt
|
||||
push constant 891
|
||||
push constant 891
|
||||
lt
|
||||
push constant 32767
|
||||
push constant 32766
|
||||
gt
|
||||
push constant 32766
|
||||
push constant 32767
|
||||
gt
|
||||
push constant 32766
|
||||
push constant 32766
|
||||
gt
|
||||
push constant 57
|
||||
push constant 31
|
||||
push constant 53
|
||||
add
|
||||
push constant 112
|
||||
sub
|
||||
neg
|
||||
and
|
||||
push constant 82
|
||||
or
|
||||
not
|
||||
23
07/StackArithmetic/StackTest/StackTestVME.tst
Normal file
23
07/StackArithmetic/StackTest/StackTestVME.tst
Normal file
@@ -0,0 +1,23 @@
|
||||
// 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/7/StackArithmetic/StackTest/StackTestVME.tst
|
||||
|
||||
// Tests and illustrates StackTest.vm on the VM simulator.
|
||||
|
||||
load StackTest.vm,
|
||||
output-file StackTest.out,
|
||||
compare-to StackTest.cmp,
|
||||
|
||||
set RAM[0] 256, // initializes the stack pointer
|
||||
|
||||
repeat 38 { // StackTest.vm has 38 VM commands
|
||||
vmstep;
|
||||
}
|
||||
|
||||
// Outputs the stack pointer (RAM[0]) and the stack contents: RAM[256]-RAM[265]
|
||||
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;
|
||||
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;
|
||||
Reference in New Issue
Block a user