Saving preferences

To save the settings file you can either choose Save as from the Preferences box or choose Save preferences from the Options menu. This latter command, on the Options menu, saves the current editor, assembler and Tools menu preferences under the name HISOFTED.INF. If you want to call your settings file a different name you should use Save as in the Preferences box, as described below. When the editor is loaded, it looks for the HI SOFT ED. INF gt configuration file firstly in the current...

Base Page Layout

Every program that runs under GEMDOS has a base page area which contains certain information. It is 100 bytes long. pointer to parent's base page 0 if desk accessory command line length byte then string, which is guaranteed to be null-terminated

Floating Point Directives

Note that DC . S, DC . D and DC . X are really floating point directives but they are documented above with their integer cousins. This directive will set the value and type of the given label to be a floating point constant of the given value. The constant may be specified in hexadecimal or decimal as described previously under expressions alternatively you may use a previously defined floating point constant. The label is compulsory and must not be a local label. Note that the size . x is...

Algorithms Data Structures

Compilers Principles, Techniques and Tools Aho, Alfred V, Ravi Sethi and Jeffrey D. Ullman 1986 ISBN 0-201-10194-7, Addison-Wesley Publishing Company, Reading, MA, USA. Algorithms Sedgewick, Robert 1988 ISBN 0-201-06673-4, Addison-Wesley Publishing Company, Reading, MA, USA. Aho, Alfred V, John E. Hopcroft et al 1983 ISBN 0-201-00023-7, Addison-Wesley Publishing Company, Reading, MA, USA. Fundamental Algorithms Knuth, Donald E. 1973 ISBN 0-201-03809-9, Addison-Wesley Publishing Company,...

Devpac Disk Contents

Devpac 3 is supplied on one double-sided 3.5 disk. Please note that the following list of files is intended as a guide only subsequent versions of Devpac may contain extra files. The installation program and its support files. The multi-window editor and control program. A text file including latest details about Devpac 3 please read this file carefully before contacting our technical support department with any queries. Auto-resident versions of Mon, the debugger. 68000 version of Gen, the...

A Quick Tutorial

This is deliberately a 'quick and dirty' tutorial so you can see how straightforward it is to create, edit, assemble and debug programs with Devpac. In this tutorial we are going to assemble and run a simple program, which contains two errors and debug it. The program itself is intended to print a message. To follow this tutorial you must already have installed Devpac and be in the editor. If you are not you should run the installation program assuming you have not already done so , then...

Binary file types

There are five main types of binary files which may be produced by Devpac, for different types of applications. They are Atari executable, DRI linkable, GST linkable, Lattice linkable and Motorola S-records. Devpac can also assemble executable code directly to memory when using the integrated version allowing very fast edit-assemble-debug-run times. When producing linkable code, Devpac does not produce an executable file, but a file that needs to be processed by a linker to produce an...

Warnings

68010 instruction, converted to MOVE SR MOVE CCR, is not a 68000 instruction only when in 68000 8 mode . when optimising, base displacement shortened A register list created using EQUR has been used in an expression. move. 1 nn, dO optimised to moveq nn, dO. no ORG specified When generating absolute code via S-records. offset removed xx An form reduced to An by optimising, outer displacement shortened relative cannot be relocated short branch converted to NOP when optimising, short word...

Lattice C linkable LATTICE

This is the format that was introduced by Lattice C 5 for the ST it is also used by HiSoft BASIC 2. The format supports an unlimited number of sections, of general types CODE, DATA and BSS. BSS sections are placed together in the final executable file as one zeroed BSS section by the supplied linker, CLink. There are no limits on the length of sections or symbols. To produce libraries you require the librarian supplied with Lattice C, OML. Although it is not quite as flexible as the GST format...

Conditional Assembly

Conditional assembly allows the programmer to write a comprehensive source program that can cover many conditions. Assembly conditionals may be specified through the use of arguments, in the case of macros, and through the definition of symbols in EQU or SET directives. Variations in these can then cause assembly of only those parts necessary for the specified conditions. There are a wide range of directives concerned with conditional assembly. At the start of the conditional block there must...

Assemble

This command will assemble the file that is currently being edited using that have been set up using the Assembler Options dialogs, which are described in detail at the beginning of the next section. If you are compiling to memory and get a program buffer full error when you assemble something you should change the number given by Buffer size on the Format popup menu. There is of course a penalty for this - the bigger the program buffer size the smaller the amount of memory left for the...

Text Buffer

By default the text buffer size is 60000 bytes, but this can be changed from 4000 to 999000 bytes. This determines the largest file size that can be loaded and edited. This amount of memory is allocated for each window in use. Care should be taken to leave sufficient room in memory for assemblies - pressing the Help key displays free system memory, and for assemblies this should always be at least 100k bytes. Changing the editor workspace size will cause any text you are currently editing to be...

Preassembled files

When searching for include files Gen also looks for a file with the same name as the include file but with any extension replaced with .GS. This is assumed to be a pre-assembled symbol table file corresponding to that file name. Such a file is produced using the Output Symbols option from the Program menu or by using the OPT GENSYM option. The .GS file that this produces contains the symbol table definitions for the absolute labels and macros that are defined by the include file. It also lists...

cannot nest repeat loops colon expected

comma expected data register expected data too large DCB or DS count must not be negative division by zero duplicate MODULE name module names must be unique, error during listing output listing will be stopped at this point, error during writing binary file normally disk full, error in command line symbol executable code only only executable code may be assembled to memory, expression mismatch normally a syntax error within an expression, fatally bad conditional there were more ENDCs in a macro...

The Debugger

The front panel window display of Mon can now be organised as you wish. Windows can be split horizontally, vertically and also stacked in order to extend the number of available work areas. Each stacked window may be locked to an arbitrary expression allowing interactive monitoring of complex data structures. Any number of source files may be loaded into each window along with any associated line number debugging information such as that lt - output by Gen. Multi-module programs can thus be...

Acknowledgements

The trademarks both registered and otherwise of various companies are used throughout this manual. In particular HiSoft Devpac, Power BASIC, HiSoft BASIC, Gen and Mori are trademarks of HiSoft. Atari is a registered trademark of Atari Corp. We acknowledge any other trademark used but not listed above. We would like to thank the following people for their invaluable help in the production of HiSoft Devpac and this manual Andy Pennell for his hard work in programming the original Devpac, Julia...

s

S-record format 127 assembler 127 BSS directive 128 CODE directive 128 command-line option 62 DATA directive 128 definition 127 ORG directive 128 SECTION directive 128 TEXT directive 128 s-records, linker 192 save binary, debugger 167 save block, editor 24 saving text, editor 30 scrap library, GEM AES 289 scrdmp 271 screen codes 301 screen switching, debugger 160,172 search 27 case dependency 27 next 27 previous 27 replace all 28 replacing 27 search, debugger 170 section See hunk SECTION...

Index

absolute expressions 70, 73 ADDQ SUBQ, optimising 88 address ADD SUB, optimising 89 address shortening, optimising 89 addressing modes 73 AES seeGEMAES alignment, EVEN directive 80, 95 allow zero, option 90 alternative RAM 120, 192, 223 ALV suppression, Lattice linker 196 warnings, Lattice linker 195 application library, GEM AES 286 assembler addressing modes 73 character constants 71 command line 62 command-line case-insensitive labels, C 62 defaults 63 defining symbols, -E 64 DRI linkable...

The Edit menu

The commands on the top of the Edit menu may be used to perform the conventional Cut, Copy and Paste operations on marked blocks. These are described under Block commands, below.