QUICK REFERENCE CHARTS

From Atari Wiki
Revision as of 16:20, 28 January 2012 by Admin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The following are the quick reference charts to the Devpac Assembler, 
Debugger and Linker. As with the rest of the Devpac docs on this disk,
it was typed by the Animal House and edited by Sewer Rat.


                         DEVPAC ASSEMBLER
                         ================
Stand-alone assembler
=====================

Command line format: <mainfile> <-options> [options]

<mainfile> extension defaults to .S

Options:  B    No binary file created
          C    Case insensitive labels
          D    Debug
          L    GST linkable code
          L2   DRI linkable code
          O    Specify output filename (follows immediately)
          P    Specify listing filename (follows immediately)
          Q    Pause after assembly
          X    Extended debugging


Ctrl-S         -    Pause screen output
Ctrl-Q         -    Resume screen output
Ctrl-C         -    Quit assembly


Binary file types
=================

     .PRG GEM type application
     .TOS TOS type application
     .TTP TOS type application with command line
     .ACC Desk accessory file
     .BIN Non-executable file for linking with GST format files
     .O   Non-executable file for linking with DRI format files


Assembler statement format
==========================

Labels - If not starting at column 1, then must be followed by a colon.
         Labels are case-sensitive by default.
         Any label that begins with a full stop is a local label,
         attached to the last non-local label.

Mnemonics - Mnemonics are case-insensitive.

Operands - Operands are case-insensitive.

Comments - Comments are anything in the fourth column or any line which
           starts with a * or a ;


Expressions
===========

Operators:     -+   (unary plus/minus)
               ~    (NOT)
               << >>(Shifts)
               &!^  (AND,OR,XOR)
               */   (Multiply,Divide)
               +-   (Add,Subtract)
               =<>  (Comparisons)
               plus parentheses

Numbers:       no prefix Decimal
               $         Hex
               @         Octal
               %         Binary
               ' or "    Character (up to 4 bytes)

* is the (relative) value of the program counter

Any  symbol  using  absolute  short  addressing  must  be  enclosed  by 
brackets:

          move.l    vector.w,d0

          becomes

          move.l    (vector).w,d0



Assembler directives
====================

END                 - flags end of text. Not needed.
INCLUDE <filename>  -pulls a source code file off disc and assembles it.
INCBIN <filename>   -includes a binary file (data)
OPT                 -assembly options:
                         C    Case sensitivity (+-)
                              Label significance (n)
                         D    Debugging information (+-)
                         L    L+ GST linkable
                              L2 DRI linkable
                         M    Macro expansions (+-)
                         O    Optimising (+-) (1 - optimise branches)
                                              (2 - optimise addressing)
                                              (no number=both)
                         OW   Optimisation warnings (+-)
                         P    Check for position independence
                         S    Produce symbol table (+-)
                         T    Type checking (+-)
                         W    Warnings (+-)
                         X    Extended debug (+-)
EVEN                -force even address
CNOP <off>,<align>  -align the PC using the given offset and alignment
DC.B <byte list>    -include byte constant(s)
DC.W <word list>    -include word constant(s)
DC.L <long list>    -include long constant(s)
DS.B <expression>   -reserve block of bytes
DS.W <expression>   -reserve block of words
DS.L <expression>   -reserve block of longwords
DCB.B <num>,<value> -reserve constant block of <number> values
DCB.W <num>,<value> -reserve constant block of <number> values
DCB.L <num>,<value> -reserve constant block of <number> values
FAIL                -causes assembly to fail
OUTPUT <filename>   -defines output filename
__G2                -reserved symbol to detect whether the assembly is
                     due to the IFD conditional
REPT <expression>   -start of repeat loop
ENDR                -end of repeat loop
LIST                -turns on listing
NOLIST              -turns off listing
LIST+               -increments list flag
LIST-               -decrements list flag
PLEN <expression>   -set page length of assembly listing
LLEN <expression>   -set line width of assembly listing
TTL <string>        -set title of assembly listing
SUBTTL <string>     -set sub title of assembly listing
SPC <expression>    -output blank lines
PAGE                -new listing page
LISTCHAR <char list>-output the following chars to the printer
FORMAT 0            -enable/disable (+-) line numbers
FORMAT 1            -enable/disable (+-) section name/number and PC
FORMAT 2            -enable/disbale (+-) hax data
EQU <expression>    -sets a label to a defined value
=                   -same as EQU
EQUR <register>     -gives a register a user-defined label
SET                 -same as EQU, only can be modified by further SETs
REG <reg-list>      -give a label for a register list (MOVEM)
RS.B <expression>   -as DS.B, only gives a relative label
RS.W <expression>   -as DS.W, only gives a relative label
RS.L <expression>   -as DS.L, only gives a relative label
RSRESET             -resets counter used by above instructions
RSSET <expression>  -gives a value to counter used by above instructions.
__RS                -reserved symbol having the value of the current RS
                     counter
