📄 release.130
字号:
*********************
* *
* A S E M - 5 1 *
* *
*********************
R E L E A S E - N O T E S
=========================
December 31, 2002
Copyright (c) 1994, 1996, 2002 by W.W. Heinz
All rights reserved.
Version 1.3, Dec 31, 2002:
==========================
The following changes have been made to the ASEM-51 package, since
version 1.3b3 (V1.3 Beta 3):
I. Bug Fixes
------------
ASEM V1.3b3 flagged the following instructions
ADD A, direct
ADDC A, direct
SUBB A, direct
ANL A, direct
ORL A, direct
XRL A, direct
MOV A, direct
XCH A, direct
with the error message @@@@@ illegal operand @@@@@, if the direct
expression started with a '('. The bug is fixed in ASEM V1.3.
When asem 1.3b3 tried to write to a busy character device under
Linux, it aborted with an unspecific error message, e.g.
@@@@@ fatal I/O error 16: /dev/lp0 @@@@@
This is fixed in V1.3. The new runtime error message is looking like
@@@@@ device or resource busy: /dev/lp0 @@@@@
II. Support of 8051 Derivatives
-------------------------------
With this version, new and updated processor definition files are provided:
File Status Manufacturer Derivatives covered
----------------------------------------------------------------------------
C505.MCU n Infineon C505-2R, C505-L
C505C.MCU n Infineon C505C-2R, C505C-L
C505A.MCU n Infineon C505A-4E, C505A-L
C505CA.MCU n Infineon C505CA-4E, C505CA-L
C505L.MCU n Infineon C505L
C508.MCU n Infineon C508-4R, C508-4E
C868.MCU n Infineon C868-1R, C868-1S
80C32X2.MCU n Philips 80C31X2, 80C32X2,
80C51X2, 80C52X2, 80C54X2, 80C58X2,
87C51X2, 87C52X2, 87C54X2, 87C58X2,
89C51X2, 89C52X2, 89C54X2, 89C58X2
----------------------------------------------------------------------------
Status: n=new, r=renamed, m=modified, c=commented
Credits: Michael R. has sent me 80C32X2.MCU.
Version 1.3b3, June 25, 2002:
=============================
These are the longest release notes I have ever written for an ASEM-51
version. It seems that I had always some spare time to support, maintain,
change, extend, improve and port it over and over for many years, but
never to publish an official new release.
The release notes would become even more lengthy (and boring), if I only
tried to explain the reasons I still remember. Let's say, ASEM-51 and its
author simply are victims of circumstances! :-)
I. New Features
---------------
Version 1.3 is a release of extensions indeed!
That's why the new features are discussed first.
I.1 Host Platforms
------------------
Version 1.3 is the first ASEM-51 release which is available for multiple
host platforms. There are executables for MS-DOS, Win32 and Linux.
ASEM-51 V1.3 is distributed in two separate packages: one containing all
the DOS/Windows stuff, and a second containing the Linux implementation.
MS-DOS and Windows:
Besides the proven real-mode assembler ASEM.EXE, version 1.3 contains the
new protected-mode assembler ASEMX.EXE! ASEMX is functionally identical
to ASEM, but it can use up to 64 MB of XMS memory to assemble even huge
programs. ASEMX is accompanied by Borland's DPMI server DPMI16BI.OVL and
runtime manager RTM.EXE. It requires a 286 CPU (or better), and at least
512 kB of free XMS memory (1 MB recommended)!
For Windows 9x/NT systems, the new Win32 console-mode assembler ASEMW.EXE
is provided. ASEMW is functionally identical to ASEM, but it can handle long
file names and benefits of the Win32 memory management. ASEMW is accompanied
by a corresponding Win32 binary-to-hex converter HEXBINW.EXE.
Linux:
For 386-based Linux systems, the native ELF executables asem, hexbin,
customiz, and reset51 are provided. These programs are Linux ports of the
corresponding MS-DOS versions. Especially asem, hexbin, and reset51 had to
be adapted to the Linux environment and its conventions.
The rest of the ASEM-51 distribution has been made Linux-ready as good as
possible. The Linux distribution is available in tar and rpm format.
I.2 Assembler
-------------
With only five new keywords (MACRO, REPT, ENDM, EXITM, LOCAL) and some
additional control characters, ASEM-51 version 1.3 introduces a full-blown
macro processing! It is possible to define named and repeated macro blocks.
Substitution of formal parameters is implemented as well as local symbols.
Macro calls and definitions can be nested to any depth.
Conditional assembly has been extended with the new IFN, IFB, IFNB, ELSEIF,
ELSEIFN, ELSEIFDEF, ELSEIFNDEF, ELSEIFB, and ELSEIFNB meta instructions.
The new control statements $GEN, $NOGEN, $GENONLY, $COND, $NOCOND, $CONDONLY,
$SAVE, and $RESTORE allow refined listing options for macro expansion and
conditional assembly. $MACRO and $NOMACRO allow or suppress macro expansion.
The /OMF-51 command line option has been introduced for the DOS and Windows
implementations, to generate absolute OMF-51 modules instead of Intel-HEX
files. The Linux implementation recognizes the --omf-51 (or -o) option
respectively. It is also possible to include debug information with the
$DEBUG assembler control.
The environment variable ASEM51INC has been introduced on all platforms, to
specify a search path for include files.
The new $NOBUILTIN control suppresses predefined symbols (SFR) in the symbol
table or cross-reference listing, while user-defined symbols are still listed.
The new $ERROR and $WARNING controls allow a more secure configuration
management of application programs.
For identification of the assembler and its version number, the following
predefined symbols of the type NUMBER have been introduced:
??ASEM_51 = 8051H ASEM-51
??VERSION = 0130H version 1.3
To improve compatibility with the Intel assembler, more than one assembler
control is allowed in a control line now, e.g.:
$ NOMOD51 INCLUDE(80C517.MCU)
Include files may now be nested to any depth!
EQU and SET can now be used, to define symbols not only for numerical
constants, but also for registers A and R0 thru R7.
I.3 MS-DOS Implementation
-------------------------
A batch file INSTALL.BAT has been provided, to install or update the
ASEM-51 package under MS-DOS or Windows.
The batch file KILLASEM.BAT deletes an existing ASEM-51 installation.
Due to a new parser concept and assembly language optimizations in lexical
analysis and symbol table, ASEM.EXE is now running up to 20% faster.
ASEM and HEXBIN can now also read ASCII files in UNIX format!
The obsolete field separator '=' for ASEM and HEXBIN command line options
is no longer accepted under MS-DOS. From version 1.3 only ':' is allowed.
The former RESET program has been renamed to RESET51, due to name conflicts.
It can now also form a reset pulse by dropping the DTR signal of a serial
port. BOOT51.DOC has been updated accordingly.
I.4 Support of 8051 Derivatives
-------------------------------
With this version, new and updated processor definition files are provided:
File Status Manufacturer Derivatives covered
----------------------------------------------------------------------------
80C310.MCU n Dallas DS80C310
80C390.MCU n Dallas DS80C390
87C520.MCU n Dallas DS87C520, DS83C520
87C530.MCU n Dallas DS87C530, DS83C530
87C550.MCU n Dallas DS87C550
89C420.MCU n Dallas DS89C420
DS5000.MCU n Dallas DS5000FP, DS5000, DS5000T,
DS2250, DS2250T
DS5001.MCU n Dallas DS5001FP, DS5002FP, DS5002FPM,
DS2251T, DS2252T
MAX7651.MCU n Maxim MAX7651, MAX7652
89C52.MCU n Atmel AT89C52, AT89C55, AT89LV52, AT89LV55,
AT87LV52, AT80F52, AT87F52
89C1051.MCU n Atmel AT89C1051
89C2051.MCU r Atmel AT89C2051, AT89C4051, AT89C1051U
89S8252.MCU n Atmel AT89S8252, AT89LS8252
89S51.MCU n Atmel AT89S51
89S52.MCU n Atmel AT89S52, AT89LS52
89S53.MCU n Atmel AT89S53, AT89LS53
89S4D12.MCU n Atmel AT89S4D12
87F51RC.MCU n Atmel AT87F51RC, AT87F55, AT87LV55
83C51R.MCU n Intel 83C51RA, 80C51RA, 87C51RA,
83C51RB, 87C51RB, 83C51RC, 87C51RC
83C51FX.MCU r,m,c Intel 83C51FA, 80C51FA, 87C51FA,
83C51FB, 87C51FB, 83C51FC, 87C51FC
83C51KB.MCU n Intel 83C51KB
83C51GB.MCU n Intel 83C51GB, 80C51GB, 87C51GB
83C151.MCU n Intel 83C151SB, 87C151SB, 80C151SB
83C151SA, 87C151SA
83931HA.MCU n Intel 83931HA, 80931HA
83931AA.MCU n Intel 83931AA, 80931AA
83C750.MCU m Philips 83C750, 87C750
83C754.MCU n Philips 83C754, 87C754
87LPC762.MCU n Philips 87LPC762
87LPC768.MCU n Philips 87LPC768
83C515A.MCU m SIEMENS 83C515A-5, 80C515A
C504.MCU n,c SIEMENS C504-2R, C504-L
C509.MCU n,c SIEMENS C509-L
C513AO.MCU n SIEMENS C513AO
C515.MCU n SIEMENS C515-L, C515-1R
C515A.MCU n SIEMENS C515A-L, C515A-4R
C515C.MCU n,c SIEMENS C515C-8R
C517A.MCU r,m SIEMENS C517A-L, C517A-4R, 83C517A-5, 80C517A
C540U.MCU n SIEMENS C540U
C541U.MCU n SIEMENS C541U
83C154S.MCU n OKI 83C154S, 80C154S, 85C154HVS
73M2910.MCU n TDK 73M2910, 73M2910A
AN2131.MCU n Cypress AN2121, AN2122, AN2125, AN2126,
AN2131, AN2135, AN2136
----------------------------------------------------------------------------
Status: n=new, r=renamed, m=modified, c=commented
File 83C51F.MCU has been renamed to 83C51FX.MCU and completed with the
"mysterious IPH register" and related commentary.
The SFR symbol definitions in file 83C750.MCU have been changed according
to manufacturer specifications.
The BIT symbols for P1.0 thru P1.3 in file 83C515A.MCU have been changed
according to their equivalents in the new file C515C.MCU.
File C517A.MCU replaces 83C517A.MCU, because the C517A is functionally
identical (with some slight differences in naming conventions only).
Note that all SIEMENS derivatives are now manufactured and sold by Infineon!
Credits:
Axel Kielhorn has written the file DS5000.MCU.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -