home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of A1200
/
World_Of_A1200.iso
/
programs
/
develop
/
hc11dev
/
docs
/
hitasm_history.txt
< prev
next >
Wrap
Text File
|
1995-02-27
|
10KB
|
198 lines
HitAsm history file.
Current version:
$VER: HitAsm_history 0.20 (26-Dec-93)
Credits:
Expression evaluation routines: Fredrick Karlsson
Main assembler, and all other routines: Richard Karlsson
History:
5.9.92 The first version released to the public. This one
works quite well as far as I have noticed, but I
expect a lot of bugs to be found yet. There is at
the moment no manual and the assembler does not
produce listfiles. I've now been working on this
assebler since the middle of july.
Version 0.11
10.9.92 Fixed a bug in the pseude op-codes DC.W and FDB,
which actually are synonyms for each other. Anyway
they should work now.
Version 0.12
10.11.92 Relative addressing (e.g. BSR) didn't produce out
of range errors in some cases before. This should
be fixed now.
Version 0.13
14.6.93 Fixed a bug that sometimes caused the assembler to
report a 'Out of 8 bit range' even though the value
checked wasn't. Also fiexed a bug that caused line
numbering to get screwed up if a IF was not
accepted. Also fixed a bug that made the assembler
lock if some IFs were not ended with a ENDC/ENDIF.
This now just reports as any other error. Till now
the assembler didn't report an error if a symbol
started with a number, but still it was impossible
to use that symbol. Now an error is reported.
16.6.93 Unmatched parenthesis now produce an error.
Everywhere a number is taken it's now allowed to
specify ASCII characters enclosed by >'<s or >"<s
(Example: Ldaa #'A' or Ldx #"Hi"). Symbols can't
contain any character anymore. Only A-Z, a-z, .
and _ are now allowed. The S19 file is now closed
before the Symboltable is printed, so it's now
possible to read the S19 file while the
symboltable is printing and thus save time. If the
assembler was used without producing a S19 file
opcodes relying on the internal PC during Pass2,
like all branches, would previously fail. This
should be fixed now.
19.6.93 Numbers are not allowed to end with %, @ or $ any
longer. This previously led to the number being
evaluated as zero, now it produces an error.
5.7.93 Version 0.14
31.7.93 S-record output now contains a S0 (Info) record
with the name of the source file.
3.8.93 The symbol table is now only generated if the -s switch
is present on the command line. The symbol table can
be redirected with the -f switch. S-Record filename must
now be preceeded by -r.
Version 0.15
6.8.93 Fixed a bug in the S0 record generation routine. Now the
checksum is calculated correctly and the name of the source
is given, not the name of the last loaded includefile that
has been the case till now.
Version 0.16
27.10.93 Started implementing macros. It's now possible to define
macros, but not to use them.
28.10.93 It's now possable to use macros, but they still produce no code.
It's now not possible to define multiple macros with the same name.
29.10.93 Continued working on implementing macros. While working on that
I by mistake stumbled over a nasty bug that I fixed. This bug
sometimes wrote random data into memory not owned by the assembler.
The strange thing is that I have never had the assembler crash. So
I'm not sure if this has ever been a real problem. Anyway, It's
fixed now.
30.10.93 One step closer to working macros. It was a lot more job than I
thought.
31.10.93 Macros now work. Up to ten arguments supported with "\x" where
x is the argument number "1" to "9" and "0" for tenth argument.
"\\" translates to "\". Macros can be nested to any depth. Macros
can be included in include files and include files can be included
in macros.
1.11.93 Fixed a bug in the memory handling routines that previously bugged
out when the computer ran out of memory. Then I completely rewrote
the memory handling routines bequase i thought the old ones where
too slow. But after a few hours work i now know that the new ones
only make the assembler about 2% faster. But I guess it's better
than nothing. I also fixed a bug that would screw up line numbering
when macros where used. That should be corrected now. And I also
put in a "\@" option that can be used in macros. This will be
substituted with a unique string every time the macro is called.
Use this with labels in macros to avoid double symbols.
2.11.93 Improved symbol handling routines and thus increased assembly
speed by approximately 144%. So it's more than double as fast now.
Quite an improvement.
3.11.93 Improved mnemonic recognition routines and thus increased assembly
speed by approximately 200%. So it's tree times faster than
yesterday.
7.11.93 Rewrote symbol handling routines again. This caused a small speed
gain and now the assembler takes a lot less memory when assembling.
Fixed a bug that caused the unique code ("\@") and macro arguments
to get garbled when macros were nested.
9.11.93 Added check for illegal characters, symboltable printout, double
symbol checking and suport for "SET" pseudo opcode in the new
symbolhandling routines. "SET" now checks that symbols that are to
be redifined are redefinable (i.e. they are defined by "SET", not
"EQU", "="...). It's now not possible to use redefinable symbols
before they are defined at pass 2. It's now possible to use
conditional assembly in macros. I've now implemented all the
features I know to macros. Fixed a bug that didn't allow ";" to
follow directly after labels. Added a progress indicator that shows
how many percent of the source that have been assembled. It's
only updated every fifth percent to minimize speed loss.
10.11.93 Reinserted support for labels to optionally end with a colon. It
had been lost in some revision. Till now assembly has stopped when
an error in the source has been found. Now assembly continues
and thus all errors are printed. Of cource this can sometimes
induce more errors that are dependant on some of the previous
errors. Added a "PROC" pseudo opcode that will let you change
for what processor to assemble code. For example "PROC Hc11" will
from the line this is found and forward assemble code for the Hc11
prcoessor. The only supported processor at the moment is "Hc11".
"Hc11" is always selected from the beginning (defult). So the
assembler has to change name again. It's now simply called "HitAsm".
Added the "IFD", and "IFND" pseudo opcodes. These are additions
to the conditional assembly already provided by HitAsm. "IFD"
(If Defined) only assembles if the expression following the op
is defined and "IFND" (If Not Defined) only assembles if the
expression is not defined (Eg. "IFD Test", will assembler code
following that line if there is a symbol named "Test"). As
with all conditional assembly every block is ended with "ENDC"
or "ENDIF". "ELSE" is allowed and unlimited nesting is allowed.
11.11.93 Added support for local labels. All labels that begin with a
"."-character are considered local. Fixed a bug that would screw
up pseudo sections (Pseudo ops CODE, AUTO, BSS, & RAM) if they
were not properly ORGed in the beginning of the source.
13.11.93 Added pass 1 and pass 2 list file output. It's now possible to
choose from the commandline whether symbols are case significant
or not, whether macro names are case significant or not, if the
progress indicator should be displayed, if assembly should stop
at first error or not, if include files should be listed in the
listfile or not, if macros should be expanded in the listfile
or not, and what character labels and symbols should be initiated
with to be considered local.
Version 0.17
16.11.93 Fixed a bug that would crash the assembler if an If-block was not
terminated or if an ENDC pseudo-op was found outside an If-block.
Also fixed some bugs concerning fatal errors (i.e. errors that will
stop assembly even though "all errors" mode is enabled). All these
bugs were introduced in version 0.17.
Version 0.18
22.11.93 Added parts of the Hc05 command set. Fixed a bug that would say
the assembler had an internal error every time a macro was used,
even thogh there was no error. Also removed some fractions of a
listfile that was generated even when no listfile was wanted. Till
now macros were sometimes mistaken for each other if their names
begun with the same characters. This is fixed now. Also removed
a bug that would give an error message if a symbol following an
"IfD" (If Defined) pseudo opcode was not defined.
Version 0.19
26.12.93 Fixed a bug in all the addressing modes that use relative addressing
but the _real_ relative addressing mode used in branches. Previously
you wouldn't get an error even though they vere out of range.
Version 0.20