Note: FST Soft reserves right of changing this documentation/Simulator2003 without any notice and takes no responsibility of any kind of damage/problem/error caused directly or indirectly by using this documentation/Simulator2003 program. Use this documentation and Simulator2003 at your own risk.
What is Simulator2003
Thank you for your trust in Simulator2003. Simulator2003 is a window based 8031/8032/87C51/87C52/89C51/89C52/8051/8052 simulator which is extremely easy to use and user friendly. Specially designed menus and simulation windows allow you to quickly and easily simulate 8031/8032/87C51/87C52/89C51/89C52/8051/8052 programs, catch errors and troubleshooting bugs. Simulator2003 includes a number of useful features not seen before in commonly available 8031/8032/87C51/87C52/89C51/89C52/8051/8052 simulators. Some important features of Simulator2003 are given below.
Important Features of Simulator2003
· Active Watch Window allows monitoring of selected locations/bits of memory in Hex, Decimal and Binary formats so that you may concentrate only on required locations/bits instead of finding these in different windows.
· It closely simulates interrupt structure including simultaneous interrupts by taking into account interrupt priorities which are normally ignored in other simulators.
· Closely simulates TI flag behavior missed by most simulators.
· Powerful debugging modes implemented which includes Single Step, Bulk Step, Time Based and Skip Instruction.
· Adjustable Simulation speed.
· Simulation save/load feature implemented.
· Ability to pick labels from listing file.
· Bit memory window included to directly view bit memory.
· Terminal Window for serial communication.
· All simulation windows customizable in positions and sizes for better viewing.
· Auto and manual save for windows positions and sizes.
· Instructions execution history for viewing last 10000 instructions.
· Errors and warnings windows included.
· Code Disassembly and ability to save disassembled code.
· Easy to use Break Points interface added.
· General Read/Write windows added to Quickly Read/Write any memory location/bit and adding to Active Watch Window.
· Useful initialization options.
· Various refreshing options to meet your requirement.
· Easy to use User Interface.
· - Click to trigger Interrupts
· Manually Refresh Display
Open File opens the file which you want to simulate. When you click Open File, a dialog box appears as shown below
Select the file you want to simulate and click open button. Two type of file formats are supported, Intel Hex and Bin. Select the format of file by File Type combo box. When file is successfully opened, simulation windows are opened as shown in picture below.
Note: No. of simulation windows opened depends upon previously opened windows when application was terminated or file was closed. When you first start simulator2003, by default all windows are opened. Window menu (discussed later) provides some useful commands regarding simulation windows.
Close File closes opened file.
Use this command to load label into simulator2003. Two formats are supported. 8051 Cross-Assembler generated label files and Pseudo Sam Assembler generated files. When you execute this command, a dialog box similar to the one shown below appears
Select labels file and click open to load labels.
Open Simulation allows you to switch back to your saved simulation. When this command is executed a dialog box similar to the one shown below appears
Select simulation file you want to open and click open.
Save simulation allows you to save your work and restore any time by Open Simulation. It save whole program memory, all SFR registers, Internal RAM, External RAM and opened windows positions, sizes. This is very useful when you are simulating some program and some other task interrupts you. You may safely save your simulation and restore any time you want.
Simulator2003 maintains list of 10 previously opened files so that you may quickly open any previously opened file. Click on the file name you want to open and that file will be opened for simulation. If some file is already opened this will be closed and your selected file will be opened.
Exits from Simulator2003.
Toggles execution of simulation i.e. when execution is stopped, it starts execution (from current value of PC) and when execution is in progress, it stops execution. Some other parameters control execution such as Batch instruction count, Refresh Type and Simulation Speed. See Simulation Settings for detail.
Resets program i.e. PC is initialized to 0 and default values are loaded in SFR registers, Internal RAM and External RAM
Toggles simulation windows visibility. There are 9 Simulation windows which are explained below.
It displays Special Function Registers (SFRs) values (in Hex format) and microcontroller Flags as shown below
If you want to change value of a register, Double Click on its edit box. A General Write Window will appears which allows you to change value using Hex, Decimal or Bin format. See General Write Window for further detail.
microcontroller Flags are also shown in SFR Window. Blue color means 0 state while Red means 1 state. In order to change flag value, double click on the flag whose value you want to change. A General Write window appears which allows you to easily change value
It displays Internal RAM (Both lower and upper RAM) as shown below.
It displays External RAM as shown below.
It displays bit memory as shown below.
Double click on any cell to change value by General Write window. See General Write window for detail. Left column shows absolute bit address and byte wise address. E.g. absolute bit address 7 has byte wise address of 20H.7
One of the most powerful features of Simulator2003 is Active Watch Window. During simulation, normally user works on a number of registers/bits. Instead of finding these in various windows, Active Watch Window allows the user to concentrate only on selected registers/bits so that these are readily accessible. It not only shows selected registers/bits values in all three formats but also allows you to quickly edit their values.
In an unregistered version, you cannot add more than 5 items to Active Watch Window while registered version does not have this limitation.
Toolbar buttons are as explained below.
· Add Item
It allows you to add items to Active Watch Window. When you click this, Add to Active Watch window appears.
Select Type from available 5 types (SFR Registers, SFR Bits, Internal RAM, External RAM and Bit Memory) using Type combo box. When you select type, its items are automatically loaded in Name/Address combo box. Select item you want to add and click Add button. When you are finished, click Ok.
· Remove item
Select item you want to remove and click this button to remove selected item from list.
· Delete all items
Click to delete all items from list.
This window displays useful information regarding simulation execution as shown below.
Simulator2003 keeps record of last 10,000 instructions executed. Click on button adjacent to edit box to view detail. When executed instruction list exceeds 10,000, lit is cleared.
Double click PC (Program Counter) to invoke General Write
Window which allows you to edit PC value.
Terminal window displays Transmit, Receive baud rates along with characters transmitted/received as shown below.
Toolbar buttons are explained as below.
· Transmit Byte
It allows you to write byte to SBUFF and simulate serial transmission. When you press this button Send Byte to Serial Port Window appears.
Type value you want to write to SBUFF and click Send to start serial transmission. Another powerful feature of Simulator2003 is that it closely simulates actual microcontroller behavior by setting TI after time in which a complete byte will be send which is based on selected Buad Rate.
NOTE: Currently serial transmission will be simulated only when you write value to SBUF through Send Byte to Serial Port window or by MOV SBUF,A instruction.
· Clear Transmit Buffer
When you click this button, Transmit buffer will be cleared
· Clear Receive Buffer
Whenever a byte is read from SBUF by MOV A, SBUF instruction, this is moved to receive buffer. When you click this button, receive buffer is clear.
· Manual Refresh
Click this button to manually refresh Terminal windows
Display warnings encountered during simulation
Its toolbar buttons are as described below
· Manual Refresh
Click this button to manually refresh warnings window.
· Clear List
Click this button to clear warnings list.
Display Errors encountered during simulation
Its toolbar buttons are as described below
· Manual Refresh
Click this button to manually refresh Errors window.
· Clear List
Click this button to clear Errors list.
o Single Step ( F2 )
Executes a single instruction
o Bulk Step ( F3 )
Executes a bulk of instruction as specified by Bulk Step Count in Simulation Settings.
o Time Base ( F4 )
This is again a very useful debugging mode which executes instructions based on time. When you use this debugging mode, simulator 2003 picks Step Time as you specified in Simulation Settings and calculates how many instructions to execute and then executes that much instructions.
o Skip Instruction ( F5 )
Skips currents instruction and move PC to next instruction
o Stop Debugging ( F6 )
Stops debugging when Bulk Step or Time Based debugging is in progress without waiting for theses to be completed.
This also a very powerful option of simulator2003 which allows you to disassemble and even save disassembled code. Disassembled code contains very useful information like Line No, Address, Label, Instruction, length of instruction and cycles used as shown below.
First column is for break points. When you clicking on it, break point will toggled i.e. if current line is not marked as break point, it will be marked as break point or vice versa. You can easily add break points using this window. There is also another method for adding break points which will be explained shortly. Other columns are Line No, Address, Label, Instruction, length of instruction and cycles used which are self explanatory.
Save Code button
When you click this button, a window will appear which asks you to enter complete name of file (including path) in which disassembled code will be saved. Enter file name and click Ok to save disassembled code.
When you click Ok button, changes you made in Break points will be saved and Disassembly Window will be closed.
When you click this button, changes you made in Break points will not be saved and Disassembly Window will be closed.
When an address is marked as break point, during execution when this address is encountered, execution will be stopped. Break Points Window is one way of adding/removing break points, you may accomplish this also by Disassemble Window as explained above.
When you click this, Break Points Window will appear which allows you to easily Add, Delete and Delete All break points as shown below.
When you click Add, Add Break Point window will appear. Enter break point address (in either Hex or Decimal) and press ok to mark that address as break point. Added break point will be shown in the list.
When you press OK button in Break Points window, changes you made in break point list will be save and window will be closed.
When you press Cancel button in Break Points window, changes you made in break point list will not be save and window will be closed.
o SFR Registers
Loads power on reset values to SFR Registers.
o Internal RAM
Loads specified value to whole Internal RAM.
o External RAM
Loads specified value to whole External RAM.
o Bit memory
Loads specified bit value (1/0) to whole Bit Memory.
Simulator2003 keeps record of last 10 files opened. You may clear opened files list with this command
This is a very useful window which allows you read from any location as shown below
Select type of memory from Type combo box. Then its items will be automatically loaded in Name/Address combo box. Select location you want to read and its value will be displayed in Hex, Decimal and Binary. Note that General Read is a read only window; if you want to changed value you may use General Write Window. See General Write window for further detail.
Toolbar buttons are described as below
§ Add to Active Watch
Selected location/bit will be added to Active Watch list. See Active Watch for further detail.
This is a very important window since any write operation will be executed through this window.
Like General Read window, select Type and Name/Address of location you want to write some value. When you select some value, its current value will be read and displayed in Hex, Decimal and Binary forms. You may enter value in either of Hex, Decimal and Binary format. Your change in value will be instantly reflected in other formats. Change value and click Write to write value. Other three buttons are as already explained in General Read window.
Simulator2003 remembers windows positions and sizes. Whenever you make changes to position or size of a window, Simulator2003 automatically save it. In addition to this, Simulator2003 provides some very useful windows commands as described below.
Cascade opened windows
Arrange opened windows
o Tile Horizontally
Horizontally tiles opened windows
o Tile Vertically
Vertically tiles opened windows
o Minimize All
Minimize all opened windows
o Maximize All
Maximize all opened windows
o Restore All
Restore all minimized windows
o Restore default windows status
Restore all windows to default positions and sizes
o Save current windows Status
Simulator2003 allows you to make another save windows info template (in addition to auto save). You may restore saved windows info template when you click Restore last save windows Status
o Restore last saved windows Status
Restore last saved windows positions and sizes.
Close selected window
o Close All
Close all windows
o Opened Windows List
Below windows command, opened windows names appear in list. You may quickly move to required opened window from this list.
Simulation Settings contains two pages as shown below.
· Batch Instruction Count
Instructions executed per tick. Increase this value to speed up simulation speed.
· Refresh Type
Three types of refreshing is supported. Select refreshing type according your need.
o Refresh after each instruction
Display will be refreshed after executing each instruction. This type of refreshing will result in slowest execution speed but you will immediately see each instruction execution result.
o Refresh after each tick
Display will be refreshed after instructions specified in Batch Instruction Count are executed. This type of refreshing will result in faster execution but display will be refresh after specified instructions.
o Manual refresh
Display will not be automatically refreshed. You may still refresh manually by clicking Manual Refresh button any time. This will provide maximum speed.
· Crystal Frequency
You may select from some predefined values or type any other frequency.
· Bulk Step Count
Instruction executed in bulk step debugging. See Bulk Step debugging for further detail.
· Step Time
Used in Time Based debugging. See Time Based debugging for further detail.
· Automatically Load labels
When this is checked, Simulator2003 will automatically try to load labels from label’s file (Name is assumed to be same as that of input file but with .LST extension).
§ Simulation Speed
This is very useful option which allows you to change instructions execution speed.
§ Thread Priority and Priority Class
These options specify Time Slice taken from operating system. Higher values allows more time for simulator and lesser for other applications and vice versa.
Click Ok if you want to save changes made in settings and cancel to ignore changes. Click Load Default to load default settings.
Click this option to buy Simulator2003 online using credit card.
Displays Simulator2003 help.
To go to makers of Simulator2003, FST Software web site.
About box for Simulator2003
Simulator2003 is NOT A FREEWARE. Unregistered version will be having some limitations as described in unregistered version limitations. Registered users will also have free updates/fixes and patches for Simulator2003 plus special discount on future products.
To enter registeration info, click Register Simulator2003.Following window appears.
Enter User Name and Password and click Register button. Your version will be registered and all limitations will be removed.
Unregistered version of Simulator2003 will be having following limitations.
· When ever you start simulator2003 or open a file for simulation, a dialog box will appear which warns you about unregistered version and you will have to wait for approximately 5 sec to be able to close this dialog box.
· You cannot load a file having more that 1k of binary code. If code is greater than 1k, only first 1k code will be loaded.
· Save/Open Simulation option is disabled.
· You cannot add more that 5 items to Active Watch Window.
· Code Disassembly is disabled.
· Simulation settings cannot be changed.
Maximum efforts have been made to make Simulator2003 a bug free simulator but none of human made products might be claimed to be 100 perfect. FST Soft takes no responsibility of any kind of damage/problem/error caused directly or indirectly by using this documentation/Simulator2003 program. Use this documentation and Simulator2003 at your own risk. How ever if you get some error/bug, don’t panic at all. Just send an e mail to email@example.com. Your reported bug will be quickly examined and updated version will be available as soon as possible.
Thanks again for your interest in Simulator2003.