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:
26
07/MemoryAccess/BasicTest/BasicTest.tst
Normal file
26
07/MemoryAccess/BasicTest/BasicTest.tst
Normal file
@@ -0,0 +1,26 @@
|
||||
// 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/MemoryAccess/BasicTest/BasicTest.tst
|
||||
|
||||
// Tests BasicTest.asm on the CPU emulator.
|
||||
|
||||
load BasicTest.asm,
|
||||
output-file BasicTest.out,
|
||||
compare-to BasicTest.cmp,
|
||||
|
||||
set RAM[0] 256, // stack pointer
|
||||
set RAM[1] 300, // base address of the local segment
|
||||
set RAM[2] 400, // base address of the argument segment
|
||||
set RAM[3] 3000, // base address of the this segment
|
||||
set RAM[4] 3010, // base address of the that segment
|
||||
|
||||
repeat 600 { // enough cycles to complete the execution
|
||||
ticktock;
|
||||
}
|
||||
|
||||
// Outputs the value at the stack's base and some values from the tested memory segments
|
||||
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;
|
||||
output;
|
||||
32
07/MemoryAccess/BasicTest/BasicTest.vm
Normal file
32
07/MemoryAccess/BasicTest/BasicTest.vm
Normal file
@@ -0,0 +1,32 @@
|
||||
// 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/MemoryAccess/BasicTest/BasicTest.vm
|
||||
|
||||
// Executes pop and push commands.
|
||||
|
||||
push constant 10
|
||||
pop local 0
|
||||
push constant 21
|
||||
push constant 22
|
||||
pop argument 2
|
||||
pop argument 1
|
||||
push constant 36
|
||||
pop this 6
|
||||
push constant 42
|
||||
push constant 45
|
||||
pop that 5
|
||||
pop that 2
|
||||
push constant 510
|
||||
pop temp 6
|
||||
push local 0
|
||||
push that 5
|
||||
add
|
||||
push argument 1
|
||||
sub
|
||||
push this 6
|
||||
push this 6
|
||||
add
|
||||
sub
|
||||
push temp 6
|
||||
add
|
||||
28
07/MemoryAccess/BasicTest/BasicTestVME.tst
Normal file
28
07/MemoryAccess/BasicTest/BasicTestVME.tst
Normal file
@@ -0,0 +1,28 @@
|
||||
// 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/MemoryAccess/BasicTest/BasicTestVME.tst
|
||||
|
||||
// Tests and illustrates BasicTest.vm on the VM simulator.
|
||||
// Starts by setting the stack pointer and the base addresses
|
||||
// of relevant memory segments to selected RAM addresses.
|
||||
|
||||
load BasicTest.vm,
|
||||
output-file BasicTest.out,
|
||||
compare-to BasicTest.cmp,
|
||||
|
||||
set sp 256, // stack pointer
|
||||
set local 300, // base address of the local segment
|
||||
set argument 400, // base address of the argument segment
|
||||
set this 3000, // base address of the this segment
|
||||
set that 3010, // base address of the that segment
|
||||
|
||||
repeat 25 { // BasicTest.vm has 25 VM commands
|
||||
vmstep;
|
||||
}
|
||||
|
||||
// Outputs the value at the stack's base and some values from the tested memory segments
|
||||
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;
|
||||
output;
|
||||
22
07/MemoryAccess/PointerTest/PointerTest.tst
Normal file
22
07/MemoryAccess/PointerTest/PointerTest.tst
Normal file
@@ -0,0 +1,22 @@
|
||||
// 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/MemoryAccess/PointerTest/PointerTest.tst
|
||||
|
||||
// Tests PointerTest.asm on the CPU emulator.
|
||||
|
||||
load PointerTest.asm,
|
||||
output-file PointerTest.out,
|
||||
compare-to PointerTest.cmp,
|
||||
|
||||
set RAM[0] 256, // initializes the stack pointer
|
||||
|
||||
repeat 450 { // enough cycles to complete the execution
|
||||
ticktock;
|
||||
}
|
||||
|
||||
// Outputs the value at the stack's base, THIS, THAT, and
|
||||
// some values from the the this and that segments
|
||||
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;
|
||||
output;
|
||||
23
07/MemoryAccess/PointerTest/PointerTest.vm
Normal file
23
07/MemoryAccess/PointerTest/PointerTest.vm
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/MemoryAccess/PointerTest/PointerTest.vm
|
||||
|
||||
// Executes pop and push commands using the
|
||||
// pointer, this, and that segments.
|
||||
|
||||
push constant 3030
|
||||
pop pointer 0
|
||||
push constant 3040
|
||||
pop pointer 1
|
||||
push constant 32
|
||||
pop this 2
|
||||
push constant 46
|
||||
pop that 6
|
||||
push pointer 0
|
||||
push pointer 1
|
||||
add
|
||||
push this 2
|
||||
sub
|
||||
push that 6
|
||||
add
|
||||
22
07/MemoryAccess/PointerTest/PointerTestVME.tst
Normal file
22
07/MemoryAccess/PointerTest/PointerTestVME.tst
Normal file
@@ -0,0 +1,22 @@
|
||||
// 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/MemoryAccess/PointerTest/PointerTestVME.tst
|
||||
|
||||
// Tests and illustrates PointerTest.vm on the VM simulator.
|
||||
|
||||
load PointerTest.vm,
|
||||
output-file PointerTest.out,
|
||||
compare-to PointerTest.cmp,
|
||||
|
||||
set RAM[0] 256, // initializes the stack pointer
|
||||
|
||||
repeat 15 { // PointerTest.vm has 15 VM commands
|
||||
vmstep;
|
||||
}
|
||||
|
||||
// Outputs the stack base, THIS, THAT, and
|
||||
// some values from the the this and that segments
|
||||
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;
|
||||
output;
|
||||
20
07/MemoryAccess/StaticTest/StaticTest.tst
Normal file
20
07/MemoryAccess/StaticTest/StaticTest.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/MemoryAccess/StaticTest/StaticTest.tst
|
||||
|
||||
// Tests StaticTest.asm on the CPU emulator.
|
||||
|
||||
load StaticTest.asm,
|
||||
output-file StaticTest.out,
|
||||
compare-to StaticTest.cmp,
|
||||
|
||||
set RAM[0] 256, // initializes the stack pointer
|
||||
|
||||
repeat 200 { // enough cycles to complete the execution
|
||||
ticktock;
|
||||
}
|
||||
|
||||
// Outputs the value at the stack's base
|
||||
output-list RAM[256]%D1.6.1;
|
||||
output;
|
||||
18
07/MemoryAccess/StaticTest/StaticTest.vm
Normal file
18
07/MemoryAccess/StaticTest/StaticTest.vm
Normal file
@@ -0,0 +1,18 @@
|
||||
// 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/MemoryAccess/StaticTest/StaticTest.vm
|
||||
|
||||
// Executes pop and push commands using the static segment.
|
||||
|
||||
push constant 111
|
||||
push constant 333
|
||||
push constant 888
|
||||
pop static 8
|
||||
pop static 3
|
||||
pop static 1
|
||||
push static 3
|
||||
push static 1
|
||||
sub
|
||||
push static 8
|
||||
add
|
||||
20
07/MemoryAccess/StaticTest/StaticTestVME.tst
Normal file
20
07/MemoryAccess/StaticTest/StaticTestVME.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/MemoryAccess/StaticTest/StaticTestVME.tst
|
||||
|
||||
// Tests and illustrates StaticTest.vm on the VM simulator.
|
||||
|
||||
load StaticTest.vm,
|
||||
output-file StaticTest.out,
|
||||
compare-to StaticTest.cmp,
|
||||
|
||||
set sp 256, // initializes the stack pointer
|
||||
|
||||
repeat 11 { // StaticTest.vm has 11 VM commands
|
||||
vmstep;
|
||||
}
|
||||
|
||||
// Outputs the value at the stack's base
|
||||
output-list RAM[256]%D1.6.1;
|
||||
output;
|
||||
Reference in New Issue
Block a user