Utilization
To utilize emuMIC is so easy and intuitive, however here is described the mechanics. Donwload and Start
1)emuMIC is a Java application, so ,to start it you need to possess or to have yet installed on your machine the JavaVirtualMachine(JVM),free downloadable from the site : www.sun.com (suggested version 1.6).
2)
After the installation, if needed, of JVM, you can download emuMIC.tar.gz file from page, and now you've to untar the tarball with your favourite compressed file manager.
3)
Now you have to go in the uncompressed file folder and click on the emuMIC.jar file.
(if program don't starts, maybe you have an obsolete JVM version).
Translation and Execution of microPrograms
1)You can write your own microProgram in the text area called microProgram,or you can paste microCode with ctrl+V from your note.
2)
Once you wrote microCode you have to start the MAL translator,called Ernest, with the button Translate&Load,that you can find in the MIC-1 Control Panel
Ernest is so smart, if microCode has ambiguity and/or errors, it will advert you writing its message in the text area called malOutput,in translation error case will stop and you will not start nothing!
If Ernest doesn't find errors writes you microCode in the MIC-1 ControlStore and starts the machine(however it will not start computation!)and advice you with the message: "Translation successfully completed!"
When the machine will be started MPC will contain the address of the first microInstruction to execute,the controlStore will contain all the translated microInstruction and the clock will be on the beginning point of its first subCycle.
3)
You can now start computation pressing Start.
When the algorithm is executed, MIC-1 will stop, and the register or the memory will contain the results of computation!
If your code has gone into an infinite loop, you can stop it pressing the Stop button (beside Start button).
Stop button will stop computation at the end of the current clock cycle,the registers and the memory will contain, results of computation!
If you want you can reset the value of all register of the machine, only pressing Reset button (beside Stop button).
4)
Instead of start automatic computation of all the algorithm, you can execute all the subcycle one per times.
subCycle button activate itself when microCode translation was completed or after the Reset button pression.
Per each pression of subCycle button will be executed a clock sub cycle and will be ligth up the interested circuit parts;at the end of the entire clock cycle will be executed the next clock cycle. (Computation will not automatically stopped after execution of the last instruction in the algorithm!)
Registers and Memory Inizialization
In every moment you can initialize registers and memory's words with value that you decide using the proper masks in the Initialize menu.IMPORTANT: memory's cell addresses have to be expressed with hexadecimal value(0xXYZ) , as the value to be assigned have to be expressed with decimal,with eventual sign!