Welcome to the Home Page of 'gSim51'
Latest news!! gSim51 mailing lists are up now!!
Please do join these mailing lists!! gSim51 needs users!!
gSim51 is an open source,easy to use, text based simulator
for the 8051 microcontroller running on the Linux Platform.It has been
designed to match the DOS 'Debug'
program so that those who are
already acquainted with 'Debug' can easily learn using gSim51 within a
very short time. Following the unix tradition of simplicity and efficiency,
all the commands of gSim51 are short and may seem difficult to remember
at first. But in the end these short, terse commands prove to be very
efficient in doing the job of simulating your code.
- What are the salient features of gSim51?
The following is a list of the salient features of gSim51:
- gSim51 incorporates full 64k code and 64k data in addition to the on-chip
4k ROM support for all your programs. Thus, instructions like MOVX
and MOVC are supported by gSim51.
- Not even a single instruction has been left out of the instruction set
of the 8051 microcontroller, which means that gSim51 can simulate all
the 255 instructions of the 8051.
- gSim51 has a novel debugging feature. it can take a Snapshot
of the entire 8051 system memory at any point of time during simulation
and store it in a human readable file. Later gSim51 can download this
snapshot file into the 8051 system memory to restore the state of the
simulator when the snapsot was taken.This feature is greatly helpful when
some bug lies deep within the code space, as one need not run the simulator
upto that point repeatedly. Only once during the first simulation a snapshot
is taken just before the probable location of the bug and later that snapshot
can be loaded to bring the simulator to the same state that was at the
time taking the snapshot.
- gSim51 is fully Intel Hex file compatible. So you can
now use any assembler of your choice to generate the equivalent hex file
and run it in gSim51.
- The simulator can be made to run in its 'Console' mode,
wherein it behaves almost like a microcontroller kit where you can directly
punch in the preassembled hex code of your program.
- gSim51 incorporates full debugging facilities like setting,removing
breakpoints as well as 'step into' and 'step over' features. In this regard,
therefore, gSim51 can also be thought of as an efficient debugger.
- Almost all of gSim51's commands resemble that of DOS
debug, hence use by 'debug' users is facilitated greatly.
- The commands of gSim51 provide great flexibility during
simulation. For example the 'r' command without any parameters shows all
8051 registers. However, the same 'r' command when followed by any register
name enables editing of that register. Same goes for other commands as
- gSim51 has provisions for simulating 8051 interrupts
during execution, which is another valuable asset.
- A short, but comprehensible online command reference
is always at your disposal for refering to any command during simulation.
Beginners are advised to go through the offline documentation and also
the short tutorial, before trying out the simulator. A few test programs
in Hex format are given to try out the tutorial.
- Who is the author of gSim51 and how can I contact him for reporting bugs
and further information?
you can contact me at my email address which is: email@example.com. My PGP public key is accessible at this location. You can also get my public key from the MIT key server by querying for 'Seemanta Dutta'. But be careful, DON'T USE ANY REVOKED KEYS FROM THERE. Currently use the key with user ID 0x0804719D only.
You can also write to me at the following address:
C/o A. Chowdhury
Opp. Anuradha Cinema
P.O. Bamunimaidam, Guwahati
Assam, Pin- 781021
- Who are you and why are you doing this?
I am Seemanta Dutta, a Graduate in Electronics and Communication
Engineering. I have a very passionate interest in programming languages,
especially C and assembly. I am also a very enthusiastic and die-hard user
of linux. I am doing this because I fully endorse the Free Software/GNU movement
and would like to contribute towards its development in whatever way I can.If
all the programmers of the world unite, we can very easily fight this menace
of proprietary software.My other love is the world of microprocessors and
microcontrollers to which I am eternally attracted. My area of interest is
therefore in designing and creating embedded systems that can help solving
real life problems and make our lives comfortable.
I began work in this simulator when my project In-charge at IIT Guwahati gave
me an assignment to make a simulator for the 8051 microcontroller. At the
time when i came up with the first working version of my simulator, it was
very limited in operation. Firstly, it was called 'Sim51' and not 'gSim51'
as it is now and it ran only under the DOS enviromment. Secondly, it had only
about 110 instructions' support in it without full 64k data and 64k code support.All
it supported was 4k of on chip ROM. A lot of things have changed since then.
Now I have ported my earlier simulator and christened it 'gSim51' which has
complete set of 255 supported instructions along with full 64k data and code
support. gSim51 also supports extended debugging and a feature of snapshots.
It now also supports interrupts which are an integral part of any microcontroller
- Where can I download gSim51?
You can download gSim51 by clicking
here or by pointing your browser to http://gsim51.sourceforge.net/cgi-bin/redirect.pl
You can also browse the CVS repository of gSim51 by follwing the link for
the same from the above page.
Please note that every download of gsim51 is counted for statistical reasons.
If you wish you can also enter additional information as an user of this software by clicking here