Your goal is to have a working processor in a software. Write it in C language. Your program should be able to load a binary executable (.com) format. Show debugging capabilities (an interface that allows to step an instruction,change a register, run, quit,...). The emulator should support direct output. The main goal is to have a working processor in a software. Since it’s software, everything would be program variables. Like one program variable will be Huge Array which is memory, 1 MB of memory is analog of physical memory installed in PC, another variable would be offset variable which will correspond to your registers.