I. Introduction
ASEM-51 is a two-pass macro assembler for the Intel
MCS-51 family of microcontrollers.
It is running on the PC under MS-DOS, Windows and Linux.
The DOS real-mode assembler ASEM.EXE requires only 256 kB of free DOS memory
and MS-DOS 3.0 (or higher).
The new protected-mode assembler ASEMX.EXE requires a 286 CPU (or better),
and at least 512 kB of free XMS memory.
The new Win32 console-mode assembler ASEMW.EXE requires a 386 CPU (or better)
and Windows 9x, NT, 2000 or XP.
The new Linux assembler asem requires a 386-based Linux system.
The new HTML documentation set requires a 90 MHz Pentium (or better) and a
web browser.
The ASEM-51 assembly language is a rich subset of the Intel standard
that guarantees maximum compatibility with existing 8051 assembler sources.
ASEM-51 can generate two sorts of object files: Intel-HEX format,
which is directly accepted by most EPROM programmers, and absolute OMF-51
format, which is required for many simulators, emulators and target debuggers.
Thus ASEM-51 is suitable for small and medium MCS-51-based
microcontroller projects in hobby, education and business. However,
ASEM-51 has been designed to process also very large programs!
Its most important features are:
- fast, compact, reliable, easy to use, and well-documented
- easy installation, almost no configuration required
- command line operation, batch and networking capability
- fully year 2000 compliant
- DOS (RM and PM), Win32 and Linux binaries available
- Intel-compatible syntax
- five location counters, one for each of the MCS-51 address spaces
- assembly-time evaluation of arithmetic and logical expressions
- segment type checking for instruction operands
- automatic code optimization of generic jumps and calls
- macro processing (that really works)
- nested include file processing
- nested conditional assembly
- absolute OMF-51 module output (with debug information)
- Intel-HEX file output
- hex-to-binary conversion utility
- built-in symbols for 8051 special function registers (can be disabled)
- direct support of more than seventy 8051 derivatives
- support of user-defined 8051 derivatives
- special support of the Philips 83C75x family
- 8051 register bank support
- detailed assembler listing with symbol table or cross reference
- further fancy printing facilities
- documentation in ASCII and HTML format
- bootstrap program for testing on the MCS-51 target board
- support for easy integration into the popular Borland IDE
- limited update service by the author
The ASEM-51 software package has been developed with:
Borland-Pascal mit Objekten 7.0 © Borland International 1992
Delphi 2.0 Client/Server Suite © Borland International 1996
FreePascal 1.0.6 © Florian Klämpfl 2002