Mercurial > hg-old > index.cgi
view ChangeLog @ 233:efda73d44e1b
Updated discussion of assembly dialects
author | lost |
---|---|
date | Fri, 12 Jun 2009 04:54:12 +0000 |
parents | 0df2a39a268c |
children | aa0056ca7319 |
line wrap: on
line source
The following includes the various changes in each release of LWTOOLS. Each item is prefixed by a flag in []. The flags mean: [*] Project structure or other "meta" change [!] critical bug fix - code generation error, etc. [+] new feature [-] feature removed [b] minor bugfix [ ] general improvement Also, the software affected may follow in []. Version 2.5 [!] Fixed error in the fix for invalid operands included in 2.4 [LWASM] [b] Fixed bug with "include" directive operand parsing [LWASM] [b] Fixed additional parsing errors with pseudo ops [LWASM] [+] Added includebin directive to include the literal contents of a binary file at the current assembly address. [LWASM] [+] Added || and && as boolean or and boolean and respectively [LWASM] [+] Added COPY, COPY-, IMP, EXP, TFRP, TFRM, TFRS, TFRR as alternatives to the TFM instruction variations for compatibility with other assemblers [LWASM] [+] Added --6809/-9 switch to cause 6309 instructions to be rejected; also included --6309/-3 switch to force default allow of 6309 instructions [LWASM] [ ] Fixed a few cosmetic issues with error reporting Version 2.4 [!] Fixed off by one relocation offest for base page external references generated by lwasm [LWASM] [b] Fixed segfault in "extern" pseudo op and allowed a symbol list as the operand just like "export" [LWASM] [b] Fixed lack of error when there are extraneous characters at the end of the operand. This did not cause incorrect code generation for correct code but would silently generate incorrect code for some easy errors [+] 8 bit immediate operands can now be external references [LWASM] Version 2.3 [*] added support for compiling using MinGW and added portions of gnulib to support argp, among other things. Yah! A Windows build! [+] added library search path (-L) and library specification (-l) to LWLINK [+] added ability to specify section base addresses on the command line to LWLINK (they get prepended to the built in link script) [+] added ability to output a "linkmap" to lwlink (--map, -m) [+] added LWEX0 (LWOS simple binary) target to LWLINK [+] added ability to extract files in LWAR [+] added ability to "replace" members in LWAR [+] added support for "sym=expr" in the opcode field; this will define a global symbol (non-section) if it resolves to a constant [+] added operator ~ as a prefix operator for a 1s complement in LWASM [+] allow exporting multiple symbols (export sym,sym,sym...) [+] allow extern references in base page addresing mode, possibly buggy still (LWASM) [+] handle 8 bit external references, possibly buggy still (LWLINK) [+] arranged for unused members of library files (archives) to be ignored during linking to keep the final size of the binary down (LWLINK) [b] arranged for output files for lwasm/lwlink to be removed if the assembly or linking fails [b] fixed incorrect handling of library search path which caused only the last directory to ever matter [ ] DECB output of LWLINK now collapses contiguous output blocks into single single blocks in the output file; this eliminates the explosion of preambles that previously occurred [ ] LWLINK now displays *all* undefined symbols and references instead of bailing out after the first one Version 2.2 [*] created LWAR to manage library/archive files [+] cescapes pragma to allow C-style string escapes in FCC, FCS, and FCN [+] .area alias for SECTION [+] .globl alias for EXPORT; also accept name of symbol as operand [+] various compatibility directive aliases for FCB, FDB, FQB, RMB, FCC, FCS, and FCN [+] accept "*" has a prefix for base page addressing mode [+] sections named "bss" or ".bss" in any case are now assumed to be BSS sections. The "!bss" flag can be used to remove that assumption. [+] ignore lines starting with # to permit C pre-processor output to be used as input to lwasm [+] allow "0x" and "0X" as prefixes to identify hexadecimal numbers [+] added support for a simple library/archive file format to LWLINK [b] actually show assembly errors when no list requested [b] pragma and --pragma now actually take multiple pragmas as documented Version 2.1 [*] merged LWLINK (1.0) and LWASM to create LWTOOLS [+] [LWASM] pragmas can be specified on the command line [+] [LWASM] undefextern pragma added (undefined symbols treated as external) [+] documentation [b] [LWASM] made pragmas case insensitive [b] [LWASM] made EXTERN symbols never be part of a section in symbol table LWASM Version 2.0 [*] major rewrite of the entire assembler [+] object file support LWLINK Version 1.0 [*] initial released version