Aspects of WIMP

1- Address/data bus: You can see in the picture that an address is currently being transfered to the MAR.
2- Registers and decoders. You can probably see that they are grouped according to the 4 modules (Control, ALU, Memory, and I/O).
3- Output window: this is where the data gets dumped when the OUT operation is executed.
4- Line Add/Delete: these add/delete lines to and from the main store. 5- Control Buttons: The functions of these are as follows from left to right respectively: "Jump to previous line", "Stop Execution", "Start/Pause Execution", "Jump to next step in execution of current line", "Jump to next line"
6- This slider controls the execution speed (simply by controlling the speed of data transfers).
7- This is the main store. Each row represents a memory unit. The left column is the address, the middle column is where you put the assembly code, and the right column is where you put comments.
Using WIMP
Data Input
You start off by inputting data into the main store. The program always starts executing from line 100, so put your first statement there. You can enter code by double clicking on the memory unit. You can also load code from a file by selecting "Open" in the menu. Note that the size of the main store is 1024 memory units, and the first 100 is reserved for the use by the stack. The small "+" and "-" buttons are "Insert New Row" and "Delete Row". They both apply to the current selected row.
Running the Code
You can start running the code by pressing the "Run" button (The middle one). Pressing the same button will cause the execution to pause. The right button will cause the program to go to the next step and pause. Pressing the "Run" button when paused will cause the program to start running from where it paused. The "Stop" button will cause the operation to stop completely. Note that although the values of the registers remains visible, all registers get reset in the next running. The speed of the transfer can be set between a value of 1 and 20 using the slider bar next to the control buttons. You can also select an option which stops the data transfer animations from being displayed. This option only activates in the next running.
Preferences
You can set the following preferences:
-Automatic nudging of in-code addresses Inserting or deleting rows may result in some addresses inside the code pointing to the wrong memory unit. This setting will cause the address inside the code to automatically be updated to point to the correct address when rows are inserted or deleted.
-Show Output Turning this off will stop the display of any kind of visual output other than the output window and memory during execution.
-Show Animations Turning this on will allow the display of all animations. Turn this off if you just want to use WIMP for calculations...
-Code Colouring You can set different colours for different types of data. Click on the rectangle to set the colour.
-Show Output Turning this off will stop the display of any kind of visual output other than the output window and memory during execution.
-Show Animations Turning this on will allow the display of all animations. Turn this off if you just want to use WIMP for calculations...
-Code Colouring You can set different colours for different types of data. Click on the rectangle to set the colour.