home *** CD-ROM | disk | FTP | other *** search
/ World of A1200 / World_Of_A1200.iso / programs / develop / hc11dev / docs / hitasm_history.txt < prev    next >
Text File  |  1995-02-27  |  10KB  |  198 lines

  1. HitAsm history file.
  2.  
  3. Current version:
  4. $VER: HitAsm_history 0.20 (26-Dec-93)
  5.  
  6. Credits:
  7. Expression evaluation routines:         Fredrick Karlsson
  8. Main assembler, and all other routines: Richard Karlsson
  9.  
  10. History:
  11. 5.9.92   The first version released to the public. This one
  12.          works quite well as far as I have noticed, but I
  13.          expect a lot of bugs to be found yet. There is at
  14.          the moment no manual and the assembler does not
  15.          produce listfiles. I've now been working on this
  16.          assebler since the middle of july.
  17.  
  18.          Version 0.11
  19.  
  20. 10.9.92  Fixed a bug in the pseude op-codes DC.W and FDB,
  21.          which actually are synonyms for each other. Anyway
  22.          they should work now.
  23.  
  24.          Version 0.12
  25.  
  26. 10.11.92 Relative addressing (e.g. BSR) didn't produce out
  27.          of range errors in some cases before. This should
  28.          be fixed now.
  29.  
  30.          Version 0.13
  31.  
  32. 14.6.93  Fixed a bug that sometimes caused the assembler to
  33.          report a 'Out of 8 bit range' even though the value
  34.          checked wasn't. Also fiexed a bug that caused line
  35.          numbering to get screwed up if a IF was not
  36.          accepted. Also fixed a bug that made the assembler
  37.          lock if some IFs were not ended with a ENDC/ENDIF.
  38.          This now just reports as any other error. Till now
  39.          the assembler didn't report an error if a symbol
  40.          started with a number, but still it was impossible
  41.          to use that symbol. Now an error is reported.
  42.  
  43. 16.6.93  Unmatched parenthesis now produce an error.
  44.          Everywhere a number is taken it's now allowed to
  45.          specify ASCII characters enclosed by >'<s or >"<s
  46.          (Example: Ldaa #'A' or Ldx #"Hi"). Symbols can't
  47.          contain any character anymore. Only A-Z, a-z, .
  48.          and _ are now allowed. The S19 file is now closed
  49.          before the Symboltable is printed, so it's now
  50.          possible to read the S19 file while the
  51.          symboltable is printing and thus save time. If the
  52.          assembler was used without producing a S19 file
  53.          opcodes relying on the internal PC during Pass2,
  54.          like all branches, would previously fail. This
  55.          should be fixed now.
  56.  
  57. 19.6.93  Numbers are not allowed to end with %, @ or $ any
  58.          longer. This previously led to the number being
  59.          evaluated as zero, now it produces an error.
  60.  
  61. 5.7.93   Version 0.14
  62.  
  63. 31.7.93  S-record output now contains a S0 (Info) record
  64.          with the name of the source file.
  65.  
  66. 3.8.93   The symbol table is now only generated if the -s switch
  67.          is present on the command line. The symbol table can
  68.          be redirected with the -f switch. S-Record filename must
  69.          now be preceeded by -r.
  70.  
  71.          Version 0.15
  72.  
  73. 6.8.93   Fixed a bug in the S0 record generation routine. Now the
  74.          checksum is calculated correctly and the name of the source
  75.          is given, not the name of the last loaded includefile that
  76.          has been the case till now.
  77.  
  78.          Version 0.16
  79.  
  80. 27.10.93 Started implementing macros. It's now possible to define
  81.          macros, but not to use them.
  82.  
  83. 28.10.93 It's now possable to use macros, but they still produce no code.
  84.          It's now not possible to define multiple macros with the same name.
  85.  
  86. 29.10.93 Continued working on implementing macros. While working on that
  87.          I by mistake stumbled over a nasty bug that I fixed. This bug
  88.          sometimes wrote random data into memory not owned by the assembler.
  89.          The strange thing is that I have never had the assembler crash. So
  90.          I'm not sure if this has ever been a real problem. Anyway, It's
  91.          fixed now.
  92.  
  93. 30.10.93 One step closer to working macros. It was a lot more job than I
  94.          thought.
  95.  
  96. 31.10.93 Macros now work. Up to ten arguments supported with "\x" where
  97.          x is the argument number "1" to "9" and "0" for tenth argument.
  98.          "\\" translates to "\". Macros can be nested to any depth. Macros
  99.          can be included in include files and include files can be included
  100.          in macros.
  101.  
  102. 1.11.93  Fixed a bug in the memory handling routines that previously bugged
  103.          out when the computer ran out of memory. Then I completely rewrote
  104.          the memory handling routines bequase i thought the old ones where
  105.          too slow. But after a few hours work i now know that the new ones
  106.          only make the assembler about 2% faster. But I guess it's better
  107.          than nothing. I also fixed a bug that would screw up line numbering
  108.          when macros where used. That should be corrected now. And I also
  109.          put in a "\@" option that can be used in macros. This will be
  110.          substituted with a unique string every time the macro is called.
  111.          Use this with labels in macros to avoid double symbols.
  112.  
  113. 2.11.93  Improved symbol handling routines and thus increased assembly
  114.          speed by approximately 144%. So it's more than double as fast now.
  115.          Quite an improvement.
  116.  
  117. 3.11.93  Improved mnemonic recognition routines and thus increased assembly
  118.          speed by approximately 200%. So it's tree times faster than
  119.          yesterday.
  120.  
  121. 7.11.93  Rewrote symbol handling routines again. This caused a small speed
  122.          gain and now the assembler takes a lot less memory when assembling.
  123.          Fixed a bug that caused the unique code ("\@") and macro arguments
  124.          to get garbled when macros were nested.
  125.  
  126. 9.11.93  Added check for illegal characters, symboltable printout, double
  127.          symbol checking and suport for "SET" pseudo opcode in the new
  128.          symbolhandling routines. "SET" now checks that symbols that are to
  129.          be redifined are redefinable (i.e. they are defined by "SET", not
  130.          "EQU", "="...). It's now not possible to use redefinable symbols
  131.          before they are defined at pass 2. It's now possible to use
  132.          conditional assembly in macros. I've now implemented all the
  133.          features I know to macros. Fixed a bug that didn't allow ";" to
  134.          follow directly after labels. Added a progress indicator that shows
  135.          how many percent of the source that have been assembled. It's
  136.          only updated every fifth percent to minimize speed loss.
  137.  
  138. 10.11.93 Reinserted support for labels to optionally end with a colon. It
  139.          had been lost in some revision. Till now assembly has stopped when
  140.          an error in the source has been found. Now assembly continues
  141.          and thus all errors are printed. Of cource this can sometimes
  142.          induce more errors that are dependant on some of the previous
  143.          errors. Added a "PROC" pseudo opcode that will let you change
  144.          for what processor to assemble code. For example "PROC Hc11" will
  145.          from the line this is found and forward assemble code for the Hc11
  146.          prcoessor. The only supported processor at the moment is "Hc11".
  147.          "Hc11" is always selected from the beginning (defult). So the
  148.          assembler has to change name again. It's now simply called "HitAsm".
  149.          Added the "IFD", and "IFND" pseudo opcodes. These are additions
  150.          to the conditional assembly already provided by HitAsm. "IFD"
  151.          (If Defined) only assembles if the expression following the op
  152.          is defined and "IFND" (If Not Defined) only assembles if the
  153.          expression is not defined (Eg. "IFD Test", will assembler code
  154.          following that line if there is a symbol named "Test"). As
  155.          with all conditional assembly every block is ended with "ENDC"
  156.          or "ENDIF". "ELSE" is allowed and unlimited nesting is allowed.
  157.  
  158. 11.11.93 Added support for local labels. All labels that begin with a
  159.          "."-character are considered local. Fixed a bug that would screw
  160.          up pseudo sections (Pseudo ops CODE, AUTO, BSS, & RAM) if they
  161.          were not properly ORGed in the beginning of the source.
  162.  
  163. 13.11.93 Added pass 1 and pass 2 list file output. It's now possible to
  164.          choose from the commandline whether symbols are case significant
  165.          or not, whether macro names are case significant or not, if the
  166.          progress indicator should be displayed, if assembly should stop
  167.          at first error or not, if include files should be listed in the
  168.          listfile or not, if macros should be expanded in the listfile
  169.          or not, and what character labels and symbols should be initiated
  170.          with to be considered local.
  171.  
  172.          Version 0.17
  173.  
  174. 16.11.93 Fixed a bug that would crash the assembler if an If-block was not
  175.          terminated or if an ENDC pseudo-op was found outside an If-block.
  176.          Also fixed some bugs concerning fatal errors (i.e. errors that will
  177.          stop assembly even though "all errors" mode is enabled). All these
  178.          bugs were introduced in version 0.17.
  179.  
  180.          Version 0.18
  181.  
  182. 22.11.93 Added parts of the Hc05 command set. Fixed a bug that would say
  183.          the assembler had an internal error every time a macro was used,
  184.          even thogh there was no error. Also removed some fractions of a
  185.          listfile that was generated even when no listfile was wanted. Till
  186.          now macros were sometimes mistaken for each other if their names
  187.          begun with the same characters. This is fixed now. Also removed
  188.          a bug that would give an error message if a symbol following an
  189.          "IfD" (If Defined) pseudo opcode was not defined.
  190.  
  191.          Version 0.19
  192.  
  193. 26.12.93 Fixed a bug in all the addressing modes that use relative addressing
  194.          but the _real_ relative addressing mode used in branches. Previously
  195.          you wouldn't get an error even though they vere out of range.
  196.  
  197.          Version 0.20
  198.