Simple Stack Machine

Wed, 2 March, 2011
atze at uu dot nl
User Interface


Machine model


User Interface
All topics from SSM
Example Code



Atze Dijkstra.


Main window

click to enlarge

UI Elements

The left larger pane describes the code, the middle one the stack, the right one the heap. Below the contents of the registers and an output window are shown. The toolbar (below the menu) allows loading of code and stepping forward and backward through the code. Stepping backward is accomplished by undoing the changes made to memory. Tooltip text appears automatically when hovering above the buttons with the mouse.

Code pane

The code pane respectively has columns for the Label (as retrieved whilst loading), the Address of an instructions, if the PC points to the address and a BreakPoint (BP) is set. The rest of the table contains the integer Value of the instruction, its mnemonic combined with arguments (Instr) and finally its arguments in hexadecimal form (Arg).

Stack pane

The stack pane has columns for the Address, the Value at the Address, which registers point to the location (RegPtrs) and an annotation (Annote) (see annote instruction).

Heap pane

The stack pane has columns for the Address, the Value at the Address, and info about the structure it holds.

Register pane

Inline editing

Values in the code, stack and registers can be edited. Be careful however, integrity of the label values is not maintained. Therefore this mode of working is not advised.


Can be found under the menu Help and hopefully is self-explanatory. The content of the help is also available as a html file.