1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-24 11:31:31 +00:00
Commit Graph

118 Commits

Author SHA1 Message Date
uz
db69c202a4 Oh well. Decided to throw away the separate implementation for leaa0sp,
because it's not used too much, may sometimes inlined and can easily be
replaced by another entry in leaaxsp.s


git-svn-id: svn://svn.cc65.org/cc65/trunk@4092 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-31 12:22:13 +00:00
uz
bf9d36a2fa Renamed leaasp.s again, this time to leaa0sp.s. Added a new module leaaxsp.s.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4091 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-31 12:15:51 +00:00
uz
a1dd468291 Renamed leasp.s to leaasp.s
git-svn-id: svn://svn.cc65.org/cc65/trunk@4090 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-31 12:10:59 +00:00
uz
c4763e9007 Special cased the division 16 by 8.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4043 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-19 14:51:16 +00:00
uz
acd1233bf2 Greatly improved multiplication routine. Optimized the generic 16x16 one and
added special cases for 8x16 and 8x8. The former is directly called by the
compiler as tosmula0 and tosumula0 resp.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4036 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-17 20:48:28 +00:00
uz
bfc8bd6d74 Added an entry point that clears the high word of rhs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4027 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-16 16:38:52 +00:00
uz
aa7d419165 More entry points for long ops that clear the high word of the lhs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4025 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 21:06:06 +00:00
uz
b1f772e9be Added additional entry points that clear the high word of the right operand.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4023 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 20:58:35 +00:00
uz
6a26b6e3b4 Added tosicmp0, a special entry point that clears the X register.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4005 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 22:08:28 +00:00
uz
3c168b4323 A few minor 65C02 optimizations.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3944 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 15:39:19 +00:00
uz
4812feb44b git-svn-id: svn://svn.cc65.org/cc65/trunk@3863 b7a2c559-68d2-44c3-8de9-860c34a00d81 2008-08-02 22:02:54 +00:00
cuz
a47008cca0 Fixed a bug: Byte three of the remainder was overwritten by byte 4.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3796 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-08-26 17:25:21 +00:00
cuz
d3ac084997 Add the ltest module to the makefile
git-svn-id: svn://svn.cc65.org/cc65/trunk@3675 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-28 14:55:45 +00:00
cuz
eeddbed25b File was removed but is still needed.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3671 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-27 22:03:19 +00:00
cuz
5cf71b0dea Removed obsolete modules
git-svn-id: svn://svn.cc65.org/cc65/trunk@3582 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-13 21:21:31 +00:00
cuz
82751788fd Fixed a bug: Divisions with a divisor > 0xFFFFFF did not work because the
high byte of the divisor was overwritten instead of the high byte of the
result.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3525 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-05 21:01:34 +00:00
cuz
3c4cd1fff9 Call interrupt handlers with carry clear
git-svn-id: svn://svn.cc65.org/cc65/trunk@3499 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-05 10:07:17 +00:00
cuz
cbdcab4fdb Change the sematics of callirq and the existing interruptors: The interrupts
must now return carry set if the interrupt has been handled, and carry clear
if not. The callirq routine will stop calling handlers with the first handler
that claims to have handled the interrupt. callirq will return the carry flag
to the caller as it came from the last interruptor called.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3491 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-25 20:10:10 +00:00
cuz
6ec87c5dd9 Move initialization code into the init segment
git-svn-id: svn://svn.cc65.org/cc65/trunk@3404 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-26 09:06:46 +00:00
cuz
303304fe90 Add definitions for tools so the makefile is useful by itself.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3262 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-26 19:28:26 +00:00
cuz
cfef8e1e0d Renamed __IRQFUNC_xxx -> __INTERRUPTOR_xxx
git-svn-id: svn://svn.cc65.org/cc65/trunk@3189 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-20 10:24:59 +00:00
cuz
a4c4e995a3 Added lasr.o
git-svn-id: svn://svn.cc65.org/cc65/trunk@3144 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-05 22:38:21 +00:00
cuz
c122f18605 New code for the shift functions
git-svn-id: svn://svn.cc65.org/cc65/trunk@3143 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-05 22:24:06 +00:00
cuz
368cdbf115 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@2975 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-05 13:36:10 +00:00
cuz
61238a6c4c Small fix
git-svn-id: svn://svn.cc65.org/cc65/trunk@2971 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-04 14:29:10 +00:00
cuz
526b10147d Added a specialized callirq routine
git-svn-id: svn://svn.cc65.org/cc65/trunk@2968 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-04 14:15:45 +00:00
cuz
e4554505d6 Optimized the condes routine, because it is used to schedule interrupt
handlers on many platforms, so too many cycles are evil.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2962 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-25 07:58:58 +00:00
cuz
f210f6db1c Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@2757 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-14 18:57:08 +00:00
cuz
9f48c6509c Don't use callax because condes is called in interrupt handlers
git-svn-id: svn://svn.cc65.org/cc65/trunk@2755 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-14 17:41:27 +00:00
cuz
99cca3618c Use new assembler syntax
git-svn-id: svn://svn.cc65.org/cc65/trunk@2629 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-09 23:00:22 +00:00
cuz
6d8cdae722 Runtime function improvements by Piotr Fusik
git-svn-id: svn://svn.cc65.org/cc65/trunk@2577 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-10-28 08:47:47 +00:00
cuz
23c35f27f8 Improved 65c02 support
git-svn-id: svn://svn.cc65.org/cc65/trunk@2507 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-10-10 17:52:12 +00:00
cuz
5cc79eaf15 Squeezed a few bytes out of the code
git-svn-id: svn://svn.cc65.org/cc65/trunk@2480 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-10-08 21:09:24 +00:00
cuz
a3109620ab Changed rm -f to $(RM)
git-svn-id: svn://svn.cc65.org/cc65/trunk@2385 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-08-20 11:59:27 +00:00
cuz
43f59de557 Redid the last change, because it was bug (A must be saved across the call)
git-svn-id: svn://svn.cc65.org/cc65/trunk@2157 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-05-13 10:00:39 +00:00
cuz
1cdb90926a Replaced the incsp functions by faster (but slightly larger) versions
git-svn-id: svn://svn.cc65.org/cc65/trunk@2146 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-05-04 22:34:16 +00:00
cuz
c2f5cb7cce Added some cycle counts
git-svn-id: svn://svn.cc65.org/cc65/trunk@2043 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-04-12 20:50:58 +00:00
cuz
9257570050 New module
git-svn-id: svn://svn.cc65.org/cc65/trunk@2010 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-03-07 11:53:17 +00:00
cuz
2a567c4a32 Removed an unused constant.
Added an empty EXTZP segment.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1986 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-16 14:31:03 +00:00
cuz
a8810a464d Make sure the zap target is available
git-svn-id: svn://svn.cc65.org/cc65/trunk@1932 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-06 15:35:30 +00:00
cuz
82a0184c26 Use callay instead of jmpvec
git-svn-id: svn://svn.cc65.org/cc65/trunk@1850 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-26 16:00:35 +00:00
cuz
9e2c7bc1df Moved jmpvec into a separate module
git-svn-id: svn://svn.cc65.org/cc65/trunk@1848 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-26 15:45:48 +00:00
cuz
e1385c925a New functions to swap register variables
git-svn-id: svn://svn.cc65.org/cc65/trunk@1629 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-25 12:38:38 +00:00
cuz
222d3d1f23 Rewrite
git-svn-id: svn://svn.cc65.org/cc65/trunk@1605 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-23 16:21:46 +00:00
cuz
56350d81e0 Fixed a bug in pushw0sp
git-svn-id: svn://svn.cc65.org/cc65/trunk@1604 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-23 16:21:35 +00:00
cuz
3650422769 New module
git-svn-id: svn://svn.cc65.org/cc65/trunk@1602 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-23 11:19:51 +00:00
cuz
e77a39b2cd exit() is __fastcall__
git-svn-id: svn://svn.cc65.org/cc65/trunk@1567 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 00:38:52 +00:00
cuz
2275e4c2a8 Moved divt.s from runtime into common because it's a C library function, not a
runtime support function.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1479 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-02 10:52:36 +00:00
cuz
1ee3ccfdc2 Added new div() function written by Greg King
git-svn-id: svn://svn.cc65.org/cc65/trunk@1469 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-25 20:42:18 +00:00
cuz
82684d98fb Minor optimization suggested by Greg King
git-svn-id: svn://svn.cc65.org/cc65/trunk@1468 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-24 19:23:24 +00:00