Reported bugs fixed in version 1.18

- Did not evaluate 0-X to 2's compliment notation.  0-X is now evaluated to
  100H-X for byte operands, and 10000H-X for word operands.  For example the
  instruction: MOV A,#0-5 will now evaluate to MOV A,#251

- Expressions such as the following: CTIME-2 evaluated improperly.  The
  original equation evaluation trapped the E-2 in CTIME-2, as an exponent.
  This has been fixed (exponents can no longer be specified, not that they
  were needed in the first place).

- Simulation of the ORL P2,#Value instruction did not execute properly.  It
  would be simulated as follows: P2 = P1 or Value.  One of the pit falls of
  the editors cut and paste.  This has been fixed.

- Version 1.18 no longer requires you to specify a home directory to locate
  the help files.  It now looks at the command line passed by DOS to locate
  the directory where the 8048.EXE program resides.  This is not actually a
  bug but makes it a little more convenient when working with files in
  directories other than the one containing the 8048.EXE program.

- Availability of the 8748 chip programmer is now mentioned in the online
  manual (sorry but it isn't available at this time).  Press <CTRL><F1>
  to get the main index, go to Programmer, and read the opening paragraph.

Reported bugs fixed in version 1.19

- Simulation of the ANL P2,#Value instruction did not execute properly.  It
  would be simulated as follows: P2 = P1 and Value.  One of the pit falls of
  the editors cut and paste.  This has been fixed.

Reported bugs fixed by version 1.22

- Block copies when cursor was not at the start of a line would cause the
  editors buffer pointer to get out of sync with the screen cursor.  This
  would cause characters on the line to be redisplayed improperly when
  moving the cursor with the arrow keys.

- Using the TAB key while in over type mode would cause a similar problem
  to the block copy error given above.

Reported bugs fixed by version 1.23

- The code sequence (and similar code)

			D1      EQU     32

				MOV     R3,#8
			D1:     MOV     A,#2
				DJNZ    R3,D1

  would assemble without error and would use the value of the equated D1
  as the address in the DJNZ (or any other address related) instruction.
  A symbol (equated name) can no longer be the same as a label name.

Changes introduced in version 1.24

- The text editor buffer has been increased from 62000 bytes to 65000.

- An assembler directive to change the default conversion radix from
  decimal to Hex or Binary has been added.  The usage is as follows:

    RADIX DEC - sets the default conversion radix to decimal
    RADIX HEX - sets the default conversion radix to hexadecimal
    RADIX BIN - sets the default conversion radix to binary.

Changes in version 1.25

- Context sensitive help would sometimes cause the program to bomb with a
  stack overflow in certain instances.  The usage of the stack by the
  help functions has been significantly reduced to prevent this problem
  from reoccurring.

Changes in version 1.26

- The Auxiliary Carry flag was not properly set after an ADD or ADDC
  instruction.  This bug has been fixed.

- An INCLUDE command has been added to the list of assembler directives.
  The format for the include directive is:

    INCLUDE "filename.ext"

  The name of the included file must be enclosed in quotes.  No extension
  is assumed and must therefor be specified.  This should hopefully
  reduce some of the 62k text buffer size limitation of the editor.
  
  This directive is only available in registered versions of the program.

Changes in version 1.27

- The DA A instruction did not always leave the Accumulator, Carry flag
  and the Auxiliary carry flag in the proper state.  Certain combinations
  of values added resulted in incorrect results.  This bug has been fixed
  and verified with the actual operation of an 8039 processor.

- Modified Trace Over (F8) and Run To (F4) functions to simulate code
  significantly faster.  The keyboard is checked for an ESC key every
  500 instructions in stead of every instruction.  Checking for a key
  press is more process intense than I originally thought.

- Support for the INCLUDE directive has been added to the Simulator.
  Previously the only practical use for the INCLUDE directive was for
  equates and other constants which were lines of code not executed
  by the by the simulator.

- The program now looks in the 8048 home directory for the key
  registration file.  This will be more convenient now that new
  features added to the program will be available to registered
  users only.

Changes in version 2.00

- Significantly increased the editor capabilities.  See the online help
  for a list of editor commands.

- Added support for the 8741 and 8742 UPI controllers.

Changes in version 2.01

- Added mouse support for menu and editor selection/functions.

Changes in version 2.02

- Fixed a bug in the editor which would sometimes clear the line below the
  cursor when deleting characters on the current line.

- Registration is no longer required.  All functions are available in the
  unregistered version.  The program is now free of charge.

Changes in version 2.03

- Fixed a bug in the assembler which caused the instructions XCH, XCHD and
  XRL to be ignored.  This bug crept into the code at some point in the
  revision history.

Changes in version 2.04

- Fixed a bug in the simulator which would cause it to exit to the editor
  when pressing F7 or F8 on unassebled code.  It would also cause an A to
  be inserted into the editor text.  The simulator now correctly assembles
  the code and starts simulation.

Changes in version 2.08

- Fixed a bug which would incorrectly report an error stating the program code
  exceeded available memory when it didn't.  Code was generated properly
  even when the errorwas reported.

