|
|
|
|
|
Did you know?
Softools released it's first
SASM assembler in 1990. |
|
|
|
|
|
And...
SASMRabbit is the only
commercial
assembler for the Rabbit currently on the market. |
|
|
|
|
|
|
|
|
|
SASMRabbit Advanced Macro
Assembler
| SASMRabbit is FAST!!! On
today's systems, SASMRabbit will assemble most files in one or two seconds. Uses state of the
art high speed symbol management routines and algorithms. |
| Automatically
supports the Rabbit XPC region allowing lcall and ljp with single physical address
operands. |
| Generates full
source-level debugging information for each file including the source name, include files,
line numbers, public symbols, and local symbols. |
| Assembler evaluates
all expressions as 32-bit expressions (16-bit compatibility mode also supported).
|
| Can include binary
images or files into a program (e.g. FPGA logic, bitmapped display data, etc.).
|
| Supports unlimited
memory for unlimited labels and macro sizes. |
| T-State display and
accumulation supported for the Rabbit 2000/3000 processor family.
|
| Supports many
directives that are compatible with those used by other assemblers.
|
| Includes full macro
support with parameter substitution and conditional assembly including string comparisons
without an external preprocessor. |
| Define symbols from a
dialog box to any valid assembler numeric constant. Defined symbols have a life span from
their definition to the end of SASMRabbit's execution. |
| Uses a multi-pass
design, which handles multiple forward references. Some source codes may be assembled in
one pass. All other source codes designed for two-pass assemblers will assemble in at most
two passes. A command line option may be used to force a two-pass assembly.
|
| Optimization may be
turned on to include files only on pass one of assembly. |
| Supports 256 named
code segments up to 1MB in size each per module. |
| Accepts expressions
with commonly used assembler operators and C language operator equivalents (where
applicable). |
| All expressions
regardless of complexity or operators used can be evaluated at link time.
|
| Can access the start,
end and size of segments and physical addresses assigned to segments and symbols at link
time. |
| Printer control
strings can be injected into the listing file at any time. |
SASMRabbit Pseudo Opcodes
(directives)
| Data Definition
Pseudo Opcodes:
DB, DEFB, DEFM, FCB, BYTE, STRING, ASCII, BYTE, DW, DEFW, FDB, LWORD, WORD, DC, DEFC, DZ,
DEFZ, ASCIZ, DS, RMB, DEFS, BLKB, BLOCK, BLKW, DEFWS, PUBLIC, GLOBAL, ENTRY, XDEF, EXTERN,
EXTRN, EXT, EXTERNAL, XREF, EXTBYTE, EXTREF, EQU, EQUATE, DEFL, =, ASET, VAR, TEQ, INPUT.
|
| Segment related pseudo
opcodes:
ASEG, ABS, BSEG, CSEG, DSEG, DEFSEG, SEG, COMMON, PHASE, DEPHASE, ORG, ORIGIN.
|
| Listing pseudo
opcodes: |
| TITLE, TTL, NAM, HEADING,
SUBTITLE, SUBTTL, STTL, SUBHL, $TITLE, PAGE, PAG, $EJECT,
EJECT, SKIP, LIST, NOLIST, XLIST, NLIST, SFCOND, NCLIST,
LFCOND, CLIST, TFCOND, SALL, XALL, LALL, MACLIST, MLIST,
MNLIST, PRTCTRL. |
| Miscellaneous
pseudo opcodes:
ALIGN, COMMENT, INCLUDE, $INCLUDE, BINCLUDE, MACLIB, LLCHAR,
RADIX, MODULE, NAME, ENDMOD, END, STRUCT, PRINT, PRINTX,
ERROR, FATAL, WARN, MSG, FILLCHAR, LINKFILL, TSTATE. |
| Conditional
Assembly pseudo opcodes:
IF, IFN, IFNZ, IFT, COND, IFNFALSE, IFTRUE, IFF, IFE, IFZ, IFT, IFNTRUE, IFFALSE, IF1,
IF2, ELSEIF, ELIF, ELSE, ENDIF, ENDC, IFDEF, IFNDEF, IFB, IFNB, IFSAME, IFIDN, IFNDIFF,
IFDIF, IFDIF, IFNSAME. |
| Macro pseudo
opdodes:
ENDM, MEND, MACEND, EXITM, MACEXIT, LOCAL, IRPC, IRP, REPT, MACRO.
|
|
|
|
|