/CpuSimulator

Computer Organization Project

Primary LanguageC

This repo hosts code for two distinct executables: asm.exe and sim.exe. Usage of these execs is via CLI, i.e.:

asm.exe program.asm imemin.txt dmemin.txt sim.exe imemin.txt dmemin.txt diskin.txt irq2in.txt dmemout.txt regout.txt trace.txt hwregtrace.txt cycles.txt leds.txt display7seg.txt diskout.txt monitor.txt monitor.yuv

Where the actual assembly code supplied by the user (henceforth: the program) is loacted in program.asm, and the machine code generated by the asm.exe is located in imemin.txt.

To support easy development and debugging, the command line arguments are supplied via project configuration; however, at later stages of the development it became important to support differnet input/output locations and files, therefore usage of #defines within main.c was made, i.e. use #define TEST "<test_name>" alter the input/output files' locations to a directory that hosts disktest.asm instead of the generic program.asm (filenames generally don't change, except for the program's name).

current solution looks like this in Simulator:

image

and Assembler:

image

make sure you use #define "program", since the string value is used to determine the enitre path!