1
0
mirror of https://github.com/cc65/cc65.git synced 2025-01-12 02:30:44 +00:00

Add C callable special multiplication routines.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4440 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz 2009-11-04 18:17:00 +00:00
parent 56e035635b
commit 851926b301
3 changed files with 167 additions and 117 deletions

View File

@ -80,123 +80,125 @@ C_OBJS = _afailed.o \
timezone.o timezone.o
# From assembly source-files # From assembly source-files
S_OBJS = _cwd.o \ S_OBJS = _cwd.o \
_environ.o \ _environ.o \
_fdesc.o \ _fdesc.o \
_file.o \ _file.o \
_fopen.o \ _fopen.o \
_heap.o \ _heap.o \
_heapadd.o \ _heapadd.o \
_heapblocksize.o\ _heapblocksize.o \
_heapmaxavail.o \ _heapmaxavail.o \
_heapmemavail.o \ _heapmemavail.o \
_oserror.o \ _oserror.o \
_printf.o \ _printf.o \
_seterrno.o \ _seterrno.o \
_swap.o \ _swap.o \
_sys.o \ _sys.o \
abs.o \ abs.o \
atexit.o \ atexit.o \
atoi.o \ atoi.o \
calloc.o \ calloc.o \
cc65_sincos.o \ cc65_imul16x16r32.o \
chdir.o \ cc65_sincos.o \
copydata.o \ cc65_umul16x16r32.o \
creat.o \ chdir.o \
ctime.o \ copydata.o \
divt.o \ creat.o \
errno.o \ ctime.o \
fclose.o \ divt.o \
fmisc.o \ errno.o \
fopen.o \ fclose.o \
fprintf.o \ fmisc.o \
fread.o \ fopen.o \
free.o \ fprintf.o \
fscanf.o \ fread.o \
fwrite.o \ free.o \
getcpu.o \ fscanf.o \
getcwd.o \ fwrite.o \
getenv.o \ getcpu.o \
isalnum.o \ getcwd.o \
isalpha.o \ getenv.o \
isblank.o \ isalnum.o \
iscntrl.o \ isalpha.o \
isdigit.o \ isblank.o \
isgraph.o \ iscntrl.o \
islower.o \ isdigit.o \
isprint.o \ isgraph.o \
ispunct.o \ islower.o \
isspace.o \ isprint.o \
isupper.o \ ispunct.o \
isxdigit.o \ isspace.o \
itoa.o \ isupper.o \
labs.o \ isxdigit.o \
longjmp.o \ itoa.o \
ltoa.o \ labs.o \
malloc.o \ longjmp.o \
maperrno.o \ ltoa.o \
memchr.o \ malloc.o \
memcmp.o \ maperrno.o \
memcpy.o \ memchr.o \
memmove.o \ memcmp.o \
memset.o \ memcpy.o \
mkdir.o \ memmove.o \
modfree.o \ memset.o \
modload.o \ mkdir.o \
oserrcheck.o \ modfree.o \
printf.o \ modload.o \
putchar.o \ oserrcheck.o \
putenv.o \ printf.o \
rand.o \ putchar.o \
raise.o \ putenv.o \
remove.o \ rand.o \
rename.o \ raise.o \
rmdir.o \ remove.o \
scanf.o \ rename.o \
searchenv.o \ rmdir.o \
setjmp.o \ scanf.o \
signal.o \ searchenv.o \
sigtable.o \ setjmp.o \
snprintf.o \ signal.o \
sprintf.o \ sigtable.o \
sscanf.o \ snprintf.o \
strcat.o \ sprintf.o \
strchr.o \ sscanf.o \
strcmp.o \ strcat.o \
strcoll.o \ strchr.o \
strcpy.o \ strcmp.o \
strcspn.o \ strcoll.o \
strdup.o \ strcpy.o \
strerror.o \ strcspn.o \
stricmp.o \ strdup.o \
strlen.o \ strerror.o \
strlower.o \ stricmp.o \
strncat.o \ strlen.o \
strncmp.o \ strlower.o \
strncpy.o \ strncat.o \
strnicmp.o \ strncmp.o \
stroserr.o \ strncpy.o \
strpbrk.o \ strnicmp.o \
strrchr.o \ stroserr.o \
strspn.o \ strpbrk.o \
strstr.o \ strrchr.o \
strtoimax.o \ strspn.o \
strtoumax.o \ strstr.o \
strupper.o \ strtoimax.o \
time.o \ strtoumax.o \
tolower.o \ strupper.o \
toupper.o \ time.o \
uname.o \ tolower.o \
ungetc.o \ toupper.o \
unlink.o \ uname.o \
utscopy.o \ ungetc.o \
vfprintf.o \ unlink.o \
vfscanf.o \ utscopy.o \
vprintf.o \ vfprintf.o \
vscanf.o \ vfscanf.o \
vsnprintf.o \ vprintf.o \
vsprintf.o \ vscanf.o \
vsscanf.o \ vsnprintf.o \
vsprintf.o \
vsscanf.o \
zerobss.o zerobss.o

View File

@ -0,0 +1,24 @@
;
; Ullrich von Bassewitz, 2010-11-03
;
; CC65 library: 16x16 => 32 signed multiplication
;
.export _cc65_imul16x16r32
.import imul16x16r32, popax
.importzp ptr1
;---------------------------------------------------------------------------
; 16x16 => 32 signed multiplication routine.
.proc _cc65_imul16x16r32
sta ptr1
stx ptr1+1
jsr popax
jmp imul16x16r32
.endproc

View File

@ -0,0 +1,24 @@
;
; Ullrich von Bassewitz, 2010-11-03
;
; CC65 library: 16x16 => 32 unsigned multiplication
;
.export _cc65_umul16x16r32
.import umul16x16r32, popax
.importzp ptr1
;---------------------------------------------------------------------------
; 16x16 => 32 unsigned multiplication routine.
.proc _cc65_umul16x16r32
sta ptr1
stx ptr1+1
jsr popax
jmp umul16x16r32
.endproc