Archive for September 2011

C# x86 Assembly Interpreter

It’s been a while since my last post because work and school have both kept me pretty busy lately, so I figure I’ll take the time to post a link to one of my more recent projects (conveniently hosted on Google Code) here for any who might be interested in learning a bit more about basic x86 assembly instructions, cpu architecture, or the concept of emulation in general.

Because for some strange reason I’m still rather fond of writing code in assembler every now and then, I wanted to create a small x86 assembly interpreter written in C# for an independent study course I took over the summer, and this application was the result. I also had a lot of fun digging through my Intel reference manuals brushing up on some of the things I’ve forgotten, as the manuals (architecture, developers, and optimization manuals in particular) are a surprisingly good read in some parts.

This application is more or less a proof of concept, and not to be confused with bullet proof code (which it’s definitely not :P), as it’s still well in its infancy. However, I feel that I’ve implemented enough functionality to still have plenty of fun with it. I figure it may be of use to somebody, and at the very least, is rather amusing plugging in various instructions and observing the results of the execution in realtime.

As always, if you have any questions feel free to ask, otherwise enjoy :)

Main Project
Compiled Binaries