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:
parent
56e035635b
commit
851926b301
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
24
libsrc/common/cc65_imul16x16r32.s
Normal file
24
libsrc/common/cc65_imul16x16r32.s
Normal 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
|
||||||
|
|
24
libsrc/common/cc65_umul16x16r32.s
Normal file
24
libsrc/common/cc65_umul16x16r32.s
Normal 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
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user