Input/Output Instructions

The next set of instructions is for input/output. Our emulator does not implement these, but in a real machine, these would be used for implementing input and output via the various pieces of hardware in the machine (hard disk, floppy drive, keyboard, screen, mouse, etc). At present, our rudimentary machine does not even accept input. It can only output by writing to screen memory. However, all of the other features of a complete machine are there. It would not be difficult to implement some input and output instructions and turn our machine into a real computer.

The final instructions for our machine have already been described, with NOP doing nothing, and HLT halting execution of our machine.

This completes the description of our emulated 16 bit computer. The possibilities are endless, and we look forward to seeing what FriedSpace readers will do with the bare bones emulator we have described. Send us your attempts at building on this project and we'll feature them on our site. At this point it is not too hard to do better than we have. Our program only prints some coloured letters on the screen, but we are sure you can do better. Good luck!

Here again are the three files for this project: main.c, emulate.h and emulate.c. Don't forget to use Pelles C version 4.00 or greater to compile these.