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
18f22506ba
Added a test program to test the 16 bit shift ops.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5782 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-12 21:11:21 +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
6cdd8e7281
Rewrite code for arithmetic right shift.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5779 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-11 20:57:02 +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
7a0fa3ce67
Modifications for smaller code size.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5777 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-10 20:45:16 +00:00
uz
baa978d7a4
Adedd a few cross-references for the new cbm_k_ function descriptions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5776 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-09 19:44:40 +00:00
silverdr
1908158362
cbm_k_ functions documented
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5775 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-09 19:23:52 +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
c6db670be5
Rewrite to add an entry point for shraxy that doesn't need to pass values over
...
the stack.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5761 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-06 19:57:24 +00:00
uz
db8cac9501
Comment and tab fix. No code changes.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5760 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-06 19:56:42 +00:00
ol.sc
f9f660dd5d
Added functional Atari directory classification macros for file types from struct dirent contributed by Stefan A. Haubenthal.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5759 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-03 20:10:52 +00:00
ol.sc
c68d7de66e
This is C, not 6502 ;-))
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5758 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-03 20:00:01 +00:00
ol.sc
22c1376dd1
Added section on 'overlaydemo'.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5757 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-03 19:55:03 +00:00
uz
511b826dfd
Use 's' as default file type instead of 'u'.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5756 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-01 18:24:01 +00:00
uz
b7325f7abe
According to Greg King, Vorpal files are regular files.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5755 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-01 18:10:57 +00:00
uz
e1227aa402
Fix list of CBM kernal level functions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5754 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-01 12:50:05 +00:00
uz
ec8234c521
Fixed naming of cbm_clall.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5752 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-01 12:45:26 +00:00
uz
e03feeefae
Unified names of CBM kernal level functions and completed the list of
...
functions in the cbm.h header file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5750 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-01 12:36:44 +00:00
uz
af799c922f
Fixed wrong filename for module c_getin.s
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5748 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-01 11:32:59 +00:00
uz
49542644df
Added missing function cbm_k_getin, which was in cbm.h but an implementation
...
was missing.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5747 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-01 11:30:41 +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
3e95d3048f
Ignore generated files.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5745 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-29 15:05:04 +00:00
ol.sc
c6ee5a8418
Added dummy classification macros for the remaining targets - even for those that don't have the field 'd_type'.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5744 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-25 20:23:54 +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
uz
b9ffe5de13
Add another entry point to the shift left routine, that shifts A/X by Y
...
without going over the stack.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5742 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 22:04:00 +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
ol.sc
9b56f8086b
Made overlaydemo compatible with the Atari:
...
- 8.3 overlay filenames
- exit only after keypress
git-svn-id: svn://svn.cc65.org/cc65/trunk@5740 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 21:15:39 +00:00
ol.sc
1bafd55557
Minor adjustment to Apple II coding style (two spaces for macro definitions).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5739 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 19:59:49 +00:00
ol.sc
15546f8880
Added Apple II classification macros for file types from struct dirent.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5738 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 19:49:15 +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
7aefd9b4e7
Added classification macros for file types from struct dirent.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5736 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 14:23:33 +00:00
uz
5bc67cdaee
Move definitions for CBM file types into its own header file, since these
...
definitions are needed for file type macros in dirent.h. Unify names for the
include files.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5735 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 13:52:06 +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