MA-51
Macro-Assembler
MA-51 is a comprehensive and
powerful assembler, which is capable of generating both
relocatable and absolute object files. MA-51 includes a
macro instruction processor and is fully compatible with
ASM-51.
MA-51 is fully integrated into the
RIDE Integrated Development Environment.
- Assembly statements
- Directives: are used to
determine the way the assembler processes
assembly language instructions.
- Controls: are used to
determine the way the assembler generates the
object and listing files. Controls may be used
either on the command line or in the source
module(s).
- Instructions: specify the
source code to assemble.
- Comments
Comments are used to make a program more readable. They
are introduced with a ; and ignored by the
assembler.
- Keywords
Keywords are symbols used by the assembler that must not
be redefined.
- Symbols
Symbols can be defined before assembly instructions,
but not before directives such as $INCLUDE, etc. In the
variables segments (data, bit, xdata, code), symbols can
be assigned to any address. A symbol is equivalent to the
numerical value of the address at which it is allocated.
- Labels
A label is a symbol used to
mark a particular place in an assembly program. It may
refer to program code, to variable space in internal data
memory, to variable space in external data memory, or to
constant data stored in code space.
- Operands
Operands are arguments
of instructions or directives. They may be divided into 3
groups:
- Numerical, string and
character operands
- Address pointer
- Register name
- Main 'registers'
The register names in the
8051 and its derivatives are pre-defined and listed below
:
- A: 8-bit accumulator
- R0-R7: 8-bit general purpose
registers
- DPTR: 16-bit data pointer
generally used to address data in external data
memory or program memory
- DPL: 8-bit register containing
the 8 lower bits of DPTR
- DPH: 8-bit register containing
the 8 upper bits of DPTR
- PC: 16-bit program counter
- C: carry flag
- AB: represents the 16-bit A
and B register pair
- AR0-AR7: absolute data address
of R0-R7 in the current register bank (RR0-RR7
are also accepted, for compatibility with
previous versions of the assembler)
|