write an emulator for x86
Budget: $30 – $250 USD
write an emulator for x86, capable of running simple assembler
code (binary format).
Submission: executable, source, examples, readme.
Make sure that submission actually gets to me!
Specifics:
Your program should be able to load a binary executable (.com) format
and perform the instructions one by one.
To be able to see that the program works, one should either implement
some output functions or be able to show the registers contents, of course
doing both is desirable.
For a good project, all the instructions covered so far plus those covered
within two weeks should be supported
Basic grading guidelines
C at least something works
B able to run a set of small programs (provide examples)
A surprise me .. there are plenty of ways of doing it:
– debugging capabilities (an interface that allows to step an instruction,change a register, run, quit,...)
– support direct output
– compute execution statistics
– support more commands
Important information that you miss for now:
• vars,arrays,computation of memory addresses
• ability to output *
• more instructions (remaining arithmetics)
• understanding the file format and how to load it *
• understanding the overall structure of the program *
• ability to terminate program *
• how to make sample files *
code (binary format).
Submission: executable, source, examples, readme.
Make sure that submission actually gets to me!
Specifics:
Your program should be able to load a binary executable (.com) format
and perform the instructions one by one.
To be able to see that the program works, one should either implement
some output functions or be able to show the registers contents, of course
doing both is desirable.
For a good project, all the instructions covered so far plus those covered
within two weeks should be supported
Basic grading guidelines
C at least something works
B able to run a set of small programs (provide examples)
A surprise me .. there are plenty of ways of doing it:
– debugging capabilities (an interface that allows to step an instruction,change a register, run, quit,...)
– support direct output
– compute execution statistics
– support more commands
Important information that you miss for now:
• vars,arrays,computation of memory addresses
• ability to output *
• more instructions (remaining arithmetics)
• understanding the file format and how to load it *
• understanding the overall structure of the program *
• ability to terminate program *
• how to make sample files *