PROG-STUDIO - Batronix · LICENSING OPTIONS FOR PROG-STUDIO Prog-Studio will be delivered in...
Transcript of PROG-STUDIO - Batronix · LICENSING OPTIONS FOR PROG-STUDIO Prog-Studio will be delivered in...
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
2 Batronix – Prog-Studio User Manual
2
TABLE OF CONTENTS
TABLE OF CONTENTS ............................................................................................................ 2
SYSTEM REQUIREMENTS ...................................................................................................... 6
MINIMUM SYSTEM CONFIGURATION ............................................................................. 6
RECOMMENDED SYSTEM CONFIGURATION .................................................................... 6
LICENSING OPTIONS FOR PROG-STUDIO .............................................................................. 7
COMMUNITY .................................................................................................................. 7
PERSONAL ...................................................................................................................... 7
PROFESSIONAL ............................................................................................................... 7
EDUCATIONAL ................................................................................................................ 8
INSTALLATION, REGISTRATION, ACTIVATION ...................................................................... 9
INSTALLATION ................................................................................................................ 9
REGISTRATION ............................................................................................................. 13
GENERAL ACTIVATION NOTES ............................................................................... 13
AUTOMATICALLY ACTIVATING YOUR BATRONIX PRODUCT .................................... 14
MANUALLY ACTIVATING YOUR BATRONIX PRODUCT ............................................. 15
ACTIVATION CONFIRMATION AND ERROR RESOLUTION ........................................ 16
AUTOMATIC ACTIVATION FAILURE ........................................................................ 17
MANUAL ACTIVATION FAILURE ............................................................................. 17
THE DEVELOPMENT ENVIRONMENT .................................................................................. 18
APPLICATION STRUCTURE ............................................................................................ 18
MENU BAR ................................................................................................................... 18
USAGE OF THE MENU BAR .................................................................................... 18
FILE MENU ............................................................................................................ 19
EDIT MENU ........................................................................................................... 19
VIEW MENU .......................................................................................................... 20
VIEW->DEBUG SUBMENU................................................................................. 20
PROJECT MENU ..................................................................................................... 21
DEBUG .................................................................................................................. 21
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
3 Batronix – Prog-Studio User Manual
3
EXTRA MENU ........................................................................................................ 21
FENSTER MENU ..................................................................................................... 22
HILFE MENU .......................................................................................................... 22
THE TOOLBARS ............................................................................................................. 22
POSITIONING THE TOOLBARS ................................................................................ 22
SHOW AND HIDE TOOLBARS ................................................................................. 23
STANDARD ............................................................................................................ 23
FORMAT ................................................................................................................ 25
HEX-EDITOR .......................................................................................................... 25
TEXT EDITOR ......................................................................................................... 26
DEBUG .................................................................................................................. 26
STOPWATCH ......................................................................................................... 27
WORKSPACE ................................................................................................................. 27
WINDOWS ............................................................................................................ 27
PROJECT MANAGER .............................................................................................. 28
SYMBOL EXPLANATION .................................................................................... 28
CONTEXT MENU: .............................................................................................. 29
ASM MNEMONIC .................................................................................................. 29
WATCH LISTS ......................................................................................................... 29
LOCALS LIST........................................................................................................... 30
RAM LIST ............................................................................................................... 31
EXRAM LIST ........................................................................................................... 31
OUTPUT LOG ......................................................................................................... 31
ERROR LIST ............................................................................................................ 32
THE SOURCE CODE EDITOR ........................................................................................... 33
VISUALISING OF CHANGES IN THE SOURCE CODE EDITOR...................................... 33
BREAKPOINTS........................................................................................................ 34
BOOKMARK LIST .................................................................................................... 34
VISUALIZING OFF DEBUG INFORMATION ............................................................... 35
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
4 Batronix – Prog-Studio User Manual
4
DRAG & DROP ....................................................................................................... 35
CODE-FOLDING ..................................................................................................... 36
SPLIT-VIEWS (WINDOWS 2000|XP|2003|VISTA) ................................................... 38
THE HEX-EDITOR .......................................................................................................... 40
THE HEX-EDITOR TOOLBAR ........................................................................................... 41
THE HEX-EDITOR CONTEXT MENU ......................................................................... 42
WORKING WITH SELECTED DATA .................................................................................. 42
THE MONITOR .............................................................................................................. 44
SUMMARY ............................................................................................................ 44
RECORDING........................................................................................................... 45
CHANNEL SETTINGS .............................................................................................. 45
TRACE LINES .......................................................................................................... 47
THE MONITOR TOOLBAR ....................................................................................... 48
PROJECT 49
CREATING A NEW PROJECT .......................................................................................... 49
PRE-PROCESSOR................................................................................................................. 51
MACROS ....................................................................................................................... 51
DEFINING MACROS ............................................................................................... 51
CALL MACRO .................................................................................................... 52
$SET ............................................................................................................................. 52
$INCLUDE ..................................................................................................................... 55
$IF, $ELSEIF, $ELSE, $ENDIF .......................................................................................... 56
ASSEMBLER LANGUAGE DEFINITION.................................................................................. 58
ENTERING MULTIPLE INSTRUCTIONS ON ONE LINE ....................................................... 58
COMMENTS ................................................................................................................. 58
EXPRESSIONS ............................................................................................................... 59
OPERATORS:................................................................................................................. 60
HIGH OPERATOR ................................................................................................... 60
LOW OPERATOR .................................................................................................... 60
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
5 Batronix – Prog-Studio User Manual
5
NUMBERS..................................................................................................................... 61
DECIMAL NUMBERS .............................................................................................. 61
HEXADECIMAL NUMBERS ...................................................................................... 61
OCTAL NUMBERS .................................................................................................. 62
BINARY NUMBERS ................................................................................................. 62
SYMBOL DEFINITION .................................................................................................... 63
EQU ...................................................................................................................... 63
DATA ..................................................................................................................... 64
BIT ........................................................................................................................ 65
LABEL .................................................................................................................... 66
ADDRESS CONTROL ...................................................................................................... 67
ORG ...................................................................................................................... 67
DS ......................................................................................................................... 68
INITIALIZE MEMORY ..................................................................................................... 69
DB ......................................................................................................................... 69
DW........................................................................................................................ 70
ASSEMBLER HIGH-LEVEL LANGUAGE COMPONENTS ..................................................... 71
DO ........................................................................................................................ 71
WHILE ................................................................................................................... 74
FOR ....................................................................................................................... 75
IF........................................................................................................................... 77
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
6 Batronix – Prog-Studio User Manual
6
SYSTEM REQUIREMENTS
This chapter contains the system requirements for Prog-Express and Microsoft® .NET Framework 2.0.
Prog-Express requires Microsoft® .NET Framework 2.0. If the framework isn’t already installed the
setup detects this automatically and offers the option to install the framework for you.
Notice, only the CD Version of Prog-Studio contains the .NET Framework embedded. All other versions
(including the Internet Version) have to download the .NET Framework first.
MINIMUM SYSTEM CONFIGURATION
Windows 98SE/ME, Windows 2000/XP, Windows Server 2003, Windows Vista
500 MHz Processor
256 MB RAM
200MB free hard disc space
Screen resolution 1024x768 pixel or better
Microsoft .NET Framework 2.0
RECOMMENDED SYSTEM CONFIGURATION
Windows XP Service Pack 2, Windows Vista
800 MHz processor or better
512 MB RAM
300 MB free hard disc space
Screen resolution 1280x1024 or better
Microsoft .Net Framework 2.0
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
7 Batronix – Prog-Studio User Manual
7
LICENSING OPTIONS FOR PROG-STUDIO
Prog-Studio will be delivered in different versions. This chapter describes the license differences in
detail. We’ve tried to offer special licenses for any case of application.
COMMUNITY
The community version of Prog-Studio is dedicated to beginners, who desire to write there first
microcontroller programs in assembler without the need to abandon the comfort of an integrated
development environment. The useable program segment of assembler programs is limited to the
memory eighth of the chosen microcontroller with an upper cap of 2048 byte (2 kilobytes). The first 48
bytes are always user programmable in foresight to redirect the interrupt service routines to a useable
program segment address. This version is advised to everybody who is searching for a powerful and
free development environment for small projects.
RESTRICTIONS:
The useable program size is limited to the eighth of the microcontrollers overall memory with
an upper cap of 2 kilobytes.
Developed programs may NOT be used for commercial purposes.
RECOMMENDED FOR:
Beginners
evaluation users
PERSONAL
The personal version of Prog-Studio 2007 is the ideal choice for the hobby developer who wants to
develop micro-controller projects for personal use. This version is technically the same as the
professional version.
RESTRICTIONS:
Developed programs may NOT be used for commercial purposes.
RECOMMENDED FOR:
hobbyists
evaluation users
PROFESSIONAL
The professional version has no limitations and can be used to full effect for commercial projects. It’s
the ideal choice for professional developer.
RESTRICTIONS:
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
8 Batronix – Prog-Studio User Manual
8
none
RECOMMENDED FOR:
professionals
EDUCATIONAL
The educational version is intended specifically for training centers and schools. It has the same level
of functionality as the personal version, but also allows for the installation of the Prog-Studio software
on up to 30 PCs, which must be located in a classroom, training room or laboratory. To install Prog-
Studio in several rooms an educational license is required for each room, even if the total number of
PCs is still 30 or less. The benefit of the educational version is the lower price compared to the
individual license costs for the same number of installations.
RESTRICTIONS:
Developed programs may NOT be used for commercial purposes.
RECOMMENDED FOR:
School
Any institution of learning
university
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
9 Batronix – Prog-Studio User Manual
9
INSTALLATION, REGISTRATION, ACTIVATION
INSTALLATION
This chapter contains all the information necessary for installing Prog-Studio.
Because Prog-Studio is build upon then .NET Framework 2.0, you may want to install it manually before you install Prog-Studio. If a active internet connection is active the setup program is able to download and install the .NET framework on its own. If you got Prog-Studio delivered on a CD then you find the .NET Framework on CD.
To start please double-click on the setup file or use the CD auto-start function.
Select English and click on “OK”
Click on “Next”
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
10 Batronix – Prog-Studio User Manual
10
Read the eula and accept it by checking then checkbox control. Click on the just enabled “Next”
button. If you do not accept this eula you are not allowed to install Prog-Studio.
Select your installation folder and click on “Next”
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
11 Batronix – Prog-Studio User Manual
11
Choose your start menu folder, or use the default value. Click on “Install”
Setup installs all necessary files. Click on “Next” when the operation has finished.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
12 Batronix – Prog-Studio User Manual
12
If you do not want to run Prog-Studio after setup, or do not want to open the Readme file, then
remove the checks. Click “Finish” to complete the installation.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
13 Batronix – Prog-Studio User Manual
13
REGISTRATION
The first time you run Prog-Studio you will be prompted to enter your product key. You will receive
this product key together with the software.
After filling out all fields you can enable the software by clicking on the “Register” button.
GENERAL ACTIVATION NOTES
The product activation is intended to reduce a form of piracy know as illegal copying or software theft.
Illegal copying is the sharing and installation of software that does not conform to the end user license
agreement (EULA) and makes up about half of all pirated installations.
Activation of your software is therefore necessary to ensure that your product key is only used by you.
It functions as a protection measure and is intended to prevent illegal use of the software, enabling us
to continue developing high quality software in the future. Activation is necessary for each new
installation of the software.
After entering the product key you have 30 days to complete the activation, after that the software
will not run without a successful activation.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
14 Batronix – Prog-Studio User Manual
14
A Batronix product can be activated automatically over the internet or as an alternative manually by
sending an email or calling Batronix-Support.
AUTOMATICALLY ACTIVATING YOUR BATRONIX PRODUCT
To activate your product automatically please proceed as follows:
1. Ensure that your computer is connected to the internet.
2. Check that you have selected the activation method "Over the Internet".
3. Automatic activation is initiated by clicking on the “Activate Now” button.
A connection is now made to a Batronix Server. For activation only your encrypted product key in
combination with an installation ID that identifies your computer is transmitted.
Once this process has completed successfully the software runs normally and you are no longer
prompted for activation.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
15 Batronix – Prog-Studio User Manual
15
MANUALLY ACTIVATING YOUR BATRONIX PRODUCT
For manual activation select “by Email or by Telephone” in the activation dialog and then click on
“Activate Now”.
This brings up the following dialog (without black bars):
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
16 Batronix – Prog-Studio User Manual
16
You can reach Batronix Support via E-Mail or by phone. If you choose to activate via e-mail, please
ensure that you include both the serial number as well as the installation ID in your email!
You will receive an activation code from Batronix Support. Please enter this in the text field and
complete the activation by clicking on the "Activate" button.
ACTIVATION CONFIRMATION AND ERROR RESOLUTION
Upon successful activation Prog-Studio displays the following message.
After closing this dialog box the development environment starts, and no further messages are
displayed when starting Prog-Studio.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
17 Batronix – Prog-Studio User Manual
17
AUTOMATIC ACTIVATION FAILURE
The following message is displayed if the automatic activation fails.
The automatic activation can fail if your computer is not connected to the internet, if the internet
servers are overloaded, or if your registration information is not correct.
Please verify that your computer has a working connection to the internet. You can check this with,
among other things, the dos prompt command Ping.
If you are using a firewall, please ensure that Prog-Studio is included in the list of programs that are
allowed to access the internet. For details on this please look in the documentation for your firewall.
Prog-Studio connects to the internet only for product activation, so you can remove Prog-Studio from
this list after successful activation without limiting the products functionality. Please try the activation
again after a short time. It is possible that the Batronix Server is temporarily not available.
MANUAL ACTIVATION FAILURE
The following message is displayed if the manual activation fails.
Close this dialog by clicking on the “OK” button and verify the "Activation Code" you entered.
If you are unable to successfully activate your product after further attempts please contact Batronix
Support.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
18 Batronix – Prog-Studio User Manual
18
THE DEVELOPMENT ENVIRONMENT
This chapter contains information about the individual screens in the development environment.
APPLICATION STRUCTURE
Prog-Studio uses an typical windows application structure with menu bar, toolbar, workspace and
status bar.
MENU BAR
The menu bar contains following menus – File, Edit, View, Project, Debug, Extra, Window and Help.
Some of this menus contain submenus. These submenus will be described in the details of each menu.
USAGE OF THE MENU BAR
With a left mouse click you can open an chosen menu or close an already open menu. Alternative you
can open a menu by holding the ALT key and pushing the underlined letter on your keyboard. The
escape key closes an open menu.
You can navigate through the menus by using the up, down, left and right cursor keys.
Menu items will be activated by a left click or by hitting the enter key if the menu item is focused.
status bar
menu bar toolbar
workspace
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
19 Batronix – Prog-Studio User Manual
19
Many menu items provide an shortcut. They could be found behind the menu text. The regular use of
shortcuts may improve your productivity.
FILE MENU
New Project (CTRL+N) Starts a wizard for creating a new project, if another project
is currently open it is closed.
Open Project (CTRL+O) Opens an existing project, if another project is currently
open it is closed.
Open File Opens an existing file without adding it to the current
project.
Close Project The current project is closed.
Close File Closes the current document window
Save (CTRL+S) Saves the file currently displayed in the editor.
Save As … Saves the file currently displayed in the editor with a new
name.
Save All Saves all open documents.
Print (CTRL+P) Prints the file currently displayed in the editor.
Print Preview Shows a preview of the printed document.
Recent Projects … Submenu: Contains the last used projects.
Recent Files … Submenu: Contains the last used files.
Exit (ALT+F4) Closes the Prog-Studio software.
EDIT MENU
Undo (CTRL+Z) Reverses the last change made in the editor.
Redo (CTRL+SHIFT+Z) Redoes the last change made in the editor.
Cut (CTRL+X) Cuts out the selected content and copies it to the clipboard.
Copy (CTRL+C) Copies the selected content to the clipboard.
Paste (CTRL+V) Pastes data from the clipboard selection.
Delete (Del) Deletes the selected content.
Select All (CTRL+A) Selects all content.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
20 Batronix – Prog-Studio User Manual
20
Additional Submenu: Contains additional commands, to modify the
content of documents.
Find (CTRL+F) Opens the find dialog.
Replace (CTRL+H) Opens the replace dialog.
Find Next (F3) Searches the next match.
VIEW MENU
Project Manager (CTRL+SHIFT+P) Opens the project manager or sets the focus to this
window.
Debug Submenu: Contains menu items to open debug windows.
Error List (CTRL+SHIFT+E) Opens the error list window or sets the focus to this
window.
Output (CTRL+SHIFT+O) Opens the output window, or sets the focus to this
window.
Monitor (CTRL+SHIFT+M) Opens the monitor window, or sets the focus to this
window.
Mnemonics Information
(CTRL+SHIFT+I)
Opens the mnemonics window, or sets the focus to this
window.
Start Page Opens the start page, or sets the focus to this document
VIEW->DEBUG SUBMENU
Breakpoints Opens the breakpoint window, or sets the focus to this
window.
Locals (CTRL+SHIFT+L) Opens then Locals window, or sets the focus to this
window.
Watch 1 (CTRL+SHIFT+1) Opens the watch 1 window, or sets the focus to this
window
Watch 2 (CTRL+SHIFT+2) Opens the watch 2 window, or sets the focus to this
window
Watch 3 (CTRL+SHIFT+3) Opens the watch 3 window, or sets the focus to this
window
RAM Opens the RAM window, or sets the focus to this window
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
21 Batronix – Prog-Studio User Manual
21
External RAM Opens the XRAM window, or sets the focus to this window
PROJECT MENU
Create New System Creates a new system and adds it to the current project.
Add … Submenu: Contains elements, that could be added to an
system.
Assemble active system Assembles the active system of the project.
Set Current System Active Sets the selected system to active state. The active system
is used by the debugger and isp programming interface.
DEBUG
Start (F5) Starts a debug session.
Pause (F6) Pauses the running debug session, execution can be
continued with Start Debugging or with Step Into
Stop (F7) Stops the active debug session.
Single Step (F8) Executes one statement and sets the debugger to pause
mode.
Toggle Breakpoint (F9) Toggles the breakpoint fort he current line.
Set next Statement (F10) Sets the program counter to the caret.
Goto Next Statement The current program position is moved down by one
instruction, without executing the current command (only
during a debug session).
Goto Previous Statement The current program position is moved up by one
instruction, without executing the current command (only
during a debug session).
EXTRA MENU
Language Submenu: Contains all supported languages for quick
access.
IDE Theme Submenu: Contains all supported Themes of for quick
access..
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
22 Batronix – Prog-Studio User Manual
22
ISP Flip (F12) Sends the output file (program segment) of the active
system via ISP to the microcontroller.
Options … Opens the options dialog.
FENSTER MENU
Split Horizontal Splits the current editor window into two horizontal parts.
Split Vertical Splits the current editor window into two vertical parts.
New Horizontal Tab Group Divides the editor horizontally, places the currently
selected window underneath the other windows.
New Vertical Tab Group Divides the editor vertically, places the currently selected
window to the right of the other windows.
HILFE MENU
Contents (F1) Opens this Help document.
Technical Support Opens the installed email client and inserts a standard
body. You can add your request and send it directly to our
service.
About Prog-Studio Opens an about dialog..
THE TOOLBARS
Prog-Studio has 6 toolbars with which various commands that can be run, displayed, activated or de-
activated.
Standard
Documentation Format
Debug
Source Editor
Hexeditor
Stopwatch
All Symbols in the Toolbars will be shortly described in this chapter.
POSITIONING THE TOOLBARS
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
23 Batronix – Prog-Studio User Manual
23
Toolbars can become floating or docked state. Toolbars could be docked to any border of the
application. The default position is the border underneath to the menu bar.
To move a toolbar follow these steps.
1. Drag the toolbar on the grip (if the toolbar is docked) or on the title bar (if the toolbar is
floating).
2. Drop the toolbar to the target position at the border or drop the toolbar out of the border bar
to let the toolbar float.
SHOW AND HIDE TOOLBARS
Toolbars can be shown or hidden in two different ways.
1. Check or uncheck the corresponding menu item in the View->Toolbars Submenu.
2. Open the context menu with a right mouse click on any toolbar. Check then corresponding
item to show the toolbar, or uncheck it to hide the toolbar.
STANDARD
The Standard Toolbar contains all standard functions such as Copy / Paste, Undo / Redo etc.
New Project(CTRL+N) Starts a wizard for creating a new project, if another project is
currently open it is closed.
Open Project (CTRL+O) Opens an existing project, if another project is currently open it is
closed.
Open File Opens an existing file without adding it to the current project.
Save (CTRL+S) Saves the file currently displayed in the editor.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
24 Batronix – Prog-Studio User Manual
24
Save All Saves all open documents.
Cut (CTRL+X) Cuts out the selected content and copies it to the clipboard.
Copy (CTRL+C) Copies the selected content to the clipboard.
Paste (CTRL+V) Pastes data from the clipboard selection.
Delete (Delete) Deletes the selected content.
Find (CTRL+F) Opens the find dialog.
Undo (CTRL+Z) Reverses the last change made in the editor.
Redo (CTRL+SHIFT+Z) Redoes the last change made in the editor.
ISP Flip (F12) Sends the output file (program segment) of the active system via
ISP to the microcontroller.
Project Manager
(CTRL+SHIFT+P)
Opens the project manager or sets the focus to this window.
Error List (CTRL+SHIFT+E) Opens the error list window or sets the focus to this window.
Output (CTRL+SHIFT+O) Opens the output window, or sets the focus to this window.
Monitor (CTRL+SHIFT+M) Opens the monitor window, or sets the focus to this window.
Mnemonics Information
(CTRL+SHIFT+I)
Opens the mnemonics window, or sets the focus to this window.
Breakpoints Opens the breakpoint window, or sets the focus to this window.
Locals (CTRL+SHIFT+L) Opens then Locals window, or sets the focus to this window.
Watch 1 (CTRL+SHIFT+1) Opens the watch 1 window, or sets the focus to this window
Watch 2 (CTRL+SHIFT+2) Opens the watch 2 window, or sets the focus to this window
Watch 3 (CTRL+SHIFT+3) Opens the watch 3 window, or sets the focus to this window
RAM Opens the RAM window, or sets the focus to this window
External RAM Opens the XRAM window, or sets the focus to this window
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
25 Batronix – Prog-Studio User Manual
25
FORMAT
The Format toolbar contains functions that can be used for formatting text in the text editor (not in
the source code editor).
Font selection Chooses the font of then current selection.
Font size selection Chooses then font size for the current selection.
Bold Turns bold for then selection on or off.
Italic Turns italic for the selected text on or off.
Underline Turns underline for the selected text on or off.
Strikeout Turns strikeout for then selected text on or off.
Align left Aligns the selected lines to the left side.
Align center Centers the selected text.
Align right Aligns the selected text to the right side.
Text color Sets the text fore-color.
Back color Sets the text back-color.
Bullets Turns the enumeration off.
HEX-EDITOR
The Hex Editor Toolbar contains functions for navigating and modifying the data in the Hex Editor.
Decrease width Reduces the number of bytes shown in a row of the editor.
Increase width Increases the number of bytes shown in a row of the editor.
Word length 1 byte Shows the data in byte format.
Word length 1 byte Shows the data in word format.
Word length 4 byte Shows the data in double-word format.
Word length 8 byte Shows the data in quad-word format.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
26 Batronix – Prog-Studio User Manual
26
Goto first NOT 0FFH Byte Jumps to the first byte in the data set that is not FFH
Goto next NOT 0FFH byte Jumps to the next byte in the data set that is not FFH.
Goto last NOT 0FFH byte Jumps to the last byte in the data set that is not FFh.
TEXT EDITOR
The Text Editor Toolbar contains functions for structuring the source code.
Comment lines Comments the selected lines out.
Uncomment lines Uncomments the selected lines.
Increase Indent Increases the indent of the selected lines.
Decrese Indent Reduces the indent of the selected lines.
DEBUG
The Debug toolbar contains functions necessary for controlling the debug session.
Program counter Displays the current program counter.
Machine cycles Displays the machine cycles.
Start (F5) Starts the debug session.
Pause (F6) Pauses the debug session, the location is shown in the editor.
Stop (F7) Ends the debug session.
Single Step (F8) Executes one statement and sets the debugger to pause mode.
Goto Previous Statement The current program position is moved up by one instruction,
without executing the current command (only during a debug
session).
Goto Next Statement The current program position is moved down by one instruction,
without executing the current command (only during a debug
session).
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
27 Batronix – Prog-Studio User Manual
27
STOPWATCH
The stopwatch toolbar contains functions for measuring times and machine cycles during a debug
session.
Display Shows the current Value of the display..
Start Stopwatch Starts an measure.
Pause Stopwatch Paused the measure.
Stop Stopwatch Stops the measure.
Toggle display unit Checked is time unit. Uncheck for machine cycle unit
WORKSPACE
The development environment (IDE) is composed of various windows with different functions:
WINDOWS
Project Manager Manages projects and system meta informations and files.
Error list Displays the last occured errors of the last assembling.
Output Displays status and system messages..
Monitor Displays variables in relation to time.
Mnemoics Informationen Displays information on Mnemonics.
Start page Offers a recent projects list and displays general information.
Breakpoints Displays a list of all indicator breakpoints.
Locals Displays and offers modification abilities for all local variables.
Watch 1-3 Displays and manipulates program variables
RAM Displays and offers modification abilities of the Debugger RAM.
Externes RAM Displays and offers modification abilities of the Debugger RAM.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
28 Batronix – Prog-Studio User Manual
28
PROJECT MANAGER
Prog-Studio supports you through its comfortable project
management system and allows for an optimal overview even
with large projects.
The individual files can be opened and displayed in the editor for
editing by double-clicking on them in the project manager. You
can also rename, delete are create objects such as the project, a
system or a file within the project manager. You can drag and
drop files and subfolders to other folders.
Within the doc and src folders subfolders can be created for
source and documentation files to improve the structuring of
large projects.
SYMBOL EXPLANATION
Project This is the main category under which several systems for a project are located.
System Since an actual project will contain one or more microcontrollers, a symbolic “System”
was developed to contain the source files, documentation, hardware configuration and
assembler output files for each chip.
Config Controller Hardware Configuration (clock frequency)
out Contains all the assembler output files
doc Contains all the documentation files
src Contains all the source code files
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
29 Batronix – Prog-Studio User Manual
29
CONTEXT MENU:
With a click of the right mouse button a context menu with the
following functions can be displayed in the project manager.
- Opens the selected file in the editor.
- Adding systems, files and folders
- Cuts the selected objects(s)
- Copies the selected object(s)
- Pastes the clipboard contents at the current cursor position.
- Renaming systems, files and folders
- Starts the assembly process
- Activates the selected systems. Only the currently active system for the project is assembled.
ASM MNEMONIC
This table serves as a summary of all possible op-codes for the 8051 micro-controller and shows the
hex code, assembly instruction including operators, how many bytes this instruction takes up in
memory and how many machine cycles the corresponding instruction takes.
With the “Group Mnemonic” button you can switch between a simple list and a list by
functional group.
Clicking on a column header sorts the list according to this column (also when using functional groups).
WATCH LISTS
The watch lists show the current values for the entered variables during a debug session. Three watch
lists are available in the IDE, so that the symbols can be separated into logical groups if required.
New variables can be added from the source code editor or another watch list using drag and drop, or
alternately can be entered directly. To move a variable from the source code editor to a watch list
using drag and drop, first select the variable (for example be double-clicking on it) an then drag it to
the watch list while holding down the mouse button.
The variable values are editable and can be changed during program execution.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
30 Batronix – Prog-Studio User Manual
30
With this button you can toggle the display format for the entire list between hexadecimal and
decimal form.
This button erases the entire list.
This button deletes the currently selected entry. Alternately you can use the [DEL] key.
LOCALS LIST
All variables defined in the system are displayed in the locals list during the debug session. The
variable name, its current value and the storage location (compared to chip architecture). are shown
With this button you can toggle the display format for the entire list between hexadecimal and
decimal form.
The variable values are editable and can be changed during program execution.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
31 Batronix – Prog-Studio User Manual
31
RAM LIST
The RAM list provides an overview of the internal RAM in the address range 00h-0FFh. The address,
value in hex or decimal and the decoding of each value into the individual 8 bits are displayed.
With this button you can toggle the display format for the entire list between hexadecimal and
decimal form.
The address values are editable and if changed can affect program execution. By double-clicking
individual bits of a value can be manipulated.
EXRAM LIST
The EXRAM list provides an overview of the simulated external storage in the address range 0000h-
0FFFFh. The address of every eighth byte and the values of the bytes [address] – [address + 7] are
displayed in hexadecimal.
The address values are editable and if changed can affect program execution. With a double-click you
can open an editor for individual values.
OUTPUT LOG
In this log individual assembler functions such as start and end times for the program build are logged.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
32 Batronix – Prog-Studio User Manual
32
ERROR LIST
All errors, warnings and messages generated during the build process by the assembler are output to
this window. The type (error, warning, or message), a counter, an error description, the file in which
the error was found as well as the position of the error within the file are all displayed.
Double-clicking on an entry makes the editor display the location at which the error occurred on the
screen. The cursor is moved to the corresponding location.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
33 Batronix – Prog-Studio User Manual
33
THE SOURCE CODE EDITOR
The source code editor is the core element in which all files related to a project can be edited. The
source code editor was developed for the comfortable, simple and clearly laid out coding of programs.
This is attained through current technologies such as code-folding, line-marking and code-highlighting.
Code-folding allows for the maximizing and minimizing of code segments. In this way you can increase
the legibility of your program by hiding non-relevant sections. Recent changes are highlighted by line
markings so that you always see where you are working.
Binary files (e.g. the created program code) are displayed in the hex editor (chapter “Hex Editor”).
VISUALISING OF CHANGES IN THE SOURCE CODE EDITOR
Changes made since opening or creating a source data file are symbolically marked by a respectively
yellow or green bar in front of the corresponding line.
This provides a quick overview of lines that where changed.
A yellow bar in front of a line shows that this line was modified since opening the file/editor.
A green bar in front of a line shows that this line was modified since opening the file/editor and
that this change was already saved.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
34 Batronix – Prog-Studio User Manual
34
BREAKPOINTS
Breakpoints cause the debugger to stop and switch to pause mode (same as the →STOP command).
There are several methods for setting or clearing a breakpoint. Either click on the symbol bar (on the
left side of the line numbers) or select a line where the debugger should stop and click on the menu
option "Toggle Breakpoint" (Hotkey F9).
If a breakpoint was already set on this line it is removed (and vice versa).
This indicates a set breakpoint. This means that the debugger will stop and switch to pause
mode the next time it reaches this line. This is also show with the yellow arrow (see below).
Breakpoints can only be set per line.
This arrow points to the next program instruction (marked in yellow) that the debugger will
execute in the next step. It is only displayed in step or pause modes during a debug session.
BOOKMARK LIST
A drop-down list with all defined bookmarks for the current file is displayed in the upper right corner
of the source code editor. Selecting an entry causes the editor to jump to the corresponding line.
With this function low priority bookmarks (indicated with at list one underscore at the start of
the bookmark) can be hidden from the drop-down list.
If this function is active the bookmark list is displayed in alphabetical order. If it is deactivated
the bookmarks are displayed in the list according to their logical sequence.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
35 Batronix – Prog-Studio User Manual
35
VISUALIZING OFF DEBUG INFORMATION
When hovering over a variable with the cursor in debug mode a tool tip with information about the
variable is displayed.
In the tool tip the value, type and (if known) the address of the variable are displayed. For bookmarks
the address and type are displayed.
DRAG & DROP
The editor contents can be easily modified with the help of drag & drop. Marked locations can easily
be moved to other locations in the editor using the mouse.
In debug mode it is also possible to mark variables and display them in a watch list or monitor for
observation. A new entry/channel is created for the corresponding variable.
It is also possible to drag a variable from a watch list to the monitor using drag & drop to add a channel
for this variable.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
36 Batronix – Prog-Studio User Manual
36
CODE-FOLDING
Source code segments that logically belong together such as macros or user-defined sections are
grouped in the source code editor. These segments can be shown or hidden as required to improve
the legibility of the source code.
Sample:
A program fragment is shown below with a user-defined region and a macro call with two blocks that
can be hidden.
After hiding the macro call by clicking on the minus symbol in front of the macro definition the source
code editor looks as follows.
The macro is reduced to one line and the legibility of the source code was increased. The number of
hidden lines can be seen via the line number column (21-13=8).
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
37 Batronix – Prog-Studio User Manual
37
By clicking on the plus symbol in front of the hidden block the macro can be fully displayed again.
After hiding the user-defined program block by clicking on the minus symbol the source code editor
looks as follows
The program block was reduced to one line and the name of the program block is displayed in this
location.
Any desired number of program blocks can be stacked within each other. This provides a simple way
to structure the source code file in a good way.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
38 Batronix – Prog-Studio User Manual
38
SPLIT-VIEWS (WINDOWS 2000|XP|2003|VISTA)
The source code editor can show up to four views of a file simultaneously. For example, a programmer
can look at the body of a function or a macro that he wants to use at the current location.
The views can be resized freely with the mouse, or opened and closed via the “Window” menu.
Sample:
The mouse can be used to set the split of the window. The following picture shows the source code
editor after a horizontal split.
Horizontal editor
split
Vertical editor split
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
39 Batronix – Prog-Studio User Manual
39
The source code editor after an additional vertical split of the window.
Deactivating the window split
The window split is removed by pulling back the separators to their original position, or by un-checking
the corresponding item in the “Window” menu.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
40 Batronix – Prog-Studio User Manual
40
THE HEX-EDITOR
In the hex editor binary data can be viewed and edited. There are some functions that simplify the
editing of data.
These functions are available as buttons from the toolbar (chapter “The Toolbar”) and as functions on
the context menu. The context menu can be opened using the right mouse button.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
41 Batronix – Prog-Studio User Manual
41
THE HEX-EDITOR TOOLBAR
This toolbar contains functions for navigating and manipulating the data in the hex editor.
Erases the buffer contents
Opens an existing file
Saves the current buffer contents
Cuts the selected data
Copies the selected data
Pastes copied data at the cursor position
Erases the selected data
Rolls back the last operation (undo)
Rolls forward the last operation that was rolled back (redo)
Reduces the number of bytes displayed in one row of the editor
Increases the number of bytes displayed in one row of the editor
Shows the data in byte format
Shows the data in word format
Shows the data in double-word format
Shows the data in quad-word format
Jumps to the first byte in the data that is not FFh
Jumps to the next byte in the data that is not FFh
Jumps to the last byte in the data that is not FFh
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
42 Batronix – Prog-Studio User Manual
42
THE HEX-EDITOR CONTEXT MENU
Here the basic editing functions such as “Copy & Paste” or “Undo and Redo” are found. In the
“Selection” menu further expanded functions for editing the current selection are available.
WORKING WITH SELECTED DATA
These options can also be selected via the selection box in the
upper right corner of the hex editor.
Set Manually
Here you can specify exactly what data should be selected.
Fill by Value*
Fills the selected area with a specified value
Fill by Random Values*
Fills the selected area with random values
Fill Sequential*
Fills the selected area with a specified range of values
Increase/Decrease Selection*
Increases or decreases all values in the selected area by a specified amount or percentage value.
Swap Selection Content*
Depending on the setting, switches the first and second byte/word/double word or quad word
values with each other. If more than one pair is selected the switching is continued by the same
method (for example, byte 1 is switched with byte 2, byte 3 with byte 4, etc.).
Swap Selection*
Switches the selected data with data starting at a specified offset address.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
43 Batronix – Prog-Studio User Manual
43
Copy Selection To…*
Copies the selected data to a specified address. You can select whether the target range should be
expanded or overwritten.
Calc Selection Checksum
Calculates a checksum value for the selected range using a selectable algorithm (sum, MD5, SHA-1
or CRC32).
Warning! All steps marked with a * can not be reversed!
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
44 Batronix – Prog-Studio User Manual
44
THE MONITOR
The debugger always shows the current variable values at the program position. Therefore it is not
possible to see the value of a variable earlier (for example 8 machine cycles before) without resetting
the debugger and interrupting the program exactly 8 machine cycles earlier. To make this step
unnecessary and to display the variable value changes over time in a better format a monitor was
integrated into Prog-Studio.
SUMMARY
Turn monitor recording on and of.
Record the last 10 000 machine cycles.
Automatically set the reference line on the grid.
Show the channels as line graphs or peeks.
Erase the channel buffer (start new recording)
Remove all channels
Add channels by entering a variable or with drag & drop for the watch list or source code editor.
Removes an individual channel
Selecting a channel via a combo box or through selection with the mouse
The scale of the selected channel is settable
Display of the channel is settable
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
45 Batronix – Prog-Studio User Manual
45
Deactivating a channel (recording continues but the channel is not displayed).
Moving the reference line of a channel with the mouse
Freely settable time scale using the mouse wheel
Easy reading of the values and the differences at particular points in time via 2 traces that can be freely positioned with the mouse
Adapting the display colors of the monitor (themes)
RECORDING
The monitor has a separate storage for each channels values. During a debug session the values of
each channel (variable) are stored and displayed with each machine cycle.
CHANNEL SETTINGS
The monitor creates a separate channel with its own storage and individual settings for each added
variable.
The symbol table in the chapter “The Toolbar” shows which button executes which function.
Adding variables for tracking
New channels can be added using different methods.
o Using the button "Add Channel" prompts for a variable and then creates a new channel for it.
o Adding a channel using drag & drop. Select a variable with a double-click in the source code
editor or by selecting it in a watch list and drag it into the monitor. A new channel is then
created for this variable.
Selecting a Channel
A channel can be selected by clicking on its positioning triangle or by selecting it from the drop-down
list in the monitor toolbar.
A channel has to be selected to make setting changes to it (y-scale, display color, visibility, and
reference line) or to delete it.
Deleting a channel or all channels
Channels can be deleted using the corresponding button on the monitor toolbar, but have to be
selected first. Another button on the toolbar can be used to delete all channels at once.
Deleting a channel has absolutely no impact on the existing source code.
Moving the Reference Line
The reference line for a channel can be moved by dragging the corresponding positioning triangle.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
46 Batronix – Prog-Studio User Manual
46
If the snap to grid function is enabled the reference line can only be moved by entire grid segments.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
47 Batronix – Prog-Studio User Manual
47
The Channel Display
The display of signals can be shown either as a continuous line or as individual values with no
connecting line. This can be set using the corresponding option in the monitor toolbar. Each channel is
set to its own color when created, this can be changed using the color option in the monitor toolbar.
A channel can also be hidden, it is then no longer shown in the display. To make it visible again, it has
to be selected using the channel drop-down list and the shown by clicking on the toolbar button.
Scaling
Each channel can be individually scaled in the y-axis using the toolbar drop-down list. The mouse
wheel can be used to change the x-axis scale for all channels.
TRACE LINES
The monitor offers two trace lines for evaluating the displayed data. These lines can be moved in the
monitor display using the left and right mouse buttons.
The time of the respective trace line and its difference are displayed at the bottom edge of the
monitor.
Each channel has a separate display of its values at the times corresponding to the trace lines as well
as a display of the value change between times T1 and T2.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
48 Batronix – Prog-Studio User Manual
48
THE MONITOR TOOLBAR
Summary of the monitor toolbar buttons.
This button (in the upper left of the toolbar) activates the recording of values for the
created channels during a debug session.
This button cancels the recording.
Toggle for the snap to grid function (reference line setting)
Toggles the channel representation (continuous line or individual values).
Clears the values stored for all channels (Reset)
This button deletes all channels
Prompts for a variable and then creates a new channel for it.
This button deletes the selected channel
Drop-down list for channel selection
Drop-down list for y-axis scale
Color selection for the selected channel
Show/Hide the selected channel
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
49 Batronix – Prog-Studio User Manual
49
PROJECT
Prog-Studio supports the structured development of programs through the consistent implementation
of project oriented development. Source code, documentation, published data and project settings are
managed centrally by a project manager:
Adding new files and folders, copying, moving, or erasing are accomplished with the project manager
in the usual way (shortcuts, context menus and drag & drop) - an external file manager is not required.
This simplifies the management of projects so that a programmer can concentrate on the essentials -
working on their project files.
In some cases it can happen that several micro-controllers are required for the implementation of a
project. This situation is supported by the project manager, which automatically groups all the files
and settings for each micro-controller into systems. Any number of such systems can be contained in a
project and allow for even highly complex project with several micro-controllers to be developed in
Prog-Studio.
In projects with multiple systems one is always marked as active. Only this system is assembled during
a build and simulated during a debug session. Activating a system is done using the project manager
context menu selection “Set to Active Project”. The context menu is called up with a click of the right
mouse button on a system. Please note that the context menu option “Set to Active Project” is only
available by right-clicking on a system and is not shown for the other entries.
For projects with one system this is always activated.
CREATING A NEW PROJECT
When creating a new project the project assistant is launched. Here the framework for a project, such
as project name and folder, can be specified.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
50 Batronix – Prog-Studio User Manual
50
You can also select whether a main system should automatically be created in addition to setting the
project name and folder. The default setting is that the main system has the same name as the project.
The clock frequency for the oscillator can also be specified here for this system.
Clicking OK creates the project in the specified folder.
Additional systems, assembly files or documentation can be added to the project in the project
manager.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
51 Batronix – Prog-Studio User Manual
51
PRE-PROCESSOR
MACROS
DEFINING MACROS
Definition:
macroname MACRO [ param1[ [ , param2 ] … ] ]
[ LOCAL labelname ]
[ statements ]
ENDM
Components:
Macroname
Required. Specifies the name of the macro to be defined.
paramX
Optional. Defines parameters for the macro. These can be used locally in the
Labelname
Required if Local is present. Defines the specified label as a local label.
ENDM
Required, terminates the macro definition.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
52 Batronix – Prog-Studio User Manual
52
CALL MACRO
Definition:
macroname [ param1[ [ , param2 ] … ] ]
Components:
Macroname
Required. Specifies the name of the macro that should be called.
paramX
Optional. Specifies parameters for the macro. If defined parameters are not specified the value
0 (Null) is used.
Notes:
Labels in macros are treated as global labels. To prevent error messages if the macro is called
repeatedly it is necessary to define the labels as local labels. For this the keyword Local is used.
Sample:
; The smaller variable is loaded into the Accu
LoadMinToAccu MACRO par1, par2
LOCAL Par2Lesser ; Declares Par2Lesser as local Label
LOCAL CompareFinished ; Declares CompareFinished as local Label
CLR C
MOV A, par1
CJNE A, par2, 0
JNC Par2Lesser
SJMP ComapareFinished
Par2Lesser:
MOV A, par2
CompareFinished:
ENDM
$SET
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
53 Batronix – Prog-Studio User Manual
53
With the assembler instruction $SET variables can be defined that are valid exclusively for the pre-
processor. Such variables can be used, for example, as operators for specific pre-processor
instructions.
Definition:
$SET ( identifier1 [ [ = number ] [, identifier2 [ = number ] … ] ] )
Components:
identifierX
Required. Specifies the name of the variable.
number
Optional. Specifies the value of the variable.
Sample:
$SET (VERSION = Plus)
$IF VERSION = Plus
; Instruction for the Plus-Version
$ELSE
; Instruction for other Versions
$END IF
$SET (DEBUGMODE)
$IF DEBUGMODE
; Instruction if the DEBUGMODE flag is set
$ELSE
; Instruction if the DEBUGMODE flag is not set
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
54 Batronix – Prog-Studio User Manual
54
$END IF
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
55 Batronix – Prog-Studio User Manual
55
$INCLUDE
The pre-processor instruction $INCLUDE includes files in the program code. In simplified terms using
an $INCLUDE instruction is no different than replacing the $Include instruction with the contents of a
file.
Anything allowed at the location of the $include instruction can be contained in the included file. A
recursive include that would lead to an infinite loop creates an error.
Definition:
$INCLUDE filepath
Components:
filepath
Required. Specifies the path of the file to be included. Paths that don’t contain spaces can be
used without double quotation marks.
Notes:
The $INCLUDE instruction replaces the old “Include” instruction without leading dollar symbol form
the previous Prog-Studio versions (up to 6.x). Using the old instruction will generate an error.
Sample:
$INCLUDE math.asm
$INCLUDE "C:\Path with spacesigns\math.asm"
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
56 Batronix – Prog-Studio User Manual
56
$IF, $ELSEIF, $ELSE, $ENDIF
With the $IF pre-processor instruction a particular assembly section can be started.
This, for example, allows customized versions of a program to be assembled from one file by simple
setting a switch.
Definition:
$IF condition
[ statements ]
[ $ELSEIF elseifcondition
[ elseifstatements ] ]
[ $ELSE
[ elsestatements ] ]
$ENDIF
Components:
condition
Required. Expression. Must be True or False or specify a data type that can be implicitly
converted to boolean.
statements
Optional. One or more instructions following $IF…, that are executed when condition is True.
elseifcondition
Required when $ELSEIF … is present. Expression. Must be True or False or specify a data type
that can be implicitly converted to boolean.
elseifstatements
Optional. One or more instructions following $ELSEIF…, that are executed when elseifcondition
is True.
elsestatements
Optional. One or more instructions that are executed when none of the preceding condition-
expressions or elseifcondition-expressions is True.
$ENDIF
Terminates the $IF … $ELSE Block.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
57 Batronix – Prog-Studio User Manual
57
Notes:
If the $IF condition is true the block immediately following it is assembled. Following this further
optional conditions can follow using $ELSEIF and/or an alternate program path can be specified with
$ELSE. A pre-processor condition is always terminated with $ENDIF.
These conditional pre-processor instructions replace the old #IF DEBUGGING and #IF NOT DEBUGGING
instructions from previous versions of Prog-Studio (up to 6.x). These are no longer available in the
current version.
Sample:
$SET (DEBUGVERSION, TARGET=8051)
$IF DEBUGVERSION AND TARGET=8051
; Special debug version for the 8051
$ELSEIF DEBUGVERSION AND TARGET=8031 ; Optional
; Special debug version for the 8031
$ELSE ; Optional
; General release version
$ENDIF
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
58 Batronix – Prog-Studio User Manual
58
ASSEMBLER LANGUAGE DEFINITION
In this chapter the language definition for the assembler language and the basic high-level language
elements are described.
Please note that there are changes to the language definition in comparison to the language definition
of the 6.x and earlier versions of Prog-Studio.
ENTERING MULTIPLE INSTRUCTIONS ON ONE LI NE
In some situations it can be useful to group several instructions on one line, for example when several
very short instructions follow each other and you want to save space. For this purpose the colon
operator was added.
Sample:
;Waiting loop (100 repetitions)
Mov A, #100D
AccuDJNZ: DEC A : JNZ ContinueWaiting ; DJNZ for the Accu
At least one space is required between the instruction and the colon, otherwise this can not be
differentiated form a jump label.
COMMENTS
The semi-colon is the comment character. The additional comment character semi-colon from
previous versions of Prog-Studio (up to 6.x) was removed from the language definition and has been
reserved for later use.
Sample:
MOV A, #10h ; This comment is OK!
MOV A, #10h ' Generates a syntax error
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
59 Batronix – Prog-Studio User Manual
59
EXPRESSIONS
A sequence of operators and parameters is viewed by the Batronix assembler as a complete
expression and always generates a value as a result. The parameters for an expression can be
numbers, constant references, character strings or further expressions.
Expressions can be used in all locations where a parameter can be specified.
The order that operations are calculated in follows mathematical rules, i.e. multiplication and division
before addition and subtraction, etc…..
Sample:
String1 EQU "Hello" & ", World!"
OFFSET EQU 10
Pointer1 DATA 20h+OFFSET
Const1 EQU 5+9
MOV A, #16^(1/2)
ADD A, #HIGH (13*43)
SUBB A, #00001111B AND 0DEH
DB string1 & " Sample"
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
60 Batronix – Prog-Studio User Manual
60
OPERATORS:
The operators are not assembly instructions and do net generate byte code. For this reason operators
for an expression may only contain values that are already known at time of assembly.
Priority Operand Description
0 () Brackets
1 ^ Exponent operator
2 HIGH LOW High-Byte, Low-Byte extraction
3 / * Division, Multiplication
4 MOD Modulo
5 + - Addition, Subtraction
6 & Concatenation Operator
7 << >> Bit shifting operator
8 NOT logical negation
9 AND ANDALSO logical AND operator
10 OR ORELSE logical OR operator
11 . Bit operator
HIGH OPERATOR
The high operator is a unary operator that extracts the second-lowest value byte from a number. The
high operator is equivalent to an AND-operation with a constant bit mask of 0FF00h followed by a bit
shift of 8 bits to the right.
LOW OPERATOR
The high operator is a unary operator that extracts the lowest value byte from a number. The low
operator is equivalent to AND-operation with a constant bit mask of 0FFh.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
61 Batronix – Prog-Studio User Manual
61
NUMBERS
DECIMAL NUMBERS
Definition:
Number sequences that have no terminate character are interpreted as decimal numbers.
Optionally a decimal number can be terminated with a D to improve legibility.
Notes:
The prefix-notation % for decimal numbers in previous versions of Prog-Studio (up to 6.x) was
removed from the language definition.
Sample:
1234 ; Decimal Number OK
6638D ; Decimal Number OK
%34883 ; Generates a syntax error
HEXADECIMAL NUMBERS
Definition:
A hexadecimal number starts with a number from 0 to 9 followed by any number of digits from the
hexadecimal value range terminated with an H character.
Notes:
The prefix-notation $ for hexadecimal numbers in previous versions of Prog-Studio (up to 6.x) was
removed from the language definition and will be used as a pre-processor prefix in the future.
Sample:
0FFH ; Hexadecimal Number OK
0DAH ; Hexadecimal Number OK
DAH ; Generates a syntax error (does not begin with a number)
$34H ; Generates a syntax error
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
62 Batronix – Prog-Studio User Manual
62
OCTAL NUMBERS
Definition:
A number sequence in the value range from 0-7 followed by an O or Q character is interpreted as an
octal number.
Sample:
777O ; Octal number OK
274O ; Octal number OK
777 ; Will be interpreted as decimal number!!!
069O ; Generates a syntax error (outside of valid value range)
BINARY NUMBERS
Definition:
A number sequence in the value range from 0-1 followed by a B character is interpreted as a binary
number.
Notes:
The prefix-notation ! for binary numbers in previous versions of Prog-Studio (up to 6.x) was removed
from the language definition.
Sample:
01011011B ; Binary number OK
!10101010 ; Generates a syntax error
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
63 Batronix – Prog-Studio User Manual
63
SYMBOL DEFINITION
EQU
The symbol definition directive EQU allows the definition of symbols which represent registers or
numbers.
Definition:
Symbol EQU Expression
Symbol EQU Register
Components
Symbol
Required. The name of the symbol to be defined. Each occurrence of Symbol in the source
code is replaced with the defined expression or register during assembly.
Expression
Required. A standard expression which may also contain other symbols. Forward references
are not allowed.
Register
Required. Any of the following registers are possible:
A, R0, R1, R2, R3, R4, R5, R6, R7
Sample:
MinValue EQU 10
MaxValue EQU 100
CalcRegLow EQU R0
CalcRegHigh EQU R1
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
64 Batronix – Prog-Studio User Manual
64
DATA
The symbol definition directive DATA allows the definition of symbols which represent addresses.
Definition:
Symbol DATA Address
Components
Symbol
Required. The name of the symbol to be defined. Each occurrence of Symbol in the source
code is replaced with the defined address during assembly. The use of the address type must
be allowed in the corresponding location.
Address
Required. An address in the range 0 .. 127 or an SFR address in the range 128 .. 255.
Sample:
LcdDataPort DATA 90h
LcdDataPort DATA P1
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
65 Batronix – Prog-Studio User Manual
65
BIT
The symbol definition directive BIT allows the definition of symbols which represent individual bit
addresses (individual bits of bit-addressable memory locations).
Definition:
Symbol BIT Bit Address
Components
Symbol
Required. The name of the symbol to be defined. Each occurrence of Symbol in the source
code is replaced with the defined bit address during assembly. The use of the address type
must be allowed in the corresponding location.
Bit-Address
Required. The bit address of a bit-addressable memory location.
Sample:
SerOut1 BIT 90h.0
SerOut2 BIT SerOut1 + 1
LedGreen BIT P0.0
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
66 Batronix – Prog-Studio User Manual
66
LABEL
A label defines a name for a program address. With this name the address can be used in an
instruction.
Definition:
Label:
Components
Label
Required. The name of the label to be defined. Each occurrence of Label in the source code
is replaced with the defined program address during assembly. The use of the address type
must be allowed in the corresponding location.
Sample:
LJMP Start
Org 000Bh
;Instruction for Timer Interrupt 0
Start:
MOV DPTR, DataTable
;[...]
DataTable: DB 5, 10, 15, 80h, 11111110b, "A", "Abc"
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
67 Batronix – Prog-Studio User Manual
67
ADDRESS CONTROL
ORG
The ORG instruction sets the program address for the following code instructions.
Definition:
ORG Expression
- or -
(Expression):
Components
Expression
Required. A standard expression which may also contain other symbols. Forward
references are not allowed.
Sample:
Org 000Bh ;Start address for Timer 0
Org $ + 16 ;Current program address ($) + 16 Bytes
;Alternative Syntax:
(000Bh): ;Start address for Timer 0
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
68 Batronix – Prog-Studio User Manual
68
DS
The DS assembler instruction reserves a specified number of bytes in the program memory.
Definition:
DS Number of bytes
Components
Number of Bytes
Required. The number of bytes by which the current program counter should be incremented
from the current program address.
Sample:
Org 000Bh ;Start address for Timer 0
Ds 20 ;20 Bytes reserved
;The next machine instruction is written to this location
(0BH+20=1FH).
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
69 Batronix – Prog-Studio User Manual
69
INITIALIZE MEMORY
DB
The DB instruction initializes the program memory with 8-bit values.
Definition:
Label: DB Expression[, Expression][, ...]
Components
Label
Optional. This symbol indicates the starting address for the initialized memory space.
Expression
Required. One or more comma-separated standard expressions which may also contain
symbols or strings, forward references are not allowed.
Sample:
LcdText: DB "Hello World!"
LcdTextLen: DB LcdTextLen - LcdText
DataTable: DB 5, 10, 15, 80h, 11111110b, "A", "Abc"
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
70 Batronix – Prog-Studio User Manual
70
DW
The DW instruction initializes the program memory with 16-bit values.
Definition:
Label: DW Expression[, Expression][, ...]
Components
Label
Optional. This symbol indicates the starting address for the initialized memory space.
Expression
Required. One or more comma-separated standard expressions which may also contain
symbols or strings, forward references are not allowed.
Sample:
DataTable: DW 5, 2310, 65535
DataTable2: DW 323h, 1234h, 0FFFFh
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
71 Batronix – Prog-Studio User Manual
71
ASSEMBLER HIGH-LEVEL LANGUAGE COMPONENTS
The Batronix assembler supports a selection of high-level language elements to simplify the
development of assembler programs and short the timeline for the development process.
DO
Definition:
Do { While | Until } condition
[ statements ]
Loop
- or -
Do
[ statements ]
Loop { While | Until } condition
Components
While
Required unless Until is used. The loop is repeated until condition is False.
Until
Required unless While is used. The loop is repeated until condition is True .
condition
Required. Boolean Expression. Termination or continuation conditions.
Statements
Optional. One or more assembler instructions that are repeated as long as condition is True or
respectively until condition is True.
Loop
Required. Terminates the definition of the Do-loop.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
72 Batronix – Prog-Studio User Manual
72
Notes:
An endless loop can be created if an incorrect termination condition is used. The carry bit can be
overwritten by the condition check.
Sample:
index DATA 50h
done BIT 20h.0
MOV index, #5
CLR done
; do loop while variable index is greater than 0
Do
DEC index
Loop While index > #0
; do loop while done = False
Do
INC index
If index >= #5 Then
SETB done
End If
Loop While done = False
; do loop until index = 0
Do
DEC index
Loop Until index = #0
CLR done
; do loop until done = True
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
73 Batronix – Prog-Studio User Manual
73
Do
INC index
If index >= #5 Then
SETB done
End If
Loop Until done = True
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
74 Batronix – Prog-Studio User Manual
74
WHILE
Definition:
While condition
[ statements ]
End While
Components
condition
Required. Boolean Expression. Termination or continuation conditions.
Statements
Optional. One or more assembler instructions following While that are always executed when
condition is True.
End While
Required. Terminates the definition of the While-block.
Notes:
An endless loop can be created if an incorrect termination condition is used. The carry bit can be
overwritten by the condition check.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
75 Batronix – Prog-Studio User Manual
75
FOR
Definition:
For counter = start To end [ Step step ]
[ statements ]
Next
Components
counter
Required for the For instruction. Numeric variable such as accu, register or direct. The control
element variables for the loop.
Start:
Required. Variable such as accu, register or direct or a constant number (beginning with a #).
Starting value for counter.
end
Required. Variable such as accu, register or direct or a constant number (beginning with a #).
Final value for counter.
step
Optional. Constant Number. The value by which counter is incremented or decremented for
each iteration of the loop.
statements
Optional. One or more assembler instructions between For and Next that are executed for the
specified number of times.
Next
Required. Terminates the definition of the For-loop.
Notes:
An endless loop can be created if an incorrect termination condition is used. The carry bit can be
overwritten by the condition check.
Ensure that the counter has a value in the byte range. Therefore the maximal number of iterations
with a For-loop is limited to 256. To create a higher number of repetitions for-loops can be nested.
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
76 Batronix – Prog-Studio User Manual
76
Sample:
MinVal EQU #10
MaxVal EQU #20
For A = #0 To #99 Step 3
;[Instructions]
Next
For R0 = MaxVal To MinVal Step -1
;[Instructions]
Next
For R0 = Port1 To Port3 Step 5
;[Instructions]
Next
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
77 Batronix – Prog-Studio User Manual
77
IF
Definition:
If [ [ NOT ] BIT ] condition Then
[ statements ]
[ ElseIf elseifcondition Then
[ elseifstatements ] ]
[ Else
[ elsestatements ] ]
End If
- or -
If condition Then [ statements ] [ Else [ elsestatements ] ]
Components
condition
Required. Expression Must be True or False or of a data type that can be implicitly converted
to Boolean.
If BIT Or NOT BIT Keywords are used, only a direct bit addressable memory address or pointers
to such addresses are allowed as condition.
statements
Optional. One or more assembler instructions following If...Then that are always executed
when condition is True.
elseifcondition
Required if ElseIf is present. Expression Must be True or False or of a data type that can be
implicitly converted to Boolean.
elseifstatements
Optional. One or more assembler instructions following ElseIf...Then that are executed when
elseifcondition is True.
elsestatements
Prog-Studio User Manual – © 1998 - 2012 by Batronix, www.Batronix.com
This document is protected by German and international copyright laws. The incomplete or partial use, sale or reproduction, publishing – including
excerpts – of any kind requires the written permission of the author.
78 Batronix – Prog-Studio User Manual
78
Optional. One or more assembler instructions that are executed if none of the preceding
condition expressions is True.
End If
Terminates the If...Then...Else block.
Notes:
The one-line variation can be applied for simple, short tests. In comparison the multi-line variation is
more structured and flexible and generally easier read, maintain and debug.
Sample:
MaxVal EQU #100
TooMuch BIT 20h.0
If A > MaxVal Then SETB TooMuch Else CLR TooMuch
If Port1 > MaxVal Then
If Port2 > MaxVal Then
SETB Port3.0
ElseIf Port2 < MaxVal Then
SETB Port3.1
Else
SETB Port3.2
End If
End If