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.


Simulator2003 Toolbar



·          Open File


·        *  Close File


·        *  Get Labels


·          Open Simulation


·          Save Simulation


·        *  Start/Stop Execution


·        *  Reset Execution


·         -   Click to trigger Interrupts


·        *  Manually Refresh Display


·          Exits Simulator2003

Simulator2003 Menus


·        File

o       Open File 

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.


o       Close File 

Close File closes opened file.


o       Get Labels Form 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.


o       Open Simulation 

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.


o       Save Simulation 

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.


o       Previously Opened Files List

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.


o       Exit 

                                    Exits from Simulator2003.


·        Execution

o       Start/Stop Execution  /

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.


o       Reset Execution 

Resets program i.e. PC is initialized to 0 and default values are loaded in SFR registers, Internal RAM and External RAM


·        View

Toggles simulation windows visibility. There are 9 Simulation windows which are explained below.


o       Special Function Registers (SFRs)


It displays Special Function Registers (SFRs) values (in Hex format) and microcontroller Flags as shown below     



NOTE: By using Active Watch Window, you may view a value simultaneously in Hex, Decimal and binary form. See Active Watch Window for detail.


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


o       Internal RAM


It displays Internal RAM (Both lower and upper RAM) as shown below.



Double click on any cell to change value by General Write window. See General Write window for detail.



o       External RAM

It displays External RAM as shown below.



Double click on any cell to change value by General Write window. See General Write window for detail


o       Bit Memory


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


o       Active Watch


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.


o       Execution Status Window


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.

See Errors and Warnings windows for detail on Errors and Warnings.

Double click PC (Program Counter) to invoke General Write

Window which allows you to edit PC value.


o       Terminal Window


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


o       Warnings


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.


o       Errors


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.


·        Debugging


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.


·        Disassembly

o       Disassemble Code

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.


Ok button


When you click Ok button, changes you made in Break points will be saved and Disassembly Window will be closed.


                                    Cancel button


When you click this button, changes you made in Break points will not be saved and Disassembly Window will be closed.


o       Break Points


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.


·        Initialize


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.


·        Miscellaneous


o       Clear opened files history

Simulator2003 keeps record of last 10 files opened. You may clear opened files list with this command


o       General Read

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.


§         Refresh

                                                Refreshes display.


§         Ok

                                                Hide window.


o       General Write

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.


·        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.

o       Cascade

Cascade opened windows

o       Arrange

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.

o       Close

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.


·        Options


o       Simulation Settings


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.


·        Register

               o      Buy Simulator2003 Online

                        Click this option to buy Simulator2003 online using credit card.


o       Enter Registeration Info

      Unregistered version has some limitations which will be removed after registration. See unregistered version limitations for further detail. See How to register Simulator2003 to register.


·        Help


o       View Help File

Displays Simulator2003 help.


o       Visit FST Soft

To go to makers of Simulator2003, FST Software web site.


o       About Simulator 2003

About box for Simulator2003


How to Register 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.

You may Register Simulator2003 via internet by visiting After verifying payment you made, you will be given User Name and Password at your specified e-mail.

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 limitations


            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 Your reported bug will be quickly examined and updated version will be available as soon as possible.

You may anytime e mail at for any question on Simulator2003 or our other products. Visit regularly for updates/faqs and future products etc.


Thanks again for your interest in Simulator2003.


                                                                                             Simulator2003 Team

                                                            FST Soft