version 1.6, 2004/10/08 06:42:55 |
version 1.9, 2007/02/18 05:36:27 |
|
|
#include "base.h" |
#include "base.h" |
#include "inline.h" |
#include "inline.h" |
|
|
inline void _addz(Z n1,Z n2,Z nr); |
#if defined(__GNUC__) |
inline void _subz(Z n1,Z n2,Z nr); |
#define INLINE inline |
inline void _mulz(Z n1,Z n2,Z nr); |
#elif defined(VISUAL) |
inline int _addz_main(unsigned int *m1,int d1,unsigned int *m2,int d2,unsigned int *mr); |
#define INLINE __inline |
inline int _subz_main(unsigned int *m1,int d1,unsigned int *m2,int d2,unsigned int *mr); |
#else |
|
#define INLINE |
|
#endif |
|
|
|
INLINE void _addz(Z n1,Z n2,Z nr); |
|
INLINE void _subz(Z n1,Z n2,Z nr); |
|
INLINE void _mulz(Z n1,Z n2,Z nr); |
|
int _addz_main(unsigned int *m1,int d1,unsigned int *m2,int d2,unsigned int *mr); |
|
int _subz_main(unsigned int *m1,int d1,unsigned int *m2,int d2,unsigned int *mr); |
|
|
/* immediate int -> Z */ |
/* immediate int -> Z */ |
#define UTOZ(c,n) (n)=(!((unsigned int)(c))?0:(((unsigned int)(c))<=IMM_MAX?((Z)((((unsigned int)(c))<<1)|1)):utoz((unsigned int)(c)))) |
#define UTOZ(c,n) (n)=(!((unsigned int)(c))?0:(((unsigned int)(c))<=IMM_MAX?((Z)((((unsigned int)(c))<<1)|1)):utoz((unsigned int)(c)))) |
#define STOZ(c,n) (n)=(!((int)(c))?0:(((int)(c))>=IMM_MIN&&((int)(c))<=IMM_MAX?((Z)((((int)(c))<<1)|1)):stoz((int)(c)))) |
#define STOZ(c,n) (n)=(!((int)(c))?0:(((int)(c))>=IMM_MIN&&((int)(c))<=IMM_MAX?((Z)((((int)(c))<<1)|1)):stoz((int)(c)))) |
Line 694 int _addz_main(unsigned int *m1,int d1,unsigned int *m |
|
Line 702 int _addz_main(unsigned int *m1,int d1,unsigned int *m |
|
adc eax,eax |
adc eax,eax |
mov c,eax |
mov c,eax |
} |
} |
#elif defined(i386) |
#elif ( defined(i386) && !defined(__DARWIN__) ) |
asm volatile("\ |
asm volatile("\ |
movl %1,%%esi;\ |
movl %1,%%esi;\ |
movl %2,%%edi;\ |
movl %2,%%edi;\ |
Line 784 int _subz_main(unsigned int *m1,int d1,unsigned int *m |
|
Line 792 int _subz_main(unsigned int *m1,int d1,unsigned int *m |
|
adc eax,eax |
adc eax,eax |
mov br,eax |
mov br,eax |
} |
} |
#elif defined(i386) |
#elif ( defined(i386) && !defined(__DARWIN__) ) |
asm volatile("\ |
asm volatile("\ |
movl %1,%%esi;\ |
movl %1,%%esi;\ |
movl %2,%%edi;\ |
movl %2,%%edi;\ |