Working on the division and multiplication routines.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4443 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -99,6 +99,7 @@ S_OBJS = _cwd.o \
|
||||
atexit.o \
|
||||
atoi.o \
|
||||
calloc.o \
|
||||
cc65_idiv32by16r16.o \
|
||||
cc65_imul16x16r32.o \
|
||||
cc65_sincos.o \
|
||||
cc65_udiv32by16r16.o \
|
||||
|
||||
39
libsrc/common/cc65_idiv32by16r16.s
Normal file
39
libsrc/common/cc65_idiv32by16r16.s
Normal file
@@ -0,0 +1,39 @@
|
||||
;
|
||||
; Ullrich von Bassewitz, 2009-11-04
|
||||
;
|
||||
; CC65 library: 32by16 => 16 signed division
|
||||
;
|
||||
|
||||
.export _cc65_idiv32by16r16
|
||||
.import idiv32by16r16, incsp4
|
||||
|
||||
.include "zeropage.inc"
|
||||
|
||||
|
||||
;---------------------------------------------------------------------------
|
||||
; 32by16 division.
|
||||
|
||||
.proc _cc65_idiv32by16r16
|
||||
|
||||
pha ; Save rhs
|
||||
|
||||
; Copy from stack to zeropage. This assumes ptr1 and ptr2 are adjacent.
|
||||
|
||||
ldy #3
|
||||
@L1: lda (sp),y
|
||||
sta ptr1,y
|
||||
dey
|
||||
bpl @L1
|
||||
|
||||
lda #4
|
||||
clc
|
||||
adc sp
|
||||
sta sp
|
||||
bcc @L2
|
||||
inc sp+1
|
||||
|
||||
@L2: pla ; Old rhs
|
||||
jmp idiv32by16r16
|
||||
|
||||
.endproc
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
|
||||
.export _cc65_imul16x16r32
|
||||
.import imul16x16r32, popax
|
||||
.importzp ptr1
|
||||
|
||||
.include "zeropage.inc"
|
||||
|
||||
|
||||
;---------------------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
|
||||
.export _cc65_udiv32by16r16
|
||||
.import udiv32by16r16m, incsp4
|
||||
.importzp ptr1, ptr2, ptr3, sp
|
||||
|
||||
.include "zeropage.inc"
|
||||
|
||||
|
||||
;---------------------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
|
||||
.export _cc65_umul16x16r32
|
||||
.import umul16x16r32, popax
|
||||
.importzp ptr1
|
||||
|
||||
.include "zeropage.inc"
|
||||
|
||||
|
||||
;---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user