📄 release.130
字号:
Anders Sandstroem has sent me 87LPC762.MCU and 87LPC768.MCU.
I.5 Documentation
-----------------
The whole documentation is now available in both ASCII and HTML format!
(To read the HTML manuals, start with file DOCS.HTM.)
The previous "ASEM-51 Updating Guide" UPDATES.DOC has been replaced by
the document SUPPORT.DOC with the title "ASEM-51 Support".
Of course the whole ASEM-51 documentation has been updated to describe
all new features.
II. Bug Fixes
-------------
An attempt to redefine a predefined (SFR) symbol with the /DEFINE command
line option was sometimes sufficient to totally confuse ASEM V1.2!
In these cases, version 1.3 now aborts with a proper runtime error message.
ASEM V1.2 didn't notice, if number type operands of control statements
were not enclosed in parentheses. This has been fixed with version 1.3!
If the location counter symbol $ appeared as the first operand of an
instruction starting in column 1, ASEM V1.2 has flagged it with the
error message
25: 0007 80 00 SJMP $
^
@@@@@ illegal control statement @@@@@
This has been fixed with version 1.3!
ASEM V1.3 does no longer accept the following constructions:
- The start of absolute BIT or DATA segments with BSEG or DSEG
at base addresses above 7FH.
- Memory reservation statements in BIT or DATA segments with
DBIT or DS at locations above 7FH.
- Setting the location counter in BIT or DATA segments with
ORG to locations above 7FH.
- Setting the location counter with ORG to locations below
the segment base address. (Applies to all segments!)
If the first operand of the following instructions
ANL direct, #const8
ORL direct, #const8
XRL direct, #const8
MOV direct, #const8
MOV direct, direct
DB const8, const8
DW const16, const16
contained forward references on pass 1, and was flagged with one of the
following error messages
@@@@@ segment type mismatch @@@@@
@@@@@ attempt to divide by zero @@@@@
@@@@@ invalid bit number @@@@@
@@@@@ invalid base address @@@@@
@@@@@ expression out of range @@@@@
on pass 2, ASEM V1.2 calculated the code lengths of these instructions
different on pass 1 and pass 2, causing a
@@@@@ phase error @@@@@
for all subsequent label definitions in the same CODE segment.
This has been fixed with version 1.3!
If a frequently used special character like # or @ is read in a position
where an expression is expected, ASEM V1.3 does no longer flag it with
the confusing error message "unary operator expected", but with "illegal
operand".
If ASEM.EXE V1.2 had aborted with a runtime error on pass 1, the previous
HEX and list files were left unchanged, because the old output files were
first overwritten between pass 1 and pass 2. In some cases this was very
confusing for the users (and for batch files as well).
Provided the command line parameters are correct, the old output files are
now overwritten by version 1.3 prior to pass 1.
The processor definition file 89C1051.MCU, provided with version 1.2,
was containing the definitions for the AT89C2051 rather than for the
AT89C1051! Since the two parts are not register-compatible, 89C1051.MCU
has been renamed to 89C2051.MCU, and 89C1051.MCU has been rewritten.
Sometimes BOOT-51 V1.0 lost characters, if the "GO TO" command was sent
in batch mode with baudrates greater than 9600 Baud. This has been fixed
with version 1.1.
BOOT-51 V1.1 is now accepting Intel-HEX file uploads with CR, LF, or
CR/LF at the end of line.
BOOT51.DOC has been updated accordingly.
Due to a limitation of the Turbo-Pascal 7.01 runtime system, the program
RESET.EXE crashed with "Runtime error 200" on 200 MHz (and faster) Pentium
systems! This has been fixed with release 1.3.
Note: The program has been renamed to RESET51.EXE, to avoid name conflicts.
When assembling short programs on fast computers and uploading them
to the MCS-51 target board at low baudrates with BOOT.BAT, it could
happen that the upload of the HEX file started before BOOT-51 had
fully recovered from (an automatic) reset. Since BOOT-51 needs some
time to output its sign-on message and prompt, it sometimes missed
the upload command, because ASEM.EXE had finished too fast! :-)
To fix this, a small delay program SLEEP.EXE is provided,
which is always invoked after RESET51.EXE. (see UPLOAD.BAT)
Version 1.2, Jan 22, 1996:
==========================
1. Bug Fixes:
-------------
Since version 1.0, only two serious bugs have been found in ASEM-51:
If DB or DW statements contained at least two subsequent expressions with
forward references, followed by at least one further expression or string,
the code lengths of these statements were calculated different on pass 1
and pass 2. Therefore, jumps to locations behind those statements might
have led to wrong addresses.
If a symbol name with more than 31 characters was referenced in an
instruction operand, the assembler marked that symbol reference with the
error message "@@@@@ symbol not defined @@@@@", although it was defined
correctly above.
Apart of that, some minor deficiencies have been improved or corrected:
The arrows of the error messages in the list file are now pointing more
exactly to the position in the source line, where something is wrong.
ASEM and HEXBIN do no longer crash in exotic I/O error situations
(i.e. opening the door of a disk drive while reading from it),
and they can output more specific I/O error messages.
It is no longer possible, to overwrite the input files by specifying
duplicate file names in the command line.
(This does not apply to device names!)
The previous field separator '=' for ASEM and HEXBIN command line options
had to be changed to ':', because of two reasons:
It is not possible, to pass a string, containing an '=' character, to a DOS
batch file as a parameter, and it cannot be assigned to a DOS environment
variable.
However, the old field separator '=' is still accepted to maintain
compatibility with previous HEXBIN versions.
2. New Features:
----------------
The new assembler version comes up with numerous extensions and improvements:
The /INCLUDES command line option has been introduced, to specify
directories that ASEM has to search for include files.
The /DEFINE command line option has been implemented, to define symbols
from the command line, for easy assembly of different program variants.
Conditional assembly has been extended with the new IFDEF and IFNDEF
meta instructions.
Primary controls may now be preceded also by general controls.
The new $PHILIPS control allows to switch to the reduced instruction set
of the Philips 83C75x family of microcontrollers.
The pseudo instruction NAME has been introduced for compatibility purposes.
The ASEM-51 list file has been beautified, and contains more information.
New fancy printing facilities have been introduced with the $XREF,
$PAGEWIDTH, $DATE, $TITLE and $NOTABS controls.
The $DEBUG, $NODEBUG, $MOD51, $PAGING, $SYMBOLS, and $NOXREF controls
have been implemented for compatibility purposes.
Now all assembler controls may be replaced by their (Intel-) abbreviations.
The error message filter program ASEM2MSG has been introduced, which
allows the integration of ASEM-51 into the Borland IDE for DOS.
Files ASEM.PIF and ASEM.ICO have been added to simplify the ASEM-51
installation under Windows 3.1.
Device names that are passed to ASEM or HEXBIN as command line parameters
may but need no longer be terminated with a ':' character.
HEXBIN 2.2 is running about 15% faster than version 2.1. The length of
the binary output file now matches exactly the byte count of the code.
HEXBIN now returns ERRORLEVEL 1 on conversion errors and ERRORLEVEL 2
on fatal runtime errors.
With this version, new processor definition files are provided:
File Manufacturer Derivatives
-------------------------------------------------------------------------
89C1051.MCU Atmel 89C1051, 89C2051
83C451.MCU Philips 83C451, 80C451, 87C451
83C528.MCU Philips 83C528, 80C528, 87C528, 83C524, 87C524
83CE528, 80CE528, 89CE528
83C550.MCU Philips 83C550, 80C550, 87C550
83C562.MCU Philips 83C562, 80C562
83C652.MCU Philips 83C652, 80C652, 87C652,
83C654, 87C654, 83CE654, 80CE654
83C750.MCU Philips 83C750, 87C750
83C751.MCU Philips 83C751, 87C751
83C752.MCU Philips 83C752, 87C752
83C851.MCU Philips 83C851, 80C851
83C852.MCU Philips 83C852
C501.MCU SIEMENS C501-1R, C501-L
C502.MCU SIEMENS C502-2R, C502-L
C503.MCU SIEMENS C503-1R, C503-L
C511.MCU SIEMENS C511, C511A
C513.MCU SIEMENS C513, C513A, C513A-H
COM20051.MCU SMC COM20051
ASEM_51.DOC has been updated accordingly, and extended with an alphabetical
8051 instruction table. The error messages in appendices A and B are now
sorted in lexical order, and completed with brief explanations.
The bootstrap program BOOT-51 V1.0 has been added to the ASEM-51 package.
It allows an 8051 target system to receive an application program in
Intel-Hex format over the serial interface, load it into the external RAM,
and finally start it (provided that the board has a suitable memory map).
Once installed, BOOT-51 leads to very short turn-around cycles in testing.
For detailed information refer to the ASCII text file BOOT51.DOC provided.
An "ASEM-51 Updating Guide" has been added to the package.
It describes, how and where to get a new ASEM-51 version!
For further information see the ASCII file UPDATES.DOC provided.
Version 1.1, Oct 14, 1994:
==========================
Due to the zero feedback of the users (if any), bugs have neither been fixed
nor found. However, there are some improvements all over the ASEM-51 package:
Many ASEM data structures have been revised.
In version 1.0 the assembler symbol table was implemented as an ordinary
binary tree. With version 1.1 this has been replaced by an AVL tree that
is kept balanced all the time, without loss of speed. Furthermore the
memory consumption of the symbol table could be reduced by up to 25%.
HEXBIN has been optimized.
HEXBIN 2.1 now is running almost with twice the speed of version 2.0.
New stars are born!
That's why new processor definition files have been added to the
ASEM-51 package:
- 80C320.MCU DALLAS 25 MHz high-speed micro DS 80C320
- 83C515A.MCU enhanced SIEMENS microcontroller SAB 80C515A/83C515A-5
- 83C517A.MCU enhanced SIEMENS microcontroller SAB 80C517A/83C517A-5
ASEM_51.DOC has been updated accordingly and extended with an 8051
instruction table.
Version 1.0, Sep 13, 1994:
==========================
In the middle of September 94, we tried to post the first version of ASEM-51
in the Internet use-group "comp.binaries.ibm.pc". (Has anybody got it ???)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -