Since
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
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
,
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.
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
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
Files ASEM.PIF and ASEM.ICO have been added to simplify the
Device names that are passed to ASEM or HEXBIN as command line parameters may but need no longer be terminated with a ':' character.
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 |
The bootstrap program
An “