IFEQ <expression>   -assemble if =0
IFNE <expression>   -assemble if <>0
IFGT <expression>   -assemble if >0
IFGE <expression>   -assemble if >=0
IFLT <expression>   -assemble if <0
IFLE <expression>   -assemble if <=0
IFD <label>         -assemble if label defined
IFND <label>        -assemble if label not defined
IFC <str1>,<str2>   -assemble if two strings equal
IFNC <str1>,<str2>  -assemble if two strings not equal
ELSEIF              -toggle conditional assembly
ENC                 -end of current level of conditional assembly
IIF <expression>    -one line IFNE
MACRO               -start of macro
ENDM                -end of macro
MEXIT               -premature end of macro
NARG                -reserved symbol, giving the number or arguments
                     passed.
MODULE <name>       -set module name for linker
SECTION <name>      -set current section name (TEXT/DATA/BSS)
XDEF <label list>   -set export list for labels
XREF <label list>   -set import list for labels
XREF.L (label list> -set import list for constants
COMMENT             -ignore
ORG <expression>    -forces position dependent code at <expression>
OFFSET <expression> -generate absoulute labels (at expression,if given)
__LK                -reserved symbol - 0=executable
                                       1=GST linkable
                                       2=DRI linkable

Macro parameters: \1 to \9, \A to \Z, \a to \z
                  \0 size appended to macro call
                  \@ generate "_nnn" for unique labels



                       DEVPAC MONITOR INFO
                       ===================

Tab       -    Cycle windows
Alt-<n>   -    Select window
Ctrl-Z    -    Single step
Ctrl-Y    -    Single step
Alt-B     -    Set breakpoint
               ,= is a count breakpoint
               ,* is a permanent breakpoint
               ,? <expression> is a conditional breakpoint
               ,- clears a breakpoint
               else a simple breakpoint is produced
Ctrl-R    -    Run/Return to program
V         -    Switch screens
Alt-Z     -    Zoom/Shrink window
Esc       -    Abort
Alt-P     -    Dump window
Alt-A     -    Change window address
Ctrl-C    -    Terminate current program
Alt-E     -    Edit window (Tab=toggle mode,Esc=quit)
Alt-F     -    Font size
Alt-L     -    Lock window
Alt-O     -    Show other
Alt-P     -    Printer dump
Alt-R     -    Register set
Alt-S     -    Split windows
Alt-T     -    Change type (window 4 only)
Ctrl-O    -    Other screen mode
Shift-Alt-Help -    Interrupt program
Help      -    Show info
U         -    Go until
Ctrl-K    -    Kill all set breakpoints
Ctrl-A    -    Set breakpoint just after PC then execute
Ctrl-D    -    BDOS breakpoint
H         -    Show history buffer
Ctrl-L    -    Load executable program
B         -    Load binary file
S         -    Save binary file
A         -    Load ASCII file
Ctrl-T    -    Single step, skipping calls and traps
R         -    Run  G  Go
                    S  Slowly
                    I  Instruction (needs instruction count)
                    U  Until (expression is true)
G         -    Search memory
N         -    Find next
Ctrl-P    -    Set preferences
I         -    Intelligent copy
L         -    List labels
W         -    Fill memory with
P         -    Dissassembe to printer/disc
M         -    Modify address
O         -    Show other bases
D         -    Change current drive and directory
TEXT,DATA,BSS,END,SP,SR,SSP - Reserved symbols

{}   -    Indirection
\    -    Prefix for decimal (hex is default)



                        DEVPAC LINKER INFO
                        ==================

Command line format:
     <filename> <-options> <filename> <-options>

Options:  B    Generate a BSS section
          D    Generate debug info
          F    Force linker pass 2
          L    Specify that all following are library filenames
          M    Dump a map file
          O    Specify object code filename
          Q    'quiet' mode (?)
          S    Dump a symbol table listing
          X    Generate extended debug info
          W    Specify control file filename

If  the command line is started with a > character followed  by  a 
filename, then all screen output is redirected to that file.

Control file commands:

     INPUT <filename>    -    read input file
     OUTPUT <filename>   -    specify output file
     LIBRARY <filename>  -    specify library file
     SECTION <sect name> -    force specific section ordering
     DEBUG               -    include debugging information
     XDEBUG              -    include extended debugging information
     DATA <size>         -    set BSS segment size
     BSS <section name>  -    place named section in BSS area
     * is replaced by the first filename on the command line


************************************************************************

That concludes this small doc, so for comprehensive explanations on each
of the above, read the entire Devpac docs on this Sewer Doc Disk 8. There
is also a quick reference chart for the Editor on this disk and a few
other general purpose files for Devpac. Overall, the files total a huge
320K, typed single-handedly by the Animal House


Back to HiSoft DevpacST Version 2 - Manual