0% found this document useful (0 votes)
26 views80 pages

Win 8051

The document outlines the contents, features and basic functions of an integrated development environment software manual, including sections on initial topics, the file menu, editor basics, editor commands, and the view menu.

Uploaded by

caio menezes
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views80 pages

Win 8051

The document outlines the contents, features and basic functions of an integrated development environment software manual, including sections on initial topics, the file menu, editor basics, editor commands, and the view menu.

Uploaded by

caio menezes
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 80

Table of Contents

Initial Topics..................................................................................................................1
Limited Warranty.......................................................................................................1
Copyright...................................................................................................................1
Contact Information...................................................................................................1
Registration ...............................................................................................................2
Introduction ...............................................................................................................3
Software Installation..................................................................................................3
Software Operation ...................................................................................................3
Context Help command ............................................................................................4
Title Bar.....................................................................................................................4
Scroll bars .................................................................................................................4
Output window ..........................................................................................................4
Options menu............................................................................................................4
Default Settings dialog ..............................................................................................5
File Menu ......................................................................................................................7
File menu commands................................................................................................7
New command (File menu).......................................................................................7
Open command (File menu) .....................................................................................7
File Open Dialog .......................................................................................................8
Close command (File menu).....................................................................................8
File Open Workspace command...............................................................................8
File Save Workspace command ...............................................................................8
File Close Workspace command ..............................................................................8
Recent Workspaces 1, 2, 3, 4 command (File menu)...............................................9
Save command (File menu)......................................................................................9
Save As command (File menu).................................................................................9
File Save As Dialog...................................................................................................9
Save All command (File menu)...............................................................................10
Recent Files 1, 2, 3, 4 command (File menu).........................................................10
Exit command (File menu) ......................................................................................10
Editor Basics...............................................................................................................11
Creating a New Edit Window ..................................................................................11
Opening an Existing Text File .................................................................................11
Saving Text in an Edit Window ...............................................................................11
Save a File Under a New Name .............................................................................11
Closing an Editor Window.......................................................................................12
Printing the Editor Text ...........................................................................................12
Previewing Printed Text ..........................................................................................12
Printer Setup ...........................................................................................................12
Exiting the IDE ........................................................................................................12

i
Table of Contents

Editor.......................................................................................................................13
Basic Editor Operations ..........................................................................................14
Cursor movement ...................................................................................................14
Line Editing .............................................................................................................15
Word Editing............................................................................................................15
Block Editing ...........................................................................................................15
Clip Board ...............................................................................................................16
Text Search.............................................................................................................16
Text Highlighting .....................................................................................................16
Miscellaneous Keyboard Commands .....................................................................17
Mouse Operations...................................................................................................18
Editor Commands .......................................................................................................19
Edit menu commands .............................................................................................19
Undo/Can't Undo command (Edit menu) ................................................................19
Redo command (Edit menu) ...................................................................................19
Cut command (Edit menu) ......................................................................................19
Copy command (Edit menu) ...................................................................................20
Paste command (Edit menu) ..................................................................................20
Find command (Edit menu).....................................................................................20
Find In Files command (Edit menu)........................................................................20
Replace command (Edit menu) ..............................................................................20
Find Dialog ..............................................................................................................21
Find In Files Dialog .................................................................................................22
Choose Directory Dialog .........................................................................................23
Replace Dialog........................................................................................................23
View Menu ..................................................................................................................25
View menu commands............................................................................................25
Toolbar command (View menu)..............................................................................25
Toolbar ....................................................................................................................25
Status Bar command (View menu) .........................................................................26
Status bar................................................................................................................26
Output command (View menu) ...............................................................................27
Registers command (View menu)...........................................................................27
Control Registers command (View menu) ..............................................................27
Ports command (View menu)..................................................................................27
Direct Memory command (View menu) ..................................................................27
Indirect Memory command (View menu) ................................................................27
External Memory command (View menu)...............................................................28
Watch Window command (View menu)..................................................................28
Assembler Basics .......................................................................................................29
Assembler ...............................................................................................................29
Project File ..............................................................................................................29

ii
Table of Contents

File Generation........................................................................................................29
Source File Format .................................................................................................29
Assembler Directives ..............................................................................................31
Inline Intel Hex Formatted Code .............................................................................34
Conditional Assembly .............................................................................................35
Multi-file Projects.....................................................................................................36
Assembler Commands ...............................................................................................37
Assemble menu commands....................................................................................37
Assemble command (Assemble menu) ..................................................................37
Build command (Assemble menu) ..........................................................................37
Stop command (Assemble menu) ..........................................................................37
Project command (Assemble menu).......................................................................38
Close Project command (Assemble menu) ............................................................38
Simulator Commands .................................................................................................39
Simulator .................................................................................................................39
Simulate menu commands .....................................................................................40
Start Simulator command (Simulate menu)............................................................40
Restart command (Simulate menu) ........................................................................40
Stop command (Simulate menu) ............................................................................41
Continue command (Simulate menu) .....................................................................41
Break command (Simulate menu) ..........................................................................41
Step Into command (Simulate menu) .....................................................................41
Step Over command (Simulate menu) ...................................................................42
Step Out command (Simulate menu) .....................................................................42
Run To Cursor command (Simulate menu) ............................................................42
Toggle Break Point command (Simulate menu) .....................................................42
Remove All Break Points (Simulate menu).............................................................43
Simulator Commands .............................................................................................43
Modify Simulated Registers ....................................................................................43
Simulate Execution .................................................................................................43
Counter and Interrupt Simulation ............................................................................44
Serial Port Simulation .............................................................................................44
Button Simulation....................................................................................................44
See Also..................................................................................................................44
Simulator Display Values ........................................................................................45
Registers window....................................................................................................45
Ports window...........................................................................................................45
Control Registers window .......................................................................................46
XRAM window.........................................................................................................46
IRAM window ..........................................................................................................46
DRAM window.........................................................................................................47
Watch window .........................................................................................................47

iii
Table of Contents

Add Watch command..............................................................................................48


Modify Value Dialog ................................................................................................48
Radix Popup menu .................................................................................................48
Add/Modify Watch dialog ........................................................................................49
Monitor Commands ....................................................................................................51
Download code (Monitor menu)..............................................................................51
Start (Monitor menu) ...............................................................................................51
Reset (Monitor menu) .............................................................................................51
Stop (Monitor menu) ...............................................................................................51
Program Options.........................................................................................................53
Defaults command (Options menu) ........................................................................53
Simulator command (Options menu) ......................................................................53
Simulator Options dialog.........................................................................................53
Window Menu .............................................................................................................55
Window menu commands.......................................................................................55
New command (Window menu)..............................................................................55
Cascade command (Window menu).......................................................................55
Tile command (Window menu) ...............................................................................55
Window Arrange Icons Command ..........................................................................55
Arrange Windows command (Window menu) ........................................................55
1, 2, ... command (Window menu) ..........................................................................55
Help Menu ..................................................................................................................57
Help menu commands ............................................................................................57
Help Topics command (Help menu) .......................................................................57
About command (Help menu) .................................................................................57
Print Operations..........................................................................................................59
Print command (File menu).....................................................................................59
Print Preview command (File menu).......................................................................59
Print Preview toolbar...............................................................................................59
Print Dialog..............................................................................................................59
Print Progress Dialog ..............................................................................................60
Print Setup command (File menu) ..........................................................................60
Print Setup Dialog ...................................................................................................60
System, Control and Document Commands ..............................................................61
Size command (System menu)...............................................................................61
Move command (Control menu) .............................................................................61
Minimize command (application Control menu)......................................................61
Maximize command (System menu) ......................................................................61
Shortcut...................................................................................................................61
Next Window command (document Control menu) ................................................62
Previous Window command (document Control menu) .........................................62
Close command (Control menus) ...........................................................................62

iv
Table of Contents

Restore command (Control menu) .........................................................................62


Appendices .................................................................................................................63
Appendix A - Flag Altering Instructions...................................................................63
Appendix B - Instruction Symbols...........................................................................64
Appendix C - Instruction Translations.....................................................................64
Appendix D - Predefined Labels .............................................................................65
Appendix E - 8051 Instruction Set ..........................................................................68
Index ...........................................................................................................................73

v
Initial Topics
Limited Warranty
With respect to the physical diskette and physical documentation enclosed herein,
AceBus warrants the same to be free of defects in materials and workmanship for
a period of 60 days from the date of purchase. In the event of notification within
the warranty period of defects in material or workmanship, AceBus will replace the
defective diskette or documentation. The remedy for breach of this warranty shall
be limited to replacement and shall not encompass any other damages, including
but not limited to loss of profit, and special, incidental, consequential, or other
similar claims.
AceBus specifically disclaims all other warranties, expressed or implied, including
but not limited to implied warranties of merchantability and fitness for a particular
purpose with respect to defects in the diskette and documentation, and the
program license granted herein in particular, and without limiting operation of the
program license with respect to any particular application, use, or purpose. In no
event shall AceBus be liable for any loss of profit or any other commercial
damage, including but not limited to special, incidental, consequential or other
damages.
AceBus reserves the right to stop supporting the software/hardware and to stop
releasing updates for this software at any time after the warranty period.

Copyright
Under the copyright laws, neither the documentation nor the software may be
copied, photocopied, reproduced, translated, or reduced to any electronic medium
or machine-readable form, in whole or in part, without the prior written consent of
AceBus.
Copyright 1997-2003 AceBus
835 Weatherhead Hollow Road
Guilford, VT 03501
All rights reserved.

Contact Information
You can contact AceBus via one of the following methods:
By mail at: AceBus
835 Weatherhead Hollow Road
Guilford, VT 03501
Via e-mail at: [email protected]
Via WWW at: www.acebus.com

1
Printed Documentation

Registration
AceBus is a small one-man operation. Your purchase of this program will help
insure its continued development. If you find this program useful please obtain a
registered version.
The unregistered evaluation version of this program has the following limitations.
• Editor text buffer limited to 16k bytes
• No include file support
Otherwise it is fully functional. It is provided for evaluation purposes only. If you
continue to use it then please register it.
The Registered version adds include file support and the editor uses a dynamic
text buffer size. The size of the text buffer is allocated to be 64k bytes larger than
the file being loaded.
The primary difference between the evaluation and registered versions is the size
of the 8051 application that can be developed.
The installation and registration key files can be obtained online using secure
order processing via the following Register Now (http://www.regnow.com/) link

8051 Integrated Development Environment Secure Order Form


(https://www.regnow.com/softsell/nph-softsell.cgi?item=4322-1)

The online registration process uses electronic distribution of the IDE and
registration key file. Upon completion of the on-line order process you will be given
a time limited download link for a compressed file containing the IDE setup files.
You will also be sent the registration key file as an e-mail attachment. This e-mail
also contains instructions on using the attached key file to register the IDE. A hard
copy of the program on diskette is not included with the on-line registration
process.
The manual is supplied in an Adobe Acrobat (PDF) format file and is automatically
copied to your computer during the installation process.

2
Initial Topics

Introduction
The 8051 Integrated Development Environment (IDE) combines a text editor,
assembler and software simulator into a single program. All components needed
to develop 8051 programs (and its various derivatives) available and controllable
from this single IDE.
Enter and modify the program source code from within the built in editor. Then
assemble the source code by selecting the Assemble command. If any errors are
located the appropriate source module can be automatically loaded and the cursor
placed on the line containing the error. Fix the error and move to the next error (if
any). Once all errors have been fixed reassemble the code.
After successfully assembling the source code use the simulator to step through
your program. You can watch registers, flags, ports and memory locations change
as your program progresses. You will see the flow of your program and be able to
verify that it operates as intended. If it does not then return to the editor,
reassemble and back to the simulator.

Software Installation
To install the 8051 IDE onto the hard disk of a Windows 95 (98/ME/NT4.0 or XP)
based computer perform the following steps:
1. Download the 8051 for Windows IDE from the following web link

http://www.acebus.com/download/win8051.zip
2. Extract the setup files contained in the win8051.zip file to a temporary directory.
3. Once the setup files have been extracted, run the Setup.exe program to begin
the installation process.
Once setup has completed a 8051 IDE program group will be added to the Start
menu under Programs. A short cut to the 8051 IDE executable is located in this
new file group.
Selecting its shortcut from the Start Menu runs the 8051 IDE.

Software Operation
The 8051 Integrated Development Environment (IDE) is a Windows 95 based
application. It operates with the same look and feel of other Windows based
application.
The following interface objects are present:
Menu bar: contains the main menu options from which submenus are displayed.
Tool bar: contains a row of icon providing a short cut to many of the menu
commands.
Status bar: contains information about the programs current operations.
Client area: contains the editor and simulation windows.
See Also
File menu
Edit menu
View menu
Simulate menu
Options menu
Window menu
Help menu

3
Printed Documentation

Context Help command


Use the Context Help command to obtain help on some portion of the 8051 IDE.
When you choose the Toolbar's Context Help button, the mouse pointer will
change to an arrow and question mark. Then click somewhere in the 8051 IDE
window, such as another Toolbar button. The Help topic will be shown for the item
you clicked.
Shortcut

Toolbar:
Keys: Shift+F1

Title Bar
The title bar is located along the top of a window. It contains the name of the
application and document.
To move the window, drag the title bar. Note: You can also move dialog boxes by
dragging their title bars.
A title bar may contain the following elements:
• Application Control-menu button
• Document Control-menu button
• Maximize button
• Minimize button
• Name of the application
• Name of the document
• Restore button

Scroll bars
Displayed at the right and bottom edges of the document window. The scroll
boxes inside the scroll bars indicate your vertical and horizontal location in the
document. You can use the mouse to scroll to other parts of the document.

Output window
The output window list single line messages which result from assembly or
searching for files. Double clicking on a error message or found in file entry will
cause the associated source file to be displayed with the cursor positioned on the
indicated line.
See Also
Output command (View menu)

Options menu
The Options menu offers the following commands:
Defaults Displays a dialog box which allows you to change various program
defaults.

4
Initial Topics

Default Settings dialog


The Default Settings dialog allows you to specify various default options for the
8051 IDE. The following is a list of options available in this dialog:
Font size
This drop down list box allows you to select the size of the font used in the
editor, output, register, IRAM, DRAM, XRAM and watch windows.
Tab size
This edit box allows you to specify the tab size used by the text editor.
Default radix
This drop down list box allows you to specify the default radix used to
display values in the register, IRAM, DRAM, XRAM and watch windows.
Processor type
This drop down list box allows you to specify the target processor for your
application. This option allows you to specify the amount and type of
resources available to your program. For example the amount of IRAM
(128 or 256 bytes) that is available.
OK
Clicking on OK will result in the dialog closing and the default options
changed to the specified settings.
Cancel
Clicking on Cancel will result in the dialog closing and the default options
left unchanged.

5
File Menu
File menu commands
The File menu offers the following commands:
New Creates a new document.
Open Opens an existing document.
Close Closes an opened document.
Save Saves an opened document using the same file name.
Save As Saves an opened document to a specified file name.
Print Prints a document.
Print Setup Selects a printer and printer connection.
Exit Exits 8051 IDE.

New command (File menu)


Use this command to create a new document in the 8051 IDE.
You can open an existing document with the Open command.
Shortcuts

Toolbar:
Keys: Ctrl+N

Open command (File menu)


Use this command to open an existing document in a new window. You can open
multiple documents at once. Use the Window menu to switch among the multiple
open documents. See Window 1, 2, ... command.
You can create new documents with the New command.
Shortcuts

Toolbar:
Keys: Ctrl+O

7
Printed Documentation

File Open Dialog


The following options allow you to specify which file to open:
File Name
Type or select the filename you want to open. This box lists files with the
extension you select in the List Files of Type box.
List Files of Type
Select the type of file you want to open:
Drives
Select the drive in which the 8051 IDE stores the file that you want to open.
Directories
Select the directory in which the 8051 IDE stores the file that you want to
open.
Network...
Choose this button to connect to a network location, assigning it a new
drive letter.

Close command (File menu)


Use this command to close all windows containing the active document. The 8051
IDE suggests that you save changes to your document before you close it. If you
close a document without saving, you lose all changes made since the last time
you saved it. Before closing an untitled document, the 8051 IDE displays the
Save As dialog box and suggests that you name and save the document.
You can also close a document by using the Close icon on the document's
window, as shown below:

File Open Workspace command


Use this command to open a previously saved workspace. The current workspace
will be closed prior to opening the selected workspace.

File Save Workspace command


Use this command to save the current window configuration to the current
workspace file. If the workspace has never been saved and given a name the
Save As dialog box will be displayed.

File Close Workspace command


Use this command to close the current workspace. Once the current workspace
has been closed the default window layout (if any will be loaded). You can then
modify this layout and save it. When saving the default layout you will be asked to
give it a workspace name. This allows you to create a new workspace.

8
File Menu

Recent Workspaces 1, 2, 3, 4 command (File menu)


Use the numbers and filenames listed in the Recent Workspaces sub-menu to
open the last four workspaces you closed. Choose the number that corresponds
with the workspace you want to open

Save command (File menu)


Use this command to save the active document to its current name and directory.
When you save a document for the first time, the 8051 IDE displays the Save As
dialog box so you can name your document. If you want to change the name and
directory of an existing document before you save it, choose the Save As
command.

Shortcuts

Toolbar:
Keys: Ctrl+S

Save As command (File menu)


Use this command to save and name the active document. The 8051 IDE
displays the Save As dialog box so you can name your document.
To save a document with its existing name and directory, use the Save command.

File Save As Dialog


The following options allow you to specify the name and location of the file you're
about to save:
File Name
Type a new filename to save a document with a different name. A filename
can contain up to eight characters and an extension of up to three
characters. The 8051 IDE adds the extension you specify in the Save File
As Type box.
Drives
Select the drive in which you want to store the document.
Directories
Select the directory in which you want to store the document.
Network...
Choose this button to connect to a network location, assigning it a new
drive letter.

9
Printed Documentation

Save All command (File menu)


Use this command to save all open documents to their current name and directory.
When you save a document for the first time, the 8051 IDE displays the Save As
dialog box so you can name your document. If you want to change the name and
directory of an existing document before you save it, choose the Save As
command.
Shortcuts

Toolbar:

Recent Files 1, 2, 3, 4 command (File menu)


Use the numbers and filenames listed in the Recent Files sub-menu to open the
last four documents you closed. Choose the number that corresponds with the
document you want to open.

Exit command (File menu)


Use this command to end your 8051 IDE session. You can also use the Close
command on the application Control menu. The 8051 IDE prompts you to save
documents with unsaved changes.
Shortcuts
Mouse: Double-click the application's Control menu button.

Keys: Alt+F4

10
Editor Basics
Creating a New Edit Window
To create a new empty edit window, select New from the File menu.
A new edit window will be displayed into which you can enter text.
See Also
File New command

Opening an Existing Text File


To open an existing text file, select Open from the File menu.
Use the displayed dialog to locate and select the desired file.
Once selected, click on the OK button.
A new window will be displayed into which the specified file will be loaded.
See Also
File Open command

Saving Text in an Edit Window


To save the file in the currently active edit window, select Save from the File
menu.
If this is new document (not loaded previously loaded or saved) then you will be
prompted to enter a file name and directory to save the text in. Then click on the
OK button.
If the text already has a name then it will be saved under that name automatically.
See Also
File Save command

Save a File Under a New Name


To save the text in the currently active edit window under a new file name, select
Save as from the File menu.
Enter the name of the file the text buffer is to be saved in.
Click on the OK button.
The text in the active editor window will be saved to the specified file when OK is
selected. If you decide not to save the text under that name click the Cancel
button instead.
See Also
File Save As command

11
Printed Documentation

Closing an Editor Window


To close an editor, select the desired editor window by clicking on its title bar or by
selecting it from the Window menu.
Select the Close command from the File menu.
The active window will be closed. If it has been modified since the last time it was
saved you will be asked if you want to save it.
See Also
File Close command

Printing the Editor Text


The 8051 IDE allows you to print the text within the active editor window. This is
accomplished by selecting the Print command via the File menu.
See Also
File Print command

Previewing Printed Text


The 8051 IDE allows you to preview how the active document will look when
printed. This is accomplished by selecting the Print command via the File menu.
See Also
File Print Preview command

Printer Setup
To specify an alternate printer or to change the settings of the selected printer use
the Print Setup command in the File menu. Selecting the Print Setup command
will result in the Print Setup Dialog box being displayed. Use this dialog box to
change the printer options.
See Also
File Print Setup command
Print Setup Dialog

Exiting the IDE


You can exit (quit) the 8051 IDE by selecting Exit from the File menu. You will be
prompted to save any source code modified since it was last saved. If no source
code has been modified since it was last saved then the 8051 IDE will exit directly
without prompting.

12
Editor Basics

Editor
The editor will be invoked when a file is loaded or when the New command is
selected.
The editor in the IDE is a full screen editor, designed for program editing and not
word processing. Features like word wrap are not available.
Many editor commands are invoked through a compound key sequence (or
keystroke). A compound keystroke is accomplished by holding down one key,
pressing another, and then releasing them both. Compound key sequences are
indicated with a plus sign. For example pressing and holding down the Ctrl key,
pressing the L key and releasing them both performs the Ctrl+L compound
keystroke. Some compound key strokes require three keys. Pressing and holding
the Shift key, pressing and holding the Ctrl key, pressing the PgUp key and
releasing all three keys perform for example Shift+Ctrl+PgUp.
Some editor commands utilize a compound keystroke and a single keystroke. For
example the key sequence Ctrl+Q Y is composed of a compound keystroke and a
single keystroke. Pressing and holding down the Ctrl key, pressing the Q key,
releasing them both, then pressing and releasing the Y key performs this example.
This type of key sequence requires that the Ctrl key be released before the
second key is pressed. For example Ctrl+Q Ctrl+Y is not the same as Ctrl+Q Y.
See Also
Basic Editor Operations
Cursor movement
Line Editing
Word Editing
Block Editing
Clip Board
Text Search
Text Highlighting
Miscellaneous Keyboard Commands
Mouse Operations

13
Printed Documentation

Basic Editor Operations


Key Stroke Description
Insert Toggles between insert and over type mode (notice the status bar
pane change from INS to OVR or from OVR to INS). In insert
mode the character under the cursor will be pushed to the right
and the character typed will be inserted at the cursor location. In
over-type mode the character typed will replace the character
under the cursor.
Delete Removes the character under the cursor. All characters to the
right will be moved one location to the left.
Tab If no text is selected (highlighted) pressing the Tab key advances
the cursor to the next tab stop in the editor. Spaces are inserted
into the editor from the initial cursor location to the new location.
If the selected text spans more than one line then the block of
selected text is indented with spaces. The number of spaces
added is equal to the current tab setting. If the selected text is
contained to a single line then pressing the Tab key does nothing.
BackSpace Deletes the character to the left of the cursor. All characters to
the right and under the cursor shift left. If the cursor is at the start
of a line the current line will be added to the previous one.
Ctrl+Z Undoes last edit action.
Alt-BackSpace Same a Ctrl+Z
Ctrl+Y Redoes last undone edit action.

Cursor movement
Key Stroke Description
Home Moves the cursor to the start of the current line.
End Move the cursor to the end of the current line.
PgUp Displays the previous page of text. If you are at the top of the text
buffer then pressing PgUp will be ignored.
PgDn Displays the next page of text. If you are at the bottom of the text
buffer then pressing PgDn will be ignored.
UpArrow Moves the cursor up one line. If the cursor is at the top of the text
buffer then pressing UpArrow will have no effect.
DownArrow Moves the cursor down one line. If the cursor is on the last line of
the text buffer pressing DownArrow will have no effect.
RightArrow Moves the cursor one character location to the right. If the cursor
is at the end of a line then it will be positioned to the start of the
next line.
LeftArrow Moves the cursor one character location to the left. If the cursor
is at the start of a line then the cursor is moved to the end of the
previous line.
Ctrl+PgUp Go to top of document: Moves the cursor to the top of the text
buffer.
Ctrl+PgDn Go to end of document: Moves the cursor to the bottom of the text
buffer.
Ctrl+Home Same as Ctrl+PgUp

14
Editor Basics

Ctrl+End Same as Ctrl+PgDn.


Ctrl+UpArrow Scroll up: Scrolls the text window up one line. All lines will move
down, the bottom line will scroll off the screen and the next line (if
any) will replace the top line.
Ctrl+DownArrow Scroll down: Scrolls the text window down one line. All lines will
move up, the top line will scroll of the screen and a next line (if
any) will replace the bottom line.
Shift+Tab If no text is selected (highlighted) pressing the Shift+Tab key
sequence backs up the cursor to the previous tab stop in the
editor. If the selected text spans more than one line then the
indent of the selected text is removed. The number of spaces
removed is equal to the current tab setting. If the selected text is
contained to a single line then pressing the Shift+Tab key
sequence does nothing.
Ctrl+Q B Go to beginning of block: Moves the cursor to the start of the
currently marked block (if any).
Ctrl+Q K Advance to end of block: Moves the cursor to the end of the
currently marked block (if any).
Ctrl+Q E Go to window top: Moves the cursor to the line displayed at the
top of the currently displayed text. Only the cursor moves.
Ctrl+Q X Go to window bottom: Moves the cursor to the last line displayed
on the screen. Only the cursor moves.

Line Editing
Key Stroke Description
Ctrl+Q Y Delete rest of line: Deletes all character from the current cursor
location to the end of the current line, including the character
under the cursor.
Ctrl+Q S Go to start of line: Moves the cursor to the start of current line
(same as the Home key).
Ctrl+Q D Go to end of line: Moves cursor to the end of the current line
(same as the End key).

Word Editing
Key Stroke Description
Ctrl+K T Highlight word: Highlights (block marks) the word the cursor is
currently on.
Ctrl+LeftArrow Word left: Moves the cursor left one word (to the next blank
space).
Ctrl+RightArrow Word right: Moves the cursor right one word (to the next blank
space).
Ctrl+T Delete word: Deletes the word the cursor is currently on.

Block Editing
Key Stroke Description
Ctrl+K I Indent block: Adds a blank space at the start of all lines contained

15
Printed Documentation

in the marked block.


Ctrl+SpaceBar Same as Ctrl+K I
Ctrl+K U Unindent block: Removes a blank space (if any) from all lines
contained in the marked block.
Shift+Ctrl+SpaceBar Same as Ctrl+K U

Clip Board
Key Stroke Description
Ctrl+C Copy to clip board: Copies the currently selected block of text to
the clipboard (temporary storage area).
Ctrl+X Cut to clipboard: Copies the currently selected block of text to the
clipboard. Then removes the marked block from the text buffer.
Ctrl+V Paste from clipboard: Copies the previously stored text from the
clipboard to the current cursor position.

Text Search
Key Stroke Description
Ctrl+F Find string: This command prompts you for a string of characters.
The cursor will be positioned just after the first occurrence of the
specified search string.
Ctrl+H Find and replace string: This command prompts you for two
strings of characters. The first is the string to locate and the
second the string to replace the one located.
F3 Repeat last find or find/replace: This command positions the
cursor just after the next occurrence of the string specified by the
last Find or Find and replace string command (which ever was
performed last).

Text Highlighting
Key Stroke Description
Shift+LeftArrow Extend highlight left: Adds the character to the left of the cursor to
the marked block.
Shift+RightArrow Extend highlight right: Adds the character to the right of the cursor
to the marked block.
Shift+UpArrow Extend highlight up: Adds the rest of the current line and the right
side of the previous line to the marked block.
Shift+DownArrow Extend highlight down: Adds the rest of the current line and the
left side of the next line to the marked block.
Shift+Home Highlight to start of line: Moves the start of the block marker to the
beginning of the current line.
Shift+End Highlight to end of line: Moves the end of block marker to the end
of the current line.
Shift+Ctrl+PgUp Highlight to start of buffer: Moves the start of block marker to the
beginning of the text buffer.
Shift+Ctrl+Home Highlight to start of buffer: Performs the same function as
Shift+Ctrl+PgUp.

16
Editor Basics

Shift+Ctrl+PgDn Highlight to end of buffer: Moves the end of block marker to the
end of the text buffer.
Shift+Ctrl+End Highlight to end of buffer: Performs the same function as
Shift+Ctrl+PgDn.
Shift+Ctrl+LeftArr Highlight word left: Extends the highlight to include the word to
the left of the cursor.
Shift+Ctrl+RightArr Highlight word right: Extends the highlight to include the word to
the right of the cursor.

Miscellaneous Keyboard Commands

Key Stroke Description


Ctrl+N New: Opens a new empty editor window.
Ctrl+O Open: Allows you to load a file into a new editor window for
editing.
Ctrl+S Save text: Saves the text currently in the buffer under the current
file name. If this is a new file and has never been saved you will
be prompted to enter a name.
Ctrl+F7 Assemble: Assembles the source code in the currently active
editor window.
F7 Build: Assembles the current project file.
Ctrl+F5 Start Simulator: Starts and initializes the simulator engine.
Ctrl+Shift+F5 Restart Simulator: Resets the simulation engine bringing the
program counter to zero.
Shift+F5 Stop Simulator: Stops the running simulation engine.
F5 Continue: Continues program execution from the current program
location.
F11 Step Into: Steps into the next instruction. If this instruction is a
CALL then program execution stops at the first instruction of the
subroutine.
F10 Step Over: Steps over the next instruction. If this instruction is a
CALL then program execution stop when it returns from the
subroutine.
Shift+F11 Step Out: Steps out of the current subroutine. Execution
continues until a return is executed. Program execution stops at
the instruction following the CALL to the subroutine being stepped
out of.
Ctrl+F10 Run to Cursor: Executes the program until the instruction at the
cursor location is reached.
F9 Toggle Break Point: Sets or clears a break point at the current
cursor location. If the line the cursor is one does not contain a
break point then one is placed there. If the line does contain a
break point then it is removed.

17
Printed Documentation

Mouse Operations
Many of the previously mentioned keyboard operations can also be performed
using the mouse. The following lists available mouse operations.
Position Cursor: the cursor can be position in the editor windows by moving the
mouse pointer to the desired location and clicking the left mouse button.
Text Highlighting: text can be selected by moving the mouse pointer to the start
of the text to be selected. Click and hold down the left mouse button. While
holding down the left mouse button move the mouse pointer to the end of the text
to be selected. Text will be highlighted as the mouse pointer is dragged across
the window.
Highlight Word: a word (text surrounded by blanks) can be selected by
positioning the mouse pointer over the desired text. While the mouse pointer is
over the desired text double clicking the left mouse button.
Popup Menu: a popup menu is displayed by clicking the right mouse button with
the pointer over the editor window. A context sensitive menu will be display from
which commands can be selected. The menu options correspond to Edit menu
commands and perform the same operation.

18
Editor Commands
Edit menu commands
The Edit menu offers the following commands:
Undo Reverse previous editing operation.
Cut Deletes data from the document and moves it to the clipboard.
Copy Copies data from the document to the clipboard.
Paste Pastes data from the clipboard into the document.
Find Locates the specified text in the active editor window.
Find In Files Locates the specified text in the specified file group.
Replace Locates and replaces the specified text in the active window with the
specified text.

Undo/Can't Undo command (Edit menu)


Use this command to reverse the last editing action, if possible. The Undo
command is grayed if you cannot reverse your last action.
Shortcuts
Keys: Ctrl+Z or
Alt-BackSpace

Redo command (Edit menu)


Use this command to reverse the last undone editing action, if possible. The Redo
command is grayed if you cannot reverse your last undone action. Undo actions
can only be redone as long as no edit action other than Undo is performed. When
an edit action other than Undo is performed the Redo command list is erased.
Shortcuts
Keys: Ctrl+Y

Cut command (Edit menu)


Use this command to remove the currently selected data from the document and
put it on the clipboard. This command is unavailable if there is no data currently
selected.
Cutting data to the clipboard replaces the contents previously stored there.
Shortcuts

Toolbar:
Keys: Ctrl+X

19
Printed Documentation

Copy command (Edit menu)


Use this command to copy selected data onto the clipboard. This command is
unavailable if there is no data currently selected.
Copying data to the clipboard replaces the contents previously stored there.
Shortcuts

Toolbar:
Keys: Ctrl+C

Paste command (Edit menu)


Use this command to insert a copy of the clipboard contents at the insertion point.
This command is unavailable if the clipboard is empty.
Shortcuts

Toolbar:
Keys: Ctrl+V

Find command (Edit menu)


Use this command to search for specified text in the currently active window.
Selecting this command causes the Find dialog box to be displayed.
Shortcuts
Keys: Ctrl+F
See Also
Find Dialog

Find In Files command (Edit menu)


Use this command to search for text in specified files and specified directories.
Each line of text located that match the specified search criteria will be added to
the Output window. You can then double click on entries in the output window to
load the associated file and have the cursor positioned to the start of the
appropriate line.
Shortcuts

Toolbar:
See Also
Find In Files Dialog

Replace command (Edit menu)


Use this command to search for and replace specified text in the currently active
window. Selecting this command causes the Replace dialog box to be displayed.
See Also
Replace Dialog

20
Editor Commands

Find Dialog
The following options allow you to specify the text to locate:
Find what
Type or select the text you want to search for. Clicking on the down arrow
at the right of this text box will cause a list of previous search texts to be
displayed. Select the text from the drop down list box or type the text you
want to search for.
Match whole words only
Select this check box is you want to search for whole words only. When
checked the specified text must be surrounded by blanks; or be at the start
of a line followed by a space; or at the end of the line proceeded by a
space; or the only word on the line. If this box is not checked then text will
be found even if it is part of a word.
Match case
Select this check box if you want to perform a case sensitive search.
Remove the check if you want to search regardless of case.
Direction
Up: search starting at the current cursor location towards the start of the
document. If not found before the start of the document is reached then it
continues at the end of the document.
Down: search starting at the current cursor location towards the end of the
document. If not found before the end of the document is reached then is
continues at the start of the document.
Find Next
Starts or continues the search for the specified text in the specified
direction.
Cancel
Stops or cancel the search.
When Find Next is selected the current search parameters are saved for the next
search operation. The Find what text is also added to the list of previous search
texts. It is added to the start of the list and the last item in the list is discarded if
room is not available to retain it.

21
Printed Documentation

Find In Files Dialog


The following options allow you to specify the text to locate:
Find what
Type or select the text you want to search for. Clicking on the down arrow
at the right of this text box will cause a list of previous search texts to be
displayed. Select the text from the drop down list box or type the text you
want to search for.
In file type
Type or select the file filter to use when searching files. Clicking on the
down arrow at the right of this text box will cause a list of previous file filters
to be displayed. Select the file type from the drop down list box or type it
into the text box.
In folder
Type or select the directory to look in for the specified file types. Clicking
on the down arrow at the right of this text box will cause a list of previous
folders to be displayed. Select the folder from the drop down list box or
type it into the text box.
Match whole words only
Select this check box is you want to search for whole words only. When
checked the specified text must be surrounded by blanks; or be at the start
of a line followed by a space; or at the end of the line proceeded by a
space; or the only word on the line. If this box is not checked then text will
be found even if it is part of a word.
Match case
Select this check box if you want to perform a case sensitive search.
Remove the check if you want to search regardless of case.
Search subdirectories
Select this check box if you want to search in directories within the on
previously specified. If this box is not selected it will look only in the
specified directory.
Find
Starts the search for the specified text in the specified files types and
directories.
Cancel
Stops or cancel the search.
...
Displays the Choose Directory Dialog box.
Each line of text located that match the specified search criteria will be added to
the Output window. You can then double click on entries in the output window to
load the associated file and have the cursor positioned to the start of the
appropriate line.
When Find is selected the current search parameters are saved for the next
search operation. The Find what, In files/file types and In folder texts are also
added to their associated lists of previous search texts. They are added to the
start of the list and the last item in the list is discarded if room is not available to
retain it.

22
Editor Commands

Choose Directory Dialog


The following options allow you to specify the text to locate:
Directory name
Type or select the name of the desired directory. Double clicking on a
upper level directory will close that list and display directories at the level of
the selected directory. Double clicking on a lower level directory will open
that directory and display the directories (if any) within it.
Drives
Is a drop down list of drives either local or network mapped that are
currently available on the computer. Once another drive is selected the
directory tree will be updated to reflect the directories on that drive.
OK
Closes the dialog and returning to the calling dialog changing the directory
listed in that dialog.
Cancel
Closes the dialog box without changing the directory in the calling dialog.

Replace Dialog
The following options allow you to specify the text to locate:
Find what
Type or select the text you want to search for. Clicking on the down arrow
at the right of this text box will cause a list of previous search texts to be
displayed. Select the text from the drop down list box or type the text you
want to search for.
Replace with
Type or select the text you want to replace the found text with. Clicking on
the down arrow at the right of this text box will cause a list of previous
search texts to be displayed. Select the text from the drop down list box or
type the text into the edit box.
Match whole words only
Select this check box is you want to search for whole words only. When
checked the specified text must be surrounded by blanks; or be at the start
of a line followed by a space; or at the end of the line proceeded by a
space; or the only word on the line. If this box is not checked then text will
be found even if it is part of a word.
Match case
Select this check box if you want to perform a case sensitive search.
Remove the check if you want to search regardless of case.
Direction
Up: search starting at the current cursor location towards the start of the
document. If not found before the start of the document is reached then it
continues at the end of the document.
Down: search starting at the current cursor location towards the end of the
document. If not found before the end of the document is reached then is
continues at the start of the document.

23
Printed Documentation

Find Next
Starts or continues the search for the specified text in the specified
direction.
Replace
If the search has begun and text has been found clicking this button will
cause the located text to be replaced with the specified text. If the search
has not begun then clicking this button performs the same action as Find
Next.
Replace All
If the search has begun and text has been found clicking this button will
cause the located text to be replaced with the specified text and all
remaining occurrences to be located and replaced automatically. If the
search has not begun then clicking this button will search out all occurrence
of the specified text and automatically replace it with the specified text.
Cancel
Stops or cancel the search.
When Find Next, Replace, or Replace All is selected the current search and
replace parameters are saved for the next search and replace operation. The
Find what and Replace with text is added to their corresponding lists of previous
search texts. They are added to the start of the list and the last item in the list is
discarded if room is not available to retain it.

24
View Menu
View menu commands
The View menu offers the following commands:
Toolbar Shows or hides the toolbar.
Status Bar Shows or hides the status bar.
Output Opens an Output window.
Registers Opens a Registers window.
Ports Opens a Ports window.
Direct Opens a Direct Memory window.
Memory
Indirect Opens an Indirect Memory window.
Memory
External Opens an External Memory window.
Memory
Watch Opens a Variable Watch window.
Window

Toolbar command (View menu)


Use this command to display and hide the Toolbar, which includes buttons for
some of the most common commands in the 8051 IDE, such as File Open. A
check mark appears next to the menu item when the Toolbar is displayed.
See Toolbar for help on using the toolbar.

Toolbar

The toolbar is displayed across the top of the application window, below the menu
bar. The toolbar provides quick mouse access to many tools used in the 8051
IDE,
To hide or display the Toolbar, choose Toolbar from the View menu (ALT, V, T).
Click To

Open a new document.

Open an existing document. The 8051 IDE displays the Open dialog
box, in which you can locate and open the desired file.

Save the active document with its current name. If you have not named
the document, the 8051 IDE displays the Save As dialog box.

Saves all open documents with their current name. If you have not
named a document, the 8051 IDE displays the Save As dialog box for
each unnamed document.

Remove selected data from the document and stores it on the


clipboard.

25
Printed Documentation

Copy the selection to the clipboard.

Insert the contents of the clipboard at the insertion point.

Searches files for specified text.

Assembles the source code in the currently active editor window.

Assembles the source file(s) indicated by the current project file.

Add variable to Watch window. The text under the cursor will be
presented as the variable name. You can then accept this text or edit
and change it.

Steps into the next instruction. If this instruction is a CALL then


program execution stops at the first instruction of the subroutine.

Steps over the next instruction. If this instruction is a CALL then


program execution stop when it returns from the subroutine.

Steps out of the current subroutine. Execution continues until a return


is executed. Program execution stops at the instruction following the
CALL to the subroutine being stepped out of.

Executes the program until the instruction at the cursor location is


reached.

Continues program execution from the current program location.

Set or clears a break point at the current cursor location. If the line the
cursor is one does not contain a break point then one is placed there. If
the line does contain a break point then it is removed.

Resets the simulation engine bringing the program counter to zero.

Stops the running simulation engine.

Stops program execution at its current location.

Status Bar command (View menu)


Use this command to display and hide the Status Bar, which describes the action
to be executed by the selected menu item or depressed toolbar button, and
keyboard latch state. A check mark appears next to the menu item when the
Status Bar is displayed.
See Status Bar for help on using the status bar.

Status bar

The status bar is displayed at the bottom of the 8051 IDE window. To display or
hide the status bar, use the Status Bar command in the View menu.

26
View Menu

The left area of the status bar describes actions of menu items as you use the
arrow keys to navigate through menus. This area similarly shows messages that
describe the actions of toolbar buttons as you depress them, before releasing
them. If after viewing the description of the toolbar button command you wish not
to execute the command, then release the mouse button while the pointer is off
the toolbar button.
The right areas of the status bar indicate the following:
Indicator Description
INS Indicates the state of the Insert/Overtype mode of the editor.
Ready Indicates the status of back ground processing (Ready or Busy).
Ln 1, Col 1 Indicates the Line and Column position of the cursor in the editor.

Output command (View menu)


Use this command to display a new output (message) window.
See Also
Output window

Registers command (View menu)


Use this command to display a new register window.
See Also
Registers window

Control Registers command (View menu)


Use this command to display a new control register window.
See Also
Control Registers window

Ports command (View menu)


Use this command to display a new ports window.
See Also
Ports window

Direct Memory command (View menu)


Use this command to display a new Direct Memory (DRAM) window.
See Also
DRAM window

Indirect Memory command (View menu)


Use this command to display a new Internal Memory (IRAM) window.
See Also
IRAM window

27
Printed Documentation

External Memory command (View menu)


Use this command to display a new External Memory (XRAM) window.
See Also
XRAM window

Watch Window command (View menu)


Use this command to display a new Watch window.
See Also
Watch window

28
Assembler Basics
Assembler
Selecting Assemble from the Assemble menu assembles the source in the
currently active editor window. The number of errors found in the source will be
displayed in the Output window.
If any errors are located double clicking on an error message will load the
associated source code and position the cursor at the location of the line
containing that error.
NOTE: Some errors will generate additional errors, usually the first error is the
actual offense. If you fix an error and are unable to see the problem with a
subsequent error try reassembling the source.
Once an error is fixed, double clicking on other listed errors will load the
associated source code and position the cursor on the corresponding line If you
add a new line or delete an existing line the offending line no longer has the same
line number as the one in the error list. For this reason if you add or delete lines
containing errors reassemble the source to regenerate an accurate error/line
number list. If no errors are reported you can simulate the source.
Refer to 8051 source format, for a description of the layout of an 8031 assembly
language program.

Project File
The Project option allows you to specify the main source file in a multi-file project.
The project file contains include statements which list all the files in the project.
This allows you to assemble your project without having to first load the main file.
To specify a project file select the Project command from the Assemble menu and
type in the file name or select one from the list.
Use the Close Project command to clear the specified project file name.
Refer to the section titled Multi-file Projects for an explanation of how to setup a
multi-file project.

File Generation
The 8051 assembler generates a number of files when it assembles either an
individual file or a project. These files have the same name as either the individual
file being assembled or the name of the project being built. They will however
have the following extensions

HEX Intel hex format of the assembled binary code.


LST List file containing line numbers, address, binary code and source lines of
the file being assembled or the total project being built.

Source File Format


The assembler mnemonics, labels and symbols are not case sensitive. In other
words LOOP is the same as loop to the assembler. Each line of the source code
has the following format
LABEL: OPCODE OPERANDS ;COMMENT
each of these fields are defined below.

29
Printed Documentation

LABEL: Each line of source can contain an optional label. Labels may contain
letters, digits and an under score (_) character. The label must start with a
alphabetic character and terminate with a colon ":". Labels can contain as many
characters as you want although the assembler only recognizes the first 32. The
first time a label is encountered its name along with the current value of the
program counter is added to the label table. When the label is used as an
operand the value of the program counter associated with that label is substituted.
OPCODE: Opcodes can be either an 8051 mnemonic or an assembler directive.
A list of mnemonics and their operands are given in appendix A. The following
section contains a list of assembler directives. Opcodes must be separated from
labels and operands by at least one blank.
OPERAND: Operands are added after a mnemonic or directive to indicate what
the operation is to be performed on.
For example in the instruction: MOV R1,A
The operands are R1 and A. A comma, as in the example just given must
separate multiple operands.
COMMENT: Comments begin with a semicolon and instruct the assembler to
ignore all text from the semicolon to the end of the line.
SYMBOL: A symbol is a character string, which represents a specific value. For
example the source line
CR EQU 13
Instructs the assembler to equate the value 13 with the character sequence CR.
Symbols must conform to the same requirements as labels (but they are
terminated with a blank instead of a colon).
EQUATIONS: The assembler has a built in equation evaluator. Opcodes requiring
an immediate value or directives requiring a value can be constructed into an
equation. For example in the following source line
MOV A,8*4
8 * 4 is the equation which will be evaluated. Equations can be comprised of
numbers, labels, symbols, operators and parenthesized sub-equations.
Numbers must start with a digit between 0 and 9. Terminating with a B, H or D
respectively can specify binary, hexadecimal and decimal numbers. For example
01000001b, 041h and 65d are binary, hexadecimal and decimal representations of
the same value. If the radix is not specified then decimal is assumed. Although
the default assembler radix can be changed with the RADIX assembler directive.
Values for ASCII characters can be specified by surrounding the character with
single quotes, for example 'A' will cause the ASCII value (65) for the character to
be substituted.
Labels and symbols can be used if previously defined or equated to a value.
Labels and symbols not defined prior to their use can be used in expressions if
their value is not required on the first assembler pass. For example in the source
lines
DB 'hello', CR, LF
CR EQU 13
LF EQU 10
the value of CR and LF are not needed on the first pass, their values can be
substituted on the second pass. The only exception is the DS (Define Space)
directive. An example of this is
DS BUFSIZE
BUFSIZE EQU 20

30
Assembler Basics

This code segment will generate a phase error. On the first pass the assembler
must know how many bytes to allocate for the DS (Define Space) directive in order
for it to continue determining address values for subsequent labels. For this
reason labels and symbols used in the DS directive must be defined prior to their
use.
The available operators are listed below in order of precedent
() parenthesized sub-equations
High returns the high byte of an integer value/result.
Example: if val is equal to 0x1234
High(val) returns 0x12
Low returns the low byte of an integer value/result.
Example: if val is equal to 0x1234
Low(val) returns 0x34
HighWord Returns the high word (two-byte) of an integer value/result.
Example: if val is equal to 0x12345678
HighWord(val) returns 0x1234
LowWord Returns the low word (two-byte) of an integer value/result.
Example: if val is equal to 0x12345678
LowWord(val) returns 0x5678
^ exponential
* multiplication
/ division
%, MOD modular, either type can be used.
&, AND logical AND, either type can be used.
|, OR logical OR, either type can be used.
+ addition
- subtraction
+, - unary operations
.n dot operator (20H.1=33, 20H.2=34, ... 20H.7=39)

Assembler Directives
The following is a list of directives supported by the 8051 Assembler:
ORG: Originate. Resets the program counter (at assembly time) to a specific
value. For example the source line
ORG 7
resets the program counter to the value 7.
DATAORG: Data Originate. Resets the data address counter used by the DS
directive. For example the source code segment
DATAORG 10
VAR1 DS 1
VAR2 DS 1
sets the symbols VAR1 and VAR2 to 10 and 11 respectively.

31
Printed Documentation

EQU: Equates a value with a character string (Symbol). For example the source
line
LF EQU 10
adds the symbol LF to the symbol table with the associated value 10. Each time
LF is used as an operand the value 10 will be substituted. A symbol can be
equated only once in a project. Equated symbols are evaluated to a numeric
result. The EQU directive does not perform a character substitution.
SET: Like EQU, SET sets a symbol to a specific value. A symbol’s value can be
modified at more than one location in the source file by the SET command.
BIT: Equates a bit address with a character string (Symbol). For example the
source line
HoldPin BIT 80h
adds the symbol HoldPin to the symbol table with the associated bit address 80h
(128 decimal, same as bit 0 of port 0). Each time HoldPin is used as an operand
the value 80h will be substituted. A symbol can be defined using the BIT
operation only once in a project. Bit defined symbols are evaluated to a numeric
result. The BIT directive does not perform a character substitution.
DATA: Equates an address with a character string (Symbol). For example the
source line
Count1 DATA 10h
adds the symbol Count1 to the symbol table with the associated address 10h (16
decimal). Each time Count1 is used as an operand the value 10h will be
substituted. A symbol can be defined using the DATA operation only once in a
project. Defined symbols are evaluated to a numeric result. The DATA directive
does not perform a character substitution.
DB: Define byte. This directive places a value or string of values in program
memory at the current program counter location (one per memory location). For
example
NUM: DB 10
MSG: DB 'HELLO WORLD',13,10
are legal usage of the DB directive. Each value (or values) will occupy one
memory location.
DW: Define word. This directive places a value or string of values in program
memory at the current program counter location one per 2 bytes of memory. For
example
NUM: DW 10
MSG: DW 'HELLO WORLD',13,10
are legal usage of the DW directive. Each value (or values) will occupy two
memory locations (in LS MS order).
DS: Define space. This directive will allocated a specified number of data memory
locations starting at the current data address counter location. For example
BUF DS 10
will allocate 10 bytes of memory starting at the location associated with BUF. This
directive is used to allocate space in internal and external data memory.
PAGE rows: Rows is optional, if omitted the listing file is advanced to the top of
the next page. If specified this value indicates the number of lines per page in the
listing file (e.g. PAGE 66). The default lines per page is 66.
%TITLE "title string": This directive allows you to specify the title to be displayed
in the listing file. You can change the title as often as you like. But since the title

32
Assembler Basics

is displayed at the top of the first page the last defined title in your source file will
be displayed. This is due to the fact that the title is displayed before any lines of
the source file are processed for the second assembly pass. They have all been
processed for the first pass.
The quotes around the title string are required. Every character after the first
quotation mark to the character just before the next quotation mark will be
included in the title.
%SUBTTL "subtitle string": This directive allows you to specify the subtitle to be
displayed in the listing file. This subtitle is displayed starting will the second page
and can be changed as often as you like. The last declared subtitle will be
displayed in the title block of each page (except the first page).
%TOPMAR val: Allows you to specify the number of lines in the top margin of the
listing file. This value must be greater than 4 and must be less than the page
length minus the bottom margin (defined below).
%BOTMAR val: Allows you to specify the number of lines in the bottom margin of
the listing file. This value must be greater than 0 and must be less than the page
length minus the top margin (defined above).
END: Instructs the assembler to stop assembling the source file (ignore any text,
which follows the END directive). The END directive is not required, the
assembler will stop assembling either when it reaches an END directive or the end
of the text buffer.
RADIX: Allows you to change the default radix conversion from decimal to
hexadecimal or binary. The following lists the possible usage:
RADIX DEC - sets the default conversion radix to decimal.
RADIX HEX - sets the default conversion radix to hexadecimal.
RADIX BIN - sets the default conversion radix to binary.
INCLUDE: Allows you to build and simulate multi-file projects. Allowing for the
creation of programs which are to large to load into the editor. The format for the
include directive is:
INCLUDE "filename.ext"
The name of the included file must be enclosed in quotes. No extension is
assumed and must therefor be specified. The quotation marks are optional. You
can also use the traditional $ include format. This format of the include directive
is:
$filename.ext
An END directive in an included file will stop the assembly of that include file but
not of the project as a whole.
* The INCLUDE directive is only available in the registered version of the 8051
IDE.
BREAK: Specifies a break point in your code. This will cause the Simulator to
suspend your program when this point is reached.
MEMTYPE: Specifies the type of memory subsequent variables (symbols) will be
referencing. This allows the simulator to automatically select the Resource Type
when adding a watch from the edit window. This directive has the following format
MEMTYPE reftype
Were: reftype is one of the following
IRAM – internal Indirect RAM
DRAM – internal Direct RAM

33
Printed Documentation

XRAM – external RAM


Specify no reference type sets the default symbol reference to undefined.

Inline Intel Hex Formatted Code


Previously assembled Intel Hex formatted code can be inserted directly into a
source file. For example the following Intel Hex formatted program code

:108000007581B71282F712817320930B128242207E

can be inserted directly into your source file. You can also use the INCLUDE
directives to insert an entire hex file into your project. A line that starts with a
colon (:) is assumed to be an Intel Hex formatted code segment. An Intel Hex
formatted code segment has the following format

:NNAAAA00DDDD.....DDCS

Were
: signals the start of an Intel Hex formatted segment. Must be the
first non-space character of the line. Otherwise the line will not be
recognized as inline code.
NN is a two-character (1-byte) ASCII hex value indicating the number
of data bytes (DD).
AAAA is a four-character (2-byte) ASCII hex value indicating the address
of the code segment.
00 is a two character (1-byte) ASCII hex format identifier and must be
00 (no other format is recognized).
DD is a two-character (1-byte) ASCII hex code (or data) byte.
CS is a two-character (1-byte) ASCII hex value representing the 2’s
compliment check sum

The Intel Hex formatted code segment is added to your program code starting at
the current program counter address in the following sequence.

NNAAAA00DDDD.....DD

All values (except for the check sum) are added to the program code.

The following is an example code segment that adds a Hex file named flashup.hex
to the program code.

RelCodeSeg: ; start of code segment to be relocated$flashup.hex ;


include raw (already assembled) code segmentRelCodeSegEnd: ;
end of code segment to be relocated

34
Assembler Basics

The Intel Formatted code will be added to the main programs code base starting at
the address associated with RelCodeSeg. The end of this added code segment is
identified by the address associated with RelCodeSegEnd.

Conditional Assembly
The assembler allows you to conditionally assemble segments of your code. This
allows you to assemble (or not assemble) various portions of your program. The
following illustrates the usefulness of conditional assembly. In this example
OFFSET is a constant, LOWBYTE and HIGHBYTE are internal memory locations.
OFFSET does not change at runtime, and LOWBYTE and HIGHBYTE do.
OFFSET EQU 1000H
MOV A,LOWBYTE
ADD A,#LOW OFFSET
MOV LOWBYTE,A
MOV A,HIGHBYTE
ADDC A,#HIGH OFFSET
MOV HIGHBYTE,A
In this example zero is added to the value LOWBYTE and does not change it.
Therefor the code performs no useful purpose and adds overhead to the program.
You could simply delete the code segment although this would cause problems if
the value of OFFSET changes. You can add conditional assembly directives to
help optimize the code. The following illustrates the modified code.
OFFSET EQU 1000H
CLR C ; clear in case the following
; code is omitted.
IF LOW(OFFSET) <> 0 ; if low byte is none zero
MOV A,LOWBYTE ; include code to add
ADD A,#LOW OFFSET ; low byte offset.
MOV LOWBYTE,A
ENDIF
MOV A,HIGHBYTE
ADDC A,#HIGH OFFSET
MOV HIGHBYTE,A
Since the low byte of OFFSET is zero the code is removed (not added) to the
runtime program. Although if at a later time the value of OFFSET changes (to say
1010h) then the code would be included in the assembled program.
It is important to note that this code is added or omitted from the assembled
machine code. The condition is tested at assembly time and not run time.
Therefor the condition of the test must not be able to change during runtime. If the
code is omitted the only way to get it back is to reassemble and reprogram the
circuit.
The conditional test operators are: <, >, =, <> (less than, greater than, equal and
not equal).
In the previous example we include or don't include a segment of code. Using an
ELSE construct we can assemble one of two program segments. For example
HARDWARE EQU 1
IF HARDWARE = 1
MOV R0,#10
ELSE
MOV R0,#20
ENDIF

35
Printed Documentation

This example allows you to maintain one version of source code for two versions
of hardware. In one version you need to load R0 with the value 10 and another
version with the value 20. To create firmware for each of the two versions you
simply change the value HARDWARE gets equated to and reassemble.

Multi-file Projects
The 8051 assembler recognizes a number of directives, which it treats as
comment lines. These directives are:
NAME, RSEG, PUBLIC, and EXTERN
These directives are used by some assemblers to allow a program to be brocken
into separate source modules. They allow each module to be assembled separate
of each other. Since this 8051 assembler does not support true program (source)
modules they have no purpose.
Use the INCLUDE directive to build multi-file projects. You can use a separate
source file, which simply lists each of the modules comprising the project. The
following is an example project file and has the file name PROJECT.ASM
INCLUDE "DEFINES.ASM" ; EQUATED SYMBOLS

DATAORG 0 ; ORIGINATE VARIABLES AT LOC 0


INCLUDE "DEFINEI.ASM" ; INTERNAL VARIABLE DEFINITIONS

DATAORG 0 ; ORIGINATE VARIABLES AT LOC 0


INCLUDE "DEFINEX.ASM" ; EXTERNAL VARIABLE DEFINITIONS

ORG 0 ; ORIGINATE CODE AT LOC 0


INCLUDE "VECTORS.ASM" ; STARTUP AND INTR VECTORS
INCLUDE "FONT1.ASM" ; CHARACTER FONTS
INCLUDE "FONT2.ASM"
INCLUDE "MAIN.ASM" ; MAIN PROGRAM BODY
INCLUDE "XMEM.ASM" ; EXTERNAL MEMORY ROUTINES
INCLUDE "INIT.ASM" ; INITIALIZATION ROUTINES
INCLUDE "STRING.ASM" ; STRING ROUTINES
INCLUDE "MATH.ASM" ; MATH ROUTINES
INCLUDE "SERIAL.ASM" ; SERIAL I/O ROUTINES
This project file performs the function of a make (or link) list file. You can precede
each module with an ORG directive. This provides the capability of specifying
module placement. Since all modules are assembled together the EXTERN and
PUBLIC statements are not needed. They are used by other assemblers which
compile individual modules providing reference symbols in other modules.
Having the 8051 assembler recognize and ignore these directives in conjunction
with a project file helps utilize existing code developed using other assemblers.
The project can be built two different ways. You can load the project file into the
editor and invoke the assembler. Although this is a bit inconvenient. Another way
is to specify the name of the project file. This option is located in the Assemble
menu.
Note that the alternate include format ($filename.ext) can be used instead of the
key word "include".
* The INCLUDE directive is only available in the registered version of the 8051
IDE.

36
Assembler Commands
Assemble menu commands
The Assemble menu offers the following commands:
Assemble Assembles the source code in the active editor window.
Build Assembles the source code file(s) indicated by the selected project.
Stop Stops a build or assembly in progress.
Project Specifies the name of the project file.
Close Closes (clears) the project name.
Project

Assemble command (Assemble menu)


Use this command to assemble the source code in the currently active editor
window. If the simulation engine is running when this command is selected it will
be shut down prior to performing the operation.
Shortcuts

Toolbar:
Keys: Ctrl+F7
See Also
Start Simulator

Build command (Assemble menu)


Use this command to assemble the source files indicated by the current project file
selection. If the simulation engine is running when this command is selected it will
be shut down prior to performing the operation.
Shortcuts

Toolbar:
Keys: F7
See Also
Project command
Start Simulator

Stop command (Assemble menu)


Use this command to stop a previously begun assembly of a specific source file.
See Also
Assemble command

37
Printed Documentation

Project command (Assemble menu)


Use this command to specify a project file to be used when the Build command is
issued.
See Also
Close Project command (Assemble menu)
Build command (Assemble menu)

Close Project command (Assemble menu)


Use this command to clear the specified project file. Clearing the project file name
will disable the Build command.
See Also
Project command (Assemble menu)
Build command (Assemble menu)

38
Simulator Commands
Simulator
The simulator allows you to step through your source code watching registers,
flags, ports and RAM change. You can step into, step over and execute to source
lines. Selecting Start Simulator via the Simulate menu enters the simulator.
While the simulator is running it will control the display of source code and values
in the associated windows (Registers, DRAM, IRAM, XRAM and Ports). The
active window contains the cursor and the windows title bar is not grayed.
The Registers window contains the values currently in the processor’s registers.
The registers are defined as follows:
AC Accumulator
B Multiply, divide, and general purpose register
R0-R7 General-purpose register set
SP Stack pointer
PC Program counter
DPTR Data pointer register (16 bits)

The Control Registers window contains the processor status and control registers.
The registers are defined as follows:
PSW Program Status Word
(contains: CY, AC, F0, RS1, RS0, OV, F1 and P)
IP Interrupt priority control register
IE Interrupt enable control register
TCON Timer/Counter control register
TMOD Timer/Counter mode control register
PCON Power control register
T2CON Timer/Counter 2 control register
SCON Serial port control register
SBUF Serial transmit/receive buffer register
T0 Timer/Counter 0 (16 bits)
T1 Timer/Counter 1 (16 bits)
T2 Timer/Counter 2 (16 bits)
RCAP2 Timer/Counter 2 Capture register (16 bits)

The Ports window displays the values each of the processor’s ports. Ports P0, P1,
P2 and P3 reflect the state on the processors external ports.
The XRAM window reflects the values in the processors external data memory.
The number of RAM locations is 64k.
The IRAM window reflects the values in the processors internal memory. The
number of RAM locations is dependent on the chip type specified in the options
menu.

39
Printed Documentation

Simulate menu commands


The Simulate menu offers the following commands:
Start Simulator Initializes and starts the simulation engine running.
Restart Resets the simulation engine bringing the program counter to zero.
Stop Stops the running simulation engine.
Continue Continues program execution from the current program location.
Break Stops program execution at its current location.
Step Into Steps into the next instruction. If this instruction is a CALL then
program execution stops at the first instruction of the subroutine.
Step Over Steps over the next instruction. If this instruction is a CALL then
program execution stop when it returns from the subroutine.
Step Out Steps out of the current subroutine. Execution continues until a return
is executed. Program execution stops at the instruction following the
CALL to the subroutine being stepped out of.
Run to Cursor Executes the program until the instruction at the cursor location is
reached.
Toggle Break Set or clears a break point at the current cursor location. If the line the
Point cursor is one does not contain a break point then one is placed there. If
the line does contain a break point then it is removed.

Start Simulator command (Simulate menu)


Use this command to start and initialize the simulation engine. Once started other
simulation commands become available. Before this command can be selected a
previous assemble or build operation must have been performed. While the
simulator is running this command is unavailable (grayed).
Shortcuts
Keys: Ctrl+F5
See Also
Assemble command
Build command
Stopping the Simulator

Restart command (Simulate menu)


Use this command to restart and initialize the simulated processor to its power
up/reset state.
Shortcuts

Toolbar:
Keys: Ctrl+Shift+F5
See Also
Start Simulator

40
Simulator Commands

Stop command (Simulate menu)


Use this command to stop (shut down) the currently active simulation engine. This
command is not available (grayed) if the simulation engine is not running. The
simulator must be stop prior to assembling or building source files. Although
selecting the Assemble or Build commands will automatically shut down the
simulator prior to assembling the source code.
Shortcuts

Toolbar:
Keys: Shift+F5
See Also
Start Simulator
Assemble
Build

Continue command (Simulate menu)


Use this command to continue (restart) program execution from the current
Program Counter (PC) location. Execution will continue until a break point is
reach or the Break command is selected.
Shortcuts

Toolbar:
Keys: F5
See Also
Toggle Break Point
Break Program Execution

Break command (Simulate menu)


Use this command to stop the execution of the simulator. This command is
grayed if program execution is not in progress.
Shortcuts

Toolbar:
See Also
Toggle Break Point

Step Into command (Simulate menu)


Use this command to execute the instruction at the current Program Counter (PC)
location. If the instruction is a CALL then simulation stops at the first instruction of
the subroutine. Otherwise simulation stops at the instruction following the one
being executed.
Shortcuts

Toolbar:
Keys: F11

41
Printed Documentation

Step Over command (Simulate menu)


Use this command to execute the instruction at the current Program Counter (PC)
location. If the instruction is a CALL then simulation stops when it returns from the
subroutine. Otherwise simulation stops at the instruction following the one being
executed.
Shortcuts

Toolbar:
Keys: F10
See Also
Break Program Execution

Step Out command (Simulate menu)


Use this command to execute all of the instructions from the current Program
Counter (PC) location to the remaining instructions within the current subroutine.
Program execution stops at the instruction following the CALL to this subroutine
(instruction to be executed after the return instruction)
Shortcuts

Toolbar:
Keys: Shift+F11
See Also
Break Program Execution

Run To Cursor command (Simulate menu)


Use this command to execution the instruction starting at the current Program
Counter (PC) location up to the instruction at the current cursor location. Program
execution stops when the instruction at the current cursor location is reached.
Shortcuts

Toolbar:
Keys: Ctrl+F10
See Also
Break Program Execution

Toggle Break Point command (Simulate menu)


Use this command to set or remove a break point for the instruction at the current
cursor location. If a break point already exists at this location it is removed. If one
does not exist it is placed there.
Shortcuts

Toolbar:
Keys: F9
See Also
Remove All Break Points

42
Simulator Commands

Remove All Break Points (Simulate menu)


Use this command to clear all break points that are currently set. If no break
points are currently set this command will be unavailable (menu option is grayed).
See Also
Toggle Break Point command

Simulator Commands
the following lists commands invoked via key combinations while the simulator is
running:
Key Combination Command Description
Ctrl+F10 Executes to the currently highlighted source line.
F11 Executes the next instruction stepping into a CALL.
F10 Executes the next instruction stepping over a CALL.
F9 Sets break points in the Source window pane. Sets output radix in
Register, IRAM, XRAM and Port window pains.

Modify Simulated Registers


The Registers, DRAM, IRAM, XRAM and Ports can be modified by moving the
cursor to the desired entry and either pressing the Enter key or double clicking on
it. A dialog will be displayed prompting you to enter the new value. Entering a
blank line will set the item to zero.

Simulate Execution

Selecting the Step Into command via the Simulate menu, the toolbar icon or
pressing F11 will cause the next instruction to be executed. If the instruction is a
CALL then the simulator will step into the subroutine stopping at the first
instruction of that subroutine.

Like Step Into the Step Over command via the Simulate menu, the toolbar
icon or pressing F10 will cause the next instruction to be executed. Unlike Step
Into if the instruction is a CALL the simulator will execute all instructions below
(within) the subroutine being called before returning. You can break the program
execution by selecting the Break command via the Simulate menu, the
toolbar icon or pressing the Esc key. Once the Break command is issued the
source line being executed will be displayed with the cursor on it.
You can set break points for any instruction line in the simulator Source pane. A
break point will cause the simulator to stop (break) execution at a specific
instruction. If the next instruction the simulator is to execute has a break point it
will stop before executing that instruction. Break points are set by highlighting the
desired source line (in the Source pane) and selecting the Toggle Break Point
command via the Simulate menu, the toolbar icon or by pressing the F9
function key. Selecting the Toggle Break Point command while on a line
containing a break point will remove that break point.

43
Printed Documentation

Counter and Interrupt Simulation


The 8051 program simulates all three counters (T0, T1 and T2). Timer modes
which operate from the oscillator / 12 will increment as instructions are executed.
Counter modes, which count transitions of their corresponding pin, are also
implemented. Pin transitions can be simulated either by changing the port values
in the simulator or by embedding instructions in your source code. For example to
toggle T1 and generate a count add CPL P3.5 to your code. The simulator will
register the transition and increment the T1 counter (if enabled).
The simulator will also vector on interrupts. All interrupt sources are simulated
(external and internal). To generate an external interrupt, simply initialize the
appropriate registers and toggle the interrupt line (INT0 or INT1). Setting the port
bit low in the simulator and stepping through the code can toggle the interrupt
lines. You must step through at least one instruction after setting the port pin low
before setting it high again. Machine instructions which set an interrupt pin low
can be placed in your code, for example CLR P3.2 (INT0). Unfortunately this type
of interrupt generation is not completely random, as it would be in actual
operation.
The simulator executes code as it would on an 8032 processor. For this reason
timer 2 and its associated interrupts are simulated regardless of the target
processor. If you’re developing code for an 8031 be sure to initialize registers
such that the T2 counter is disabled. Otherwise the simulator may produce
improper results for your target processor.

Serial Port Simulation


The simulator will simulate the Transmit Buffer empty flag/interrupt caused by the
serial transmission of a byte. Only a single serial port (8031) is currently
supported. It operates in a fixed 10 bit, mode zero. The only limitation this places
on your simulation is a fixed ten-cycle count before the TI bit is set. Actual
operation of the 8031 will depend on the serial mode selected in the SCON
register.
To simulate serial reception, place a value in the SBUF special function register
and set the RI bit in SCON. If interrupts are enable one will be generated and the
simulator will vector to the appropriate program location.

Button Simulation
The simulator allows you to define and use buttons as virtual input devices. To
open a virtual button select View, Virtual, Button. A virtual button dialog will be
displayed. This dialog contains two buttons, a configuration and a user button.
Selecting the Configure button displayed the Virtual Button Configuration dialog
box.
You can open as many Virtual Buttons as you wish. The number and
configuration of each Virtual Button will be saved in the workspace. Saving the
workspace will save the placement and configuration of the Virtual Buttons as well.
See Also
Virtual Button Configuration dialog box

44
Simulator Commands

Simulator Display Values


You can specify an output radix for each register, port and memory location. To
specify a radix other than its default, perform the following steps:
Right click on the entry whose radix is to be changed. Select Radix from the pop
up menu.
Select the radix Decimal, Hexadecimal, ASCII or Binary.
Once you have changed the display radix for any of the entries they will be saved
as the default.

Registers window
The register window contains the values currently in the simulated processors
registers. The registers are defined as follows:
AC Accumulator
B Multiply, divide, and general purpose register
R0-R7 General purpose register set
SP Stack pointer
PC Program counter
DPTR Data pointer register (16 bits)
Doubling clicking on a register will display a dialog box allowing you to specify a
new value for that register.
See Also
Registers command (View menu)
Modify Value Dialog
Radix Popup menu

Ports window
The Ports window displays the values each of the simulated processors ports hold.
Ports P0, P1, P2 and P3 reflect the state on the simulated processors external
ports.
Doubling clicking on a port will display a dialog box allowing you to specify a new
value for that port.
See Also
Ports command (View menu)
Modify Value Dialog
Radix Popup menu

45
Printed Documentation

Control Registers window


The Control Registers window contains the simulated processors status and
control registers. The registers are defined as follows:
PSW Program Status Word
(contains: CY, AC, F0, RS1, RS0, OV, F1 and P)
IP Interrupt priority control register
IE Interrupt enable control register
TCON Timer/Counter control register
TMOD Timer/Counter mode control register
PCON Power control register
T2CON Timer/Counter 2 control register
SCON Serial port control register
SBUF Serial transmit/receive buffer register
T0 Timer/Counter 0 (16 bits)
T1 Timer/Counter 1 (16 bits)
T2 Timer/Counter 2 (16 bits)
RCAP2 Timer/Counter 2 Capture register (16 bits)

Doubling clicking on a Control Register entry will display a dialog box allowing you
to specify a new value for that Control Register .
See Also
Control Registers command (View menu)
Modify Value Dialog
Radix Popup menu

XRAM window
The XRAM window reflects the values in the simulated processors external data
memory. The number of RAM locations is 64k.
Doubling clicking on a XRAM entry will display a dialog box allowing you to specify
a new value for that XRAM location.
See Also
External Memory command (View menu)
Modify Value Dialog

IRAM window
The IRAM window reflects the values in the simulated processors indirect memory.
The number of memory locations is dependent on the processor type specified in
the options menu.
The first 128 DRAM and IRAM locations occupy the same physical memory. The
upper 128 locations of both DRAM and IRAM occupy unique physical memory
locations. In addition depending on the processor type the upper 128 locations of
IRAM may or may not be present. Specifying the processor type in the Options
menu will result in the number of IRAM locations being changed to reflect the
selected processor.

46
Simulator Commands

Doubling clicking on a IRAM entry will display a dialog box allowing you to specify
a new value for that IRAM location.
See Also
Indirect Memory command (View menu)
Modify Value Dialog
Radix Popup menu

DRAM window
The DRAM window reflects the values in the simulated processors direct memory.
Although 256 locations are displayed in this window not all of them may be valid
for a specific processor.
The first 128 DRAM and IRAM locations occupy the same physical memory. The
upper 128 locations of both DRAM and IRAM occupy unique physical memory
locations. In addition depending on the processor type the upper 128 locations of
IRAM may or may not be present. Specifying the processor type in the Options
menu will result in the number of IRAM locations being changed to reflect the
selected processor.
Doubling clicking on a IRAM entry will display a dialog box allowing you to specify
a new value for that IRAM location.
See Also
Direct Memory command (View menu)
Modify Value Dialog
Radix Popup menu

Watch window
The Watch window reflects the values of user specified simulator attributes. The
user can specify a custom combination of entries in the other simulator display
windows. These entries can be registers, Internal memory, Direct memory, and
external memory.
To display a Watch window select Watch Window from the View menu. A window
will be display which contains the currently defined watch variables.
To add an entry into the Watch window either place the cursor over the text of the
desired entry in the editor and click on the Add Watch toolbar icon . The text
under the cursor will be presented as the name of the variable to be added to the
watch list. You can then accept this name or edit and change it.
Clicking the right mouse button with the mouse pointer over a Watch window will
cause a popup menu specific to the Watch window to be displayed. The following
table lists commands available in this popup menu.
Add Display an Add Watch entry dialog box. This dialog
allows you to define the entry to be added to the
Watch window list.
Delete Clicking the (left or right) mouse button highlights the
watch entry under the mouse pointer. The left button
will result in the entry being selected. The right button
will select the entry and display the popup menu.
Selecting the Delete Watch option will remove the
highlight entry from the list.
Modify Displays the Modify Watch dialog box for the
highlighted entry. The watch can then be redefined.

47
Printed Documentation

Default Changes the highlighted entries display radix to the


default radix.
Decimal Changes the highlighted entries display radix to
decimal over ridding the default display radix.
Hexadeci Changes the highlighted entries display radix to
mal hexadecimal over ridding the default display radix.
ASCII Changes the highlighted entries display radix to ASCII
over ridding the default display radix.
Binary Changes the highlighted entries display radix to binary
over ridding the default display radix.
See Also
Add/Modify Watch dialog
Watch Window command (View menu)

Add Watch command


Use this command to display the Add/Modify Watch dialog box. When adding an
item to the Watch window via this command (and toolbar) the text under the cursor
will be presented as the name of the variable to be added to the watch list.
Shortcuts

Toolbar:
See Also
Add/Modify Watch dialog
Watch Window command (View menu)
Watch window

Modify Value Dialog


This dialog box allows you to specify a new value for the associated window entry.
The following options are available in this dialog:
New Value
Type the new value for the associated window entry.
OK
Clicking on OK will result in the associated window entry being changed to
the specified value.
Cancel
Clicking on Cancel will result in the dialog being closed and the window
entry being left as it was.

Radix Popup menu


Clicking the right mouse button with the mouse pointer over an entry in either the
Register, Internal Memory, Direct Memory or Port windows will cause a popup
menu to be displayed. This popup menu allows you to select the display radix for
the selected window entry. The following table lists commands available in this
popup menu.
Default Changes the highlighted entries display radix to the

48
Simulator Commands

default radix.
Decimal Changes the highlighted entries display radix to
decimal over ridding the default display radix.
Hexadeci Changes the highlighted entries display radix to
mal hexadecimal over ridding the default display radix.
ASCII Changes the highlighted entries display radix to ASCII
over ridding the default display radix.
Binary Changes the highlighted entries display radix to binary
over ridding the default display radix.

Add/Modify Watch dialog


This dialog box allows you to define a watch variable. The following options are
available in this dialog:
Address
Type the address of the CPU resource to be viewed. This address can be
a predefined or user defined label (register name for example). An
expression can also be specified. The value at the resolved address will be
displayed.
Format
Specifies the variable type at the indicated address. Select the format from
the drop down list.
Bit Index
When the Bit format is specified this field allows you to select which bit in
the byte at the indicated address to display. Select the bit index from the
drop down list.
Byte Order
When the word or double word format is specified this field allows you to
select the ordering of the bytes, starting at the specified address. Enter the
values separated by commas. For example if the bytes of a word value
are store with the most significant byte first specify a byte order of 0,1
Display Radix
This option allows you to over ride the default display radix for this watch
only. Select the desired radix from the drop down list.
Null terminated string
When the string format is specified this field allows you to indicate that the
string is NULL terminated (ends with a zero byte). The first character of the
string is assumed to be at the specified address with the next characters in
the string located in sequentially increasing memory locations. Place a
check in this check box if the string is NULL terminated.
String length
When the string format is specified and Null terminated string is not
checked this field allows you to specify the length of the string. The first
character of the string is assumed to be at the specified address with the
next characters in the string located in sequentially increasing memory
locations.

49
Printed Documentation

Resource Type
This group box allows you to specify which memory area to associate with
the specified address. If the Register resource is selected the value is
displayed in byte format regardless of the selected format type.
OK
Clicking on OK will result in the associated window entry being changed as
specified.
Cancel
Clicking on Cancel will result in the dialog being closed and the window
entry being left as it was.

50
Monitor Commands
Download code (Monitor menu)
Use this command to open a serial port and download the currently assembled
program to the development board. Once the code has been downloaded the
serial port is left open and is monitored for communication with the development
board. While the serial port is open issuing the Download command will use the
currently open serial port and not ask you to specify one.
Shortcuts
Keys: F8

Start (Monitor menu)


Use this command to open a serial port and monitor it for status information sent
from the development board.

Reset (Monitor menu)


Use this command to pulse the reset line on the development board.

Stop (Monitor menu)


Use this command to close the currently open serial port and stop monitoring it for
status from the development board.

51
Program Options
Defaults command (Options menu)
Use this command to set various program defaults.
See Also
Default Settings dialog

Simulator command (Options menu)


Use this command to open the Simulator Options dialog box.
See Also
Simulator Options dialog

Simulator Options dialog


The Simulator Options dialog allows you to enable paged memory support. When
enabled you specify the page select control address. This address (in direct
memory) selects the active 64k page. This is only used in the simulator when
accessing external data memory. Program memory is not paged. The additional
option allows you to select the number of memory pages. The number of pages tells
the simulator the number of bits at the specified address that are relevant. All other
bits at that address will be masked to zero before determining the memory page.
The options in this dialog are:
Enable Paged Memory: this check box item allows you to enable and disable
paged memory support. When checked paged memory is supported. When not
check paged memory is disabled.
Paged Memory Control Address: this option allows you to specify the direct
memory location containing the page indicator. The simulator references this
memory location each time you simulate a movx instruction. The actual address
calculation is done as follows
Address = 0x10000 * Page + dptr
Total amount of paged memory: this option defines how many 64k block to
allocate for the simulator. It also indicates the number of significant bits in the
Paged Memory Control Address byte to use when determining the final address.
For example if the amount of paged memory is set to two, then only the least
significant bit of the paged memory control value will be used in the final address
calculation. All the remaining bits are don’t cares. They can be one or zero, they
will not affect the calculation.
As an example let us say we have a device that has been developed with 512k of
memory. The lower 16 address lines of the memory are controlled normally through
the address/data bus. The upper address lines are connected to the lower bits of
P1. We then configure the simulator as follows

Enabled Paged Memory: (checked)


Paged Memory Control Address: 144
Total amount of paged memory: 8 pages (512k)

Note: 144 is the direct memory address for P1.

53
Printed Documentation

In your code you would use the instructions

mov p1, 01h


movx a,@dptr

to access values in the second page of the 512k memory device.

54
Window Menu
Window menu commands
The Window menu offers the following commands, which enable you to arrange
multiple views of multiple documents in the application window:
New Window Creates a new window that views the same document.
Cascade Arranges windows in an overlapped fashion.
Tile Arranges windows in non-overlapped tiles.
Arrange Icons Arranges icons of closed windows.
Window 1, 2, Goes to specified window.
...

New command (Window menu)


Use this command to open a new source window with the same contents as the
active window. You can open multiple source windows to display different parts
or views of a document at the same time. If you change the contents in one
window, all other windows containing the same document reflect those changes.
When you open a new window, it becomes the active window and is displayed on
top of all other open windows.

Cascade command (Window menu)


Use this command to arrange multiple opened windows in an overlapped fashion.

Tile command (Window menu)


Use this command to arrange multiple opened windows in a non-overlapped
fashion.

Window Arrange Icons Command


Use this command to arrange the icons for minimized windows at the bottom of
the main window. If there is an open document window at the bottom of the main
window, then some or all of the icons may not be visible because they will be
underneath this document window.

Arrange Windows command (Window menu)


Use this command to automatically arrange open windows. The source windows
will be place onto of each other in the upper left section of the application
windows. The output window will be positioned below the source windows. The
remaining windows will be arranged along the right side of the application.

1, 2, ... command (Window menu)


The 8051 IDE displays a list of currently open document windows at the bottom of
the Window menu. A check mark appears in front of the document name of the
active window. Choose a document from this list to make its window active.

55
Help Menu
Help menu commands
The Help menu offers the following commands, which provide you assistance with
this application:
Help Topics Offers you an index to topics on which you can get help.
About Displays the version number of this application.

Help Topics command (Help menu)


Use this command to display the opening screen of Help. From the opening
screen, you can jump to step-by-step instructions for using the 8051 IDE and
various types of reference information.
Once you open Help, you can click the Contents button whenever you want to
return to the opening screen.

About command (Help menu)


Use this command to display the copyright notice and version number of your copy
of the 8051 IDE.

57
Print Operations
Print command (File menu)
Use this command to print a document. This command presents a Print dialog
box, where you may specify the range of pages to be printed, the number of
copies, the destination printer, and other printer setup options.
Shortcuts

Toolbar:
Keys: Ctrl+P

Print Preview command (File menu)


Use this command to display the active document as it would appear when
printed. When you choose this command, the main window will be replaced with a
print preview window in which one or two pages will be displayed in their printed
format. The print preview toolbar offers you options to view either one or two
pages at a time; move back and forth through the document; zoom in and out of
pages; and initiate a print job.

Print Preview toolbar


The print preview toolbar offers you the following options:
Print
Bring up the print dialog box, to start a print job.
Next Page
Preview the next printed page.
Prev Page
Preview the previous printed page.
One Page / Two Page
Preview one or two printed pages at a time.
Zoom In
Take a closer look at the printed page.
Zoom Out
Take a larger look at the printed page.
Close
Return from print preview to the editing window.

Print Dialog
The following options allow you to specify how the document should be printed:
Printer
This is the active printer and printer connection. Choose the Setup option
to change the printer and printer connection.
Properties
Displays a Print Setup dialog box, so you can select a printer and printer
connection.

59
Printed Documentation

Print Range
Specify the pages you want to print:
All Prints the entire document.
Selectio Prints the currently selected text.
n
Pages Prints the range of pages you specify in the From
and To boxes.
Copies
Specify the number of copies you want to print for the above page range.
Collate Copies
Prints copies in page number order, instead of separated multiple copies of
each page.

Print Progress Dialog


The Printing dialog box is shown during the time that the 8051 IDE is sending
output to the printer. The page number indicates the progress of the printing.

To abort printing, choose Cancel.

Print Setup command (File menu)


Use this command to select a printer and a printer connection. This command
presents a Print Setup dialog box, where you specify the printer and its
connection.

Print Setup Dialog


The following options allow you to select the destination printer and its connection.
Printer
Select the printer you want to use. Choose the Default Printer; or choose
the Specific Printer option and select one of the current installed printers
shown in the box. You install printers and configure ports using the
Windows Control Panel.
Orientation
Choose Portrait or Landscape.
Paper Size
Select the size of paper that the document is to be printed on.
Paper Source
Some printers offer multiple trays for different paper sources. Specify the
tray here.
Options
Displays a dialog box where you can make additional choices about
printing, specific to the type of printer you have selected.

60
System, Control and Document Commands
Size command (System menu)
Use this command to display a four-headed arrow so you can size the active
window with the arrow keys.

After the pointer changes to the four-headed arrow:


Press one of the DIRECTION keys (left, right, up, or down arrow key) to move the
pointer to the border you want to move.
Press a DIRECTION key to move the border.
Press ENTER when the window is the size you want.
Note: This command is unavailable if you maximize the window.
Shortcut
Mouse: Drag the size bars at the corners or edges of the window.

Move command (Control menu)


Use this command to display a four-headed arrow so you can move the active
window or dialog box with the arrow keys.

Note: This command is unavailable if you maximize the window.


Shortcut
Keys: Ctrl+F7

Minimize command (application Control menu)


Use this command to reduce the 8051 IDE window to an icon.
Shortcut

Mouse: Click the minimize icon on the title bar.


Keys: Alt+F9

Maximize command (System menu)


Use this command to enlarge the active window to fill the available space.
Shortcut

Mouse: Click the maximize icon on the title bar; or double-click the title
bar.
Keys: Ctrl+F10 enlarges a document window.

61
Printed Documentation

Next Window command (document Control menu)


Use this command to switch to the next open document window. The 8051 IDE
determines which window is next according to the order in which you opened the
windows.
Shortcut
Keys: Ctrl+F6

Previous Window command (document Control menu)


Use this command to switch to the previous open document window. The 8051
IDE determines which window is previous according to the order in which you
opened the windows.
Shortcut
Keys: Shift+Ctrl+F6

Close command (Control menus)


Use this command to close the active window or dialog box.
Double-clicking a Control-menu box is the same as choosing the Close command.

Note: If you have multiple windows open for a single document, the Close
command on the document Control menu closes only one window at a time. You
can close all windows at once with the Close command on the File menu.
Shortcuts
Keys: Ctrl+F4 closes a document window
Alt+F4 closes the 8051 IDE window or dialog box

Restore command (Control menu)


Use this command to return the active window to its size and position before you
chose the Maximize or Minimize command.

62
Appendices
Appendix A - Flag Altering Instructions
Instruction Flags affected
ADD C, OV, AC
ADDC C, OV, AC
SUBB C, OV, AC
MUL C=0, OV
DIV C=0, OV
DA C
RRC C
RLC C
SETB C C
CLR C C
CPL C C
ANL C,bit C
ANL C,/bit C
ORL C,bit C
ORL C,/bit C
MOV C,bit C
CJNE C

63
Printed Documentation

Appendix B - Instruction Symbols


A Accumulator
AC Auxiliary Carry flag
C Carry flag
addr16 16 Bit Program Memory Address
addr11 11 Bit Program Memory Address
Rn Register R0 - R7
direct 8 bit internal data memory location address
@Ri 8 bit internal data memory location addressed indirectly through R0
or R1
#data 8 bit immediate data
#data16 16 bit immediate data
rel Signed (two's compliment) 8 bit offset.
Bit Direct addressed bit in internal data RAM or special function
register.
# Immediate Data Prefix
@ Indirect Address Prefix
$ Current Value of Program Counter
(X) Contents of X
((X)) Contents of Location Addressed by X
<> Not Equal To
Å Is Replaced by
ÅÆ Is Exchanged with
v OR operation
^ AND operation
v Exclusive-OR operation
! Ones Compiment

Appendix C - Instruction Translations


The following table lists instructions supported by the assembler that are not part
of the 8031 instruction set. This enhanced instruction set simply provides
alternate names for the standard set of instructions.

Mnemonic Translation
CALL LCALL addr16
JMP LJMP addr16 (if operand is not @A+DPTR)

64
Appendices

Appendix D - Predefined Labels


The following is a list of predefined assembler labels. These labels are typically
associated with direct memory access. Although they can be used with any
immediate data evaluation. Associated label values are given in hexadecimal
notation.

Label Value Description


P0 80 Port 0
SP 81 Stack Pointer
DPL 82 Data Pointer Low byte
DPH 83 Data Pointer High byte
PCON 87
TCON 88
TMOD 89
TL0 8A Timer/Counter 0 Low byte
TL1 8B Timer/Counter 1 Low byte
TH0 8C Timer/Counter 0 High byte
TH1 8D Timer/Counter 1 High byte
P1 90 Port 1
SCON 98
SBUF 99
P2 A0 Port 2
IE A8
P3 B0 Port 3
IP B8
T2CON C8
RCAP2L CA
RCAP2H CB
TL2 CC Timer/Counter 2 Low byte
TH2 CD Timer/Counter 2 High byte
PSW D0 Program Status Word
A E0 Accumulator
ACC E0 Accumulator
B F0 B register

65
Printed Documentation

The following is a list of predefined assembler labels for bit addressable memory
locations. In the following table .x represents a value in the range of 0 to 7. For
example P0.x is short hand to represent P0.0, P0.1, P0.2, P0.3, P0.4, P0.5, P0.6
and P0.7. With P0.0 equal to 80h, P0.1 equal to 81h, etc. Associated label values
are given in hexadecimal notation.

Label Value Description


ACC.x E0 - E7 Accumulator (bits 0 through 7)
B.x F0 - F7 B register (bits 0 through 7)
P0.x 80 - 87 Port 0 (bits 0 through 7)
P1.x 90 - 97 Port 1 (bits 0 through 7)
P2.x A0 - A7 Port 2 (bits 0 through 7)
P3.x B0 - B7 Port 3 (bits 0 through 7)
PSW.x D0 - D7 Program Status Word (bits 0 through 7)
SCON.x 98 - 9F Serial Control register (bits 0 through 7)
IE.x A8 - AF
IP.x B8 - BF
TCON.x 88 - 8F Timer Control register (bits 0 through 7)
T2CON.x C8 - CF Timer 2 Control register (bits 0 through 7)
IT0 88
IE0 89
IT1 8A
IE1 8B
TR0 8C
TF0 8D
TR1 8E
TF1 8F
RI 98 Receive Interrupt flag
TI 99 Transmit Interrupt flag
RB8 9A
TB8 9B
REN 9C
SM2 9D
SM1 9E
SM0 9F
EX0 A8
ET0 A9
EX1 AA
ET1 AB
ES AC
ET2 AD
EA AF

66
Appendices

PX0 B8
PT0 B9
PX1 BA
PT1 BB
PS BC
PT2 BD
P D0 Parity flag
OV D2 Overflow flag
RS0 D3 Register Select (bit 0)
RS1 D4 Register Select (bit 1)
F0 D5
AC D6 Auxiliary Carry flag
CY D7 Carry flag

67
Printed Documentation

Appendix E - 8051 Instruction Set


Arithmetic Operations
Mnemonic Description Size Cycles
ADD A,Rn Add register to Accumulator (ACC). 1 1
ADD A,direct Add direct byte to ACC. 2 1
ADD A,@Ri Add indirect RAM to ACC. 1 1
ADD A,#data Add immediate data to ACC. 2 1
ADDC A,Rn Add register to ACC with carry. 1 1
ADDC A,direct Add direct byte to ACC with carry. 2 1
ADDC A,@Ri Add indirect RAM to ACC with carry. 1 1
ADDC A,#data Add immediate data to ACC with carry. 2 1
SUBB A,Rn Subtract register from ACC with borrow. 1 1
SUBB A,direct Subtract direct byte from ACC with borrow 2 1
SUBB A,@Ri Subtract indirect RAM from ACC with borrow. 1 1
SUBB A,#data Subtract immediate data from ACC with 2 1
borrow.
INC A Increment ACC. 1 1
INC Rn Increment register. 1 1
INC direct Increment direct byte. 2 1
INC @Ri Increment indirect RAM. 1 1
DEC A Decrement ACC. 1 1
DEC Rn Decrement register. 1 1
DEC direct Decrement direct byte. 2 1
DEC @Ri Decrement indirect RAM. 1 1
INC DPTR Increment data pointer. 1 2
MUL AB Multiply A and B Result: A <- low byte, B <- 1 4
high byte.
DIV AB Divide A by B Result: A <- whole part, B <- 1 4
remainder.
DA A Decimal adjust ACC. 1 1

Logical Operations
Mnemonic Description Size Cycles
ANL A,Rn AND Register to ACC. 1 1
ANL A,direct AND direct byte to ACC. 2 1
ANL A,@Ri AND indirect RAM to ACC. 1 1
ANL A,#data AND immediate data to ACC. 2 1
ANL direct,A AND ACC to direct byte. 2 1
ANL direct,#data AND immediate data to direct byte. 3 2
ORL A,Rn OR Register to ACC. 1 1
ORL A,direct OR direct byte to ACC. 2 1
ORL A,@Ri OR indirect RAM to ACC. 1 1

68
Appendices

ORL A,#data OR immediate data to ACC. 2 1


ORL direct,A OR ACC to direct byte. 2 1
ORL direct,#data OR immediate data to direct byte. 3 2
XRL A,Rn Exclusive OR Register to ACC. 1 1
XRL A,direct Exclusive OR direct byte to ACC. 2 1
XRL A,@Ri Exclusive OR indirect RAM to ACC. 1 1
XRL A,#data Exclusive OR immediate data to ACC. 2 1
XRL direct,A Exclusive OR ACC to direct byte. 2 1
XRL direct,#data XOR immediate data to direct byte. 3 2
CLR A Clear ACC (set all bits to zero). 1 1
CPL A Compliment ACC. 1 1
RL A Rotate ACC left. 1 1
RLC A Rotate ACC left through carry. 1 1
RR A Rotate ACC right. 1 1
RRC A Rotate ACC right through carry. 1 1
SWAP A Swap nibbles within ACC. 1 1

Data Transfer
Mnemonic Description Size Cycles
MOV A,Rn Move register to ACC. 1 1
MOV A,direct Move direct byte to ACC. 2 1
MOV A,@Ri Move indirect RAM to ACC. 1 1
MOV A,#data Move immediate data to ACC. 2 1
MOV Rn,A Move ACC to register. 1 1
MOV Rn,direct Move direct byte to register. 2 2
MOV Rn,#data Move immediate data to register. 2 1
MOV direct,A Move ACC to direct byte. 2 1
MOV direct,Rn Move register to direct byte. 2 2
MOV direct,direct Move direct byte to direct byte. 3 2
MOV direct,@Ri Move indirect RAM to direct byte. 2 2
MOV direct,#data Move immediate data to direct byte. 3 2
MOV @Ri,A Move ACC to indirect RAM. 1 1
MOV @Ri,direct Move direct byte to indirect RAM. 2 2
MOV @Ri,#data Move immediate data to indirect RAM. 2 1
MOV Move immediate 16 bit data to data pointer 3 2
DPTR,#data16 register.
MOVC Move code byte relative to DPTR to ACC (16 1 2
A,@A+DPTR bit address).
MOVC A,@A+PC Move code byte relative to PC to ACC (16 bit 1 2
address).
MOVX A,@Ri Move external RAM to ACC (8 bit address). 1 2
MOVX A,@DPTR Move external RAM to ACC (16 bit address). 1 2

69
Printed Documentation

MOVX @Ri,A Move ACC to external RAM (8 bit address). 1 2


MOVX @DPTR,A Move ACC to external RAM (16 bit address). 1 2
PUSH direct Push direct byte onto stack. 2 2
POP direct Pop direct byte from stack. 2 2
XCH A,Rn Exchange register with ACC. 1 1
XCH A,direct Exchange direct byte with ACC. 2 1
XCH A,@Ri Exchange indirect RAM with ACC. 1 1
XCHD A,@Ri Exchange low order nibble of indirect RAM 1 1
with low order nibble of ACC.

Boolean Variable Manipulation


Mnemonic Description Size Cycles
CLR C Clear carry flag. 1 1
CLR bit Clear direct bit. 2 1
SETB C Set carry flag. 1 1
SETB bit Set direct bit. 2 1
CPL C Compliment carry flag. 1 1
CPL bit Compliment direct bit. 2 1
ANL C,bit AND direct bit to carry flag. 2 2
ANL C,/bit AND compliment of direct bit to carry. 2 2
ORL C,bit OR direct bit to carry flag. 2 2
ORL C,/bit OR compliment of direct bit to carry. 2 2
MOV C,bit Move direct bit to carry flag. 2 1
MOV bit,C Move carry to direct bit. 2 2
JC rel Jump if carry is set. 2 2
JNC rel Jump if carry is not set. 2 2
JB bit,rel Jump if direct bit is set. 3 2
JNB bit,rel Jump if direct bit is not set. 3 2
JBC bit,rel Jump if direct bit is set & clear bit. 3 2

Program Branching
Mnemonic Description Size Cycles
ACALL addr11 Absolute subroutine call. 2 2
LCALL addr16 Long subroutine call. 3 2
RET Return from subroutine. 1 2
RETI Return from interrupt. 1 2
AJMP addr11 Absolute jump. 2 2
LJMP addr16 Long jump. 3 2
SJMP rel Short jump (relative address). 2 2
JMP @A+DPTR Jump indirect relative to the DPTR. 1 2
JZ rel Jump relative if ACC is zero. 2 2
JNZ rel Jump relative if ACC is not zero. 2 2

70
Appendices

CJNE A,direct,rel Compare direct byte to ACC and jump if not 3 2


equal.
CJNE A,#data,rel Compare immediate byte to ACC and jump if 3 2
not equal.
CJNE Rn,#data,rel Compare immediate byte to register and 3 2
jump if not equal.
CJNE @Ri,#data,rel Compare immediate byte to indirect and jump 3 2
if not equal.
DJNZ Rn,rel Decrement register and jump if not zero. 2 2
DJNZ direct,rel Decrement direct byte and jump if not zero. 3 2

Other Instructions
Mnemonic Description Size Cycles
NOP No operation. 1 1

71
Index
8 F
8051 Source Format 29 File Close Workspace command 8
A File Open Workspace command 8
Add Watch command 48 File Save Workspace command 8
Add/Edit Watch dialog 49 files
Appendix A - 8051 Instruction Set 68 managing 7, 8, 9, 10
Appendix B - Instruction Translations 64 Find Dialog 21
Appendix C - Predefined Labels 65 Find In Files Dialog 22
Arrange Windows command (Window menu) 55 Flag Altering Instructions 63
Assemble Assemble 37 H
Assemble Build 37 Hex File Generation 29
Assemble menu 37 I
Assemble Project 38 Inline Code 34
Assemble Stop 37 Instruction Symbols 64
Assembler 29 Introduction 3
Assembler Directives 31 IRAM window 46
B L
Basic Editor Operations 14 Limited Warranty 1
Block Editing 15 Line Editing 15
Break Simulation 41 M
Button Simulation 44 Miscellaneous Keyboard Commands 17
C Modify Simulated Registers 43
Choose Directory Dialog 23 Modify Value Dialog 48
Clip Board 16 Mouse Operations 18
Close Project command (Assemble menu) 38 Multi-file Projects 36
Closing an Editor Window 12 O
Conditional Assembly 35 Opening an Existing Text File 11
Contact Information 1 Options menu 4
Continue Simulation 41 Output window 4
Control Registers command (View menu) 27 P
Copyright 1 Ports window 45
Counter and Interrupt Simulation 44 Previewing Printed Text 12
Creating a New Edit Window 11 Printer Setup 12
Cursor movement 14 printing and print preview 59, 60
D Printing the Editor Text 12
Default Settings dialog 5 Project File 29
Defaults command (Options menu) 53 R
Download code (Monitor menu) 51 Radix Popup menu 48
DRAM window 46, 47 Recent Workspaces 1 2 3 4 command 9
E Registers window 45
Edit Find 20 Registration 2
Edit Find In Files 20 Remove All Break Points (Simulate menu) 43
Edit Replace 20 Replace Dialog 23
Editor 13 Reset Monitor (Monitor menu) 51
exit 10 Restart Simulator 40
Exiting the IDE 12 Run To Cursor 42

73
Printed Documentation

S Stop (Monitor menu) 51


Save a File 11 Stop Simulator 41
Save a File Under a New Name 11 T
Save All command (File menu) 10 Text Highlighting 16
Serial Port Operation 44 Text Search 16
Simulate Execution 43 Toggle Break Point 42
Simulate menu 40 toolbar 25
Simulator 39 V
Simulator command Options menu 53 View Direct Memory 27
Simulator Commands 43 View External Memory 28
Simulator Display Values 45 View Internal Memory 27
Software Installation 3 View Output 27
Software Operation 3 View Ports 27
Start monitor (Monitor menu) 51 View Registers 27
Start Simulator 40 W
status bar 26 Watch window 47
Step Into 41 Watch Window command (View menu) 28
Step Out 42 Word Editing 15
Step Over 42

74

You might also like