8505

CS 4380 Project 1
Implement a Virtual Machine, which can execute the Test Program outlined below.
Use the following outline for submitting all projects.
Submit your project via canvas.
Your project MUST be packaged in a zip file the name of this .zip is:
YourName_p1.zip
Where YourName is your name
p1 is the name of the project
Note: Canvas will allow you to resubmit your project as many times as you want. Only the most
current version will be kept my Canvas and graded by me. I highly encourage you to submit early
and often. If you wait to the last moment and Canvas, the internet or your computer doesn’t work
then THIS IS A MISTAKE on your part.
Your project must include:
1. Source Code for your project.
2. Notes put directly in Canvas that tells me how to execute your program and other facts you
want me to know. Only needed if your project doesn’t work as I would expect ( vm,exe proj1.asm ). If
you know you have a bug tell me. I think it is better to know you have a bug than it is to look like I
found a bug you have no knowledge of.
3. proj1.asm this is your assembly file. This is what I grade. This file must be accepted as a command
line argument. I may rename the file just to check that your code really works. Don’t misname your
project
4. vm.exe this is your compiled executable. You must send an executable if your language doesn’t
support this then YOU Must build me a script to execute your program (vm.bat). Read if you don’t
understand what this means.
o Your executable must accept a command-line argument of the assembly file that it uses.
? vm.exe proj1.asm Don’t misname your project
? vm.bat proj1.asm Don’t misname your project
? As long as you leave me explicit instruction on how to run your scripting
language in Canvas I will accept it but you really should learn to use the
vm.bat file
o Be very careful using Visual Studio to make your program every year students send me
executes that will not execute on Windows because they are compiled incorrectly. Always
execute your program outside of the development environment before sending it to me (or
anyone else).
o Your program must not hang after running. I will execute it at command-line and will expect
it to finish when the program is done.

Attachments:

Project1.pdf