uz
f90fa9cc29
Make the old "AllocNew" flag for symbols an enum and add an additional flag
...
that allows to lookup a symbol without any flags added to it.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5884 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-27 19:50:49 +00:00
uz
a3ae2e9125
Minor code optimization.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5883 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-27 19:32:42 +00:00
uz
757b400aa1
The message "Dropping x additional line infos" had been displayed even if
...
there weren't any more line infos to display, because they had the wrong type.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5882 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-27 19:16:35 +00:00
uz
0cbc81161c
Fixed a problem with the last change: Sym wasn't always NULL when it should
...
have been.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5881 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-27 15:47:49 +00:00
uz
acb3fcb9c7
Fixed a problem reported by thefox: A symbol reference with an explicit scope
...
specification that is used when the scope is already closed, has be made a
trampoline symbol later, referencing a symbol outside of the scope explicit
specified.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5880 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-27 11:49:37 +00:00
ol.sc
8a5430d138
Added C128 overlay linker config.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5831 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-30 14:53:12 +00:00
ol.sc
d080bea30f
Minimal formatting adjustment.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5830 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-30 14:18:47 +00:00
uz
e6b52ee8d0
Fixed a bug reported by thefox: The .CHARMAP command must not accept indices
...
or character codes with a value of zero. The assembler runs into a CHECK in
tgttrans anyway if the index is zero.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5826 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-17 15:09:39 +00:00
karri
2222df9143
Shring the bootloader by 20 bytes and remove restrictions on file size
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5824 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-11 13:01:39 +00:00
uz
574c8fa273
Added a "fillval" attribute to the segment definition. When given, it
...
overrides the value from the memory area for all space that lies within the
segment itself.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5823 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-09 19:00:43 +00:00
uz
5693df8bf2
Do not try to dump an expression that has errors (circular references in this
...
case) because the dump routine doesn't detect this and runs into an endless
recursion.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5811 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-08-22 21:24:54 +00:00
uz
c1bbf69d72
New option --relax-checks that disable the check for a match beween size oif
...
an expression and the address size. Will allow short branches between segments
among other things. Suggested by Spiro Trikaliotis.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5810 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-08-20 20:07:05 +00:00
uz
5fe9e2c3b3
Don't add the current directory to the list of search paths. If the main file
...
is located there, it is added anyway. If the main file is located elsewhere,
we don't want to search in the current directory.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5803 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-08-01 21:44:36 +00:00
uz
148363810b
Don't add the current directory to the list of search paths. If the main file
...
is located there, it is added anyway. If the main file is located elsewhere,
we don't want to search in the current directory.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5802 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-08-01 21:42:26 +00:00
uz
3c9f722fbf
Fixed a problem with a memcpy optimization (source and target have been
...
swapped).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5796 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-28 12:26:57 +00:00
uz
6345c4ee25
Fixed an error in the macro package that prevented the macros to work
...
correctly. The short forms of the jumps were never choosen. The error was
introduced with release 3176 in 2004(!) and reported by thefox.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5787 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-17 18:30:05 +00:00
uz
b4214634b2
Permit the .string builtin function to work with scoped identifiers.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5786 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-17 18:28:07 +00:00
uz
eef430e45a
Fixed a problem with the optimizations for shifts.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5783 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-12 21:12:50 +00:00
uz
49e5d19950
Added an option to output the assembly after each transformation step of the
...
optimizer.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5781 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-12 20:30:01 +00:00
uz
44f965c462
Enable optimization for arithmetic right shift. NOTE: There's a bug lingering
...
in the shift code optimization which needs fixing.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5780 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-11 20:58:29 +00:00
uz
40a3084553
Add another form of duplicate load removal.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5778 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-10 20:46:21 +00:00
uz
58530c142a
Rearrange order of opt steps for better efficiency.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5774 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-08 21:56:01 +00:00
uz
59ae850db7
Replacement in OptShift3 is even possible, when X is used later.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5773 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-08 13:05:57 +00:00
uz
440cc47770
Fixed an error.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5772 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-07 22:22:59 +00:00
uz
3365220827
Added optimization for complax.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5771 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-07 19:54:24 +00:00
uz
49905d74bd
More shift optimizations.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5770 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-07 19:24:17 +00:00
uz
ae42e3b491
Added a comment.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5769 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-07 19:09:23 +00:00
uz
a27bc7774e
Start adding stuff that optimizes the new shift functions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5768 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-07 17:56:39 +00:00
uz
859236615e
Ignore a few more "harmless" functions when optimizing.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5767 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-07 17:36:15 +00:00
uz
4139c83abf
Move the optimization routines for shifts into a separate module.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5766 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-07 15:21:12 +00:00
uz
cd4f87b2cc
Fixed compiler warnings.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5765 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-06 20:02:43 +00:00
uz
e50649af2c
Transform tosshlax and friends into a sequence that doesn't use the stack if
...
possible.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5764 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-06 20:01:46 +00:00
uz
5f0db62f58
Added info for new shift routines that don't use the stack.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5763 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-06 20:00:22 +00:00
uz
da766d872c
Small code changes for more safety (and to be compatible with the new shift
...
routines that don't use the stack).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5762 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-06 19:59:29 +00:00
uz
43ea0e3df9
Move evaluation of the argument for .BANK into the linker. It is otherwise too
...
restricted, since no imported symbols may be used.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5746 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-30 17:18:03 +00:00
uz
92a0632634
Added register info for the aslaxy and shlaxy routines.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5743 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 22:05:56 +00:00
ol.sc
e3fb0233c8
Added secondary linker config for Atari overlays (located below main program like Apple II).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5741 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 21:23:25 +00:00
uz
43d0d2fb78
Special handling for a few more runtime functions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5737 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 14:29:27 +00:00
uz
87d19de33f
OptSize2 needs an extra removal of duplicate transfers.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5734 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-23 19:34:48 +00:00
uz
ec900bc200
Centralize generation of register infos for a code segment. This means that
...
all optimizer functions can rely on it.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5733 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-23 17:33:31 +00:00
uz
d5810a818c
Added two replacements for negax. Shift right for signed values can be treated
...
like unsigned if X is known to be zero.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5732 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-23 16:58:05 +00:00
uz
4333c76710
The OptNegXXX function were actually handling bnega... runtime stuff. Renamed
...
them accordingly.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5731 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-23 16:17:56 +00:00
ol.sc
bb41dccfe3
Added secondary linker config for Apple2 overlays (like C64).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5730 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 23:09:20 +00:00
ol.sc
f6ab932b32
The Apple2 linker configs *-loader.cfg only differed in the presumed HIMEM from the default config. Rather have that value adjustable.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5728 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 22:48:45 +00:00
ol.sc
4647e98071
Adjusted comment to recent changes.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5727 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 22:24:06 +00:00
ol.sc
610bb14988
Avoid mixing of memory areas and segments in address computations (and made move of segment INIT somewhat more readable).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5726 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 22:13:58 +00:00
ol.sc
7691da610b
I just don't like 'file = "" '.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5725 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 21:12:56 +00:00
ol.sc
b7b7de55d0
Replaced "throwing away" of memeory area HEADER with the much more elegant "not referring" of symbol __EXEHDR__. This was recently made possible for the asm program config.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5724 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 21:06:13 +00:00
ol.sc
094ffa1984
Renamed segment 'HIGHCODE' to 'LC because:
...
1. Its use isn't limited to code. It may as well be used for rodata.
2. This fits better to the new __LCADDR__ / __LCSIZE__ parameters.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5723 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 20:57:49 +00:00
ol.sc
c9555b328a
The Apple2 linker configs basically cover two dimension of settings:
...
1. BIN vs. SYS vs. Loader
2. With Quit code vs. w/o Quit code vs. full LC
Up two now these two dimensions were sort of folded into a number of useful combinations. However with the new asm config and the upcominger overlay config we end up with just to many configs.
Therefore now the second dimension isn't expressed anymore as distinct config. Rather the user has to override __LCADDR__ and __LCSIZE__ in order use the Quite code area or the full LC.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5722 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 20:36:34 +00:00