About NineMicro
Views
Enter and Run Program
Advanced Features and external hardware
reset
Quick Start
About NineMicro
Is a microprocessor simulator to assist in teaching of assembly language programming and to
illustrate the internal data movement of a microprocessor system.
Main Features
- Rapid turn round from program edit to program run, essential when learning to program
- On screen logs give textual explanation of each program step
- Runs on Windows/OSX/Linux/Raspberry Pi (Android version also available)
- CPU Simulation
- Show Fetch/Decode/Execute cycle and internal data
- Shows values as binary/hexadecimal/decimal to help learn numbering systems
- Save/Load Programs
- Save comments with the program to explain its purpose and operation
- Built in "Data Scope" a logic analyzer to show a visualisation of the output data
- Interface signals to/from real world via external hardware such as Arduino & Raspberry Pi
- Network and connect to other copies of the program. For example the output of one simulator can provide
the input to another
- Drag and Drop programs and setup files to quickly set up demonstrations for lectures and classes
- Easy "typing free" program input using drop down lists - so no typing errors
The Views
Programmers View/Internal View/Instruction View
Programmers View
Only shows the main system components
The Internal View
This shows the internal dataflow between system components and the full fetch/decode/execute cycle.
For teaching purposes it can be useful to just examine the execution of each of the processors instruction
set. To allow this the internal view can be set into "Instruction Mode" from the special menu.
In this mode only one location is shown in the PROM. Choose the instruction and then step through the instruction.
An explanation of each instruction is shown in the FED(Fecth/Decode/Execute) Log show at the top of the simulator.
When the instruction has finished it can be run again by pressing the rest button.
Entering and Running Programs
A good way to get familiar with the programs operation is to load the built-in demonstration program
, or to load one of sample programs supplied with the distribution.
To load the inbuilt demo program choose one from the file menu.
Once the program has loaded you can either single step through it, using the step button, or run it in
automatic mode - just press the run button.
With the demo program running you will see the indicators of the output port changing. To visualise
how the output has changed over time, switch on the datascope.
The datascope shows the pattern of data on the output port after each program step. To show the datascope
enable it from the "view' menu. Once visible the data scope can be switched on/off, cleared, or a grid overlayed
on its screen.
Quick Start
If you wish to jump into using the simulator, here are some tips to get you started.
RESET
Will reset the program counter to 0 and the RAM back to its initial values
RAM Contents
To change the ram contents click on the RAM area and a configuration window will be shown.
Set Default RAM Contents
To save the current RAM contents as the default value choose "Save RAM Defaults" from the tools menu.
Show/Hide Components
The logs, file comments, run controls , datascope can be hidden as required.
Background Colour
To aid visibility with data projectors the background of the simulator can be changed from the Tools menu.
Saving Programs
When a program is saved the state of the i/o ports and RAM contents are also saved along with any comments
in the file comment box.
Saving RAM data only to a file
For setting up demonstrations or programming challenges it can be useful to save just the RAM and Port
data without any program data. This option is available on the file menu.
Loading Programs or RAM and Port data
Use the file open menu or drag and drop the file onto the PROM area
Advanced Features
The simulator can control real hardware enable it to interface to the outside world via external devices
such as arduino or raspberry pi. The simulator can also be networked to another simulator allowing the
output of one to provide the input to another to demonstrate simple communications.
For details of these features or to get copies of the Raspberry pi interface program please email
support@ninelocks.com