⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 release.130

📁 一份51的编译程序,dos版本的. 英文名字MCS-51 Microcontroller Family Macro Assembler
💻 130
📖 第 1 页 / 共 2 页
字号:
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 + -