home *** CD-ROM | disk | FTP | other *** search
- 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
-