uz
18272c0427
Working on the division and multiplication routines.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4443 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-04 19:41:54 +00:00
uz
c200e0ec94
Added division routine. Removed C callable entry points from mul routines,
...
they're now in common.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4441 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-04 18:23:40 +00:00
uz
7c804513fa
The upper 16 bit differ between signed and unsigned multiplication, so while
...
for 16x16=16, the unsigned routine can be used, regardless of signedness, this
is not true for 16x16=32.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4438 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-04 13:45:27 +00:00
uz
100c470727
Added C callable entry point for the 16x16=32 multiplication.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4435 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-03 17:43:57 +00:00
uz
0c1703f8fd
Added 16*16=32 multiplication routine.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4434 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-03 13:40:03 +00:00
uz
fdc7604d8f
Added separate 8x8=>16 multiplication routine as start of the multiplication
...
and division stuff cleanup.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4431 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-02 22:28:02 +00:00
uz
54a8a778eb
Remove 65C02 code, because in this case, the value of Y on return is always
...
zero, which can be used by the optimizer.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4384 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-20 08:25:58 +00:00
uz
6019580fb6
Removed unused code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4191 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-18 17:42:44 +00:00
uz
1ea503a036
The pleasp.s module is no longer in use.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4094 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-31 12:56:54 +00:00
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