NOTICE! Use of this site signifies acceptence of the Contract for site usage




This page contains source and executable versions of programs I've written over the years.

For now, this will be kind of bare -- just two major programs I've written. More will be added later.

VIM
VIM stands for VIrtual Machine. Long ago, I wrote an interpreter for x86 machine code. Setup as a debugger, it handles up to REAL MODE 80286 code.

Since this is a debugger, I can't let a bad program take out the interrupt vectors, DOS, or whatever. Hence the "Virtual" in the name -- VIM takes whatever memory it can get, and sets up the interpreter to use a "virtual" processor. So, when the interpreter uses Interrupts, DOS, etc, it's using the virtual copy, so that a bad program destroying them won't hurt VIM, the real DOS, real interrupt vectors, etc.


CODEGEN
CODEGEN is a disasembler that I wrote, based on the VIM instruction decoder.

While it is limited to COM programs (and other non-segmented files, such as boot records, etc) and small-memory-model EXE programs, it is more intelligent and more flexible than any other disassembler that I've seen.




BACK






These pages last modified 1/10/2001