diff options
Diffstat (limited to 'frontends/calculator/CEdev/lib/static')
25 files changed, 0 insertions, 4816 deletions
diff --git a/frontends/calculator/CEdev/lib/static/acos.src b/frontends/calculator/CEdev/lib/static/acos.src deleted file mode 100644 index 7136ebe..0000000 --- a/frontends/calculator/CEdev/lib/static/acos.src +++ /dev/null @@ -1,54 +0,0 @@ - .ref __frameset0
- .ref __fcmp
- .ref __fsub
- .ref _asin
- .ref _errno
- .def _acos
- .assume adl=1
-
-; #define pio2 1.57079632679490
-;
-; double acos(double arg) {
-; if((arg > 1.) || (arg < -1.)) {
-; errno = EDOM;
-; return(0.);
-; }
-; return(pio2 - asin(arg));
-; }
-
-_acos:
- pop hl
- pop de
- pop bc
- push bc
- push de
- push hl
- ld a,e
- ld hl,8388608
- ld e,63
- push bc
- push hl
- call __fcmp
- pop bc
- pop hl
- jp m,l_1
- ld e,a
- ld a,191
- call __fcmp
- jp p,l_2
-
-l_1: ld hl,4
- ld (_errno),hl
- ld l,h
- ld e,h
- ret
-
-l_2: push de
- push hl
- call _asin
- ld bc,13176795
- ld a,63
- call __fsub
- ld hl,bc
- ld e,a
- ret
diff --git a/frontends/calculator/CEdev/lib/static/asin.src b/frontends/calculator/CEdev/lib/static/asin.src deleted file mode 100644 index 0ea0c03..0000000 --- a/frontends/calculator/CEdev/lib/static/asin.src +++ /dev/null @@ -1,178 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\ASIN.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 /* Copyright (c) 2000-2008 Zilog, Inc. */
-; 2
-; 3 /**
-; 4 * asin(arg) return the arcsin of arg.
-; 5 * arctan is called after appropriate range reduction.
-; 6 */
-; 7
-; 8 #include <errno.h>
-; 9 #include <math.h>
-; 10
-; 11 #define pio2 1.57079632679490
-; 12
-; 13 double asin(double arg) {
-_asin:
- LD HL,-8
- CALL __frameset
-; 14
-; 15 double sign, temp;
-; 16
-; 17 sign = 1.;
- LD BC,8388608
- LD (IX+-8),BC
- LD A,63
- LD (IX+-5),A
-; 18 if(arg < 0) {
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,0
- XOR A,A
- CALL __fcmp
- JP P,L_2
-; 19 arg = -arg;
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fneg
- LD (IX+6),BC
- LD (IX+9),A
-; 20 sign = -1.;
- LD BC,8388608
- LD (IX+-8),BC
- LD A,191
- LD (IX+-5),A
-; 21 }
-L_2:
-; 22
-; 23 if(arg > 1.) {
- LD HL,8388608
- LD E,63
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fcmp
- JP P,L_3
-; 24 errno = EDOM;
- LD BC,4
- LD (_errno),BC
- OR A,A
-; 25 return(0.);
- SBC HL,HL
- LD E,0
- JR L_7
-; 26 }
-L_3:
-; 27
-; 28 temp = sqrt(1. - arg*arg);
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fmul
- LD E,A
- LD HL,BC
- LD BC,8388608
- LD A,63
- CALL __fsub
- LD DE,BC
- LD C,A
- LD B,0
- PUSH BC
- PUSH DE
- CALL _sqrt
- POP BC
- POP BC
- LD (IX+-4),HL
- LD (IX+-1),E
-; 29 if(arg > 0.7) {
- LD E,63
- LD BC,(IX+6)
- LD A,(IX+9)
- LD HL,3355443
- CALL __fcmp
- JP P,L_5
-; 30 temp = pio2 - atan(temp/arg);
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,(IX+-4)
- LD A,(IX+-1)
- CALL __fdiv
- LD DE,BC
- LD C,A
- LD B,0
- PUSH BC
- PUSH DE
- CALL _atan
- POP BC
- POP BC
- LD BC,13176795
- LD A,63
- CALL __fsub
- LD (IX+-4),BC
- LD (IX+-1),A
-; 31 } else {
- JR L_6
-L_5:
-; 32 temp = atan(arg/temp);
- LD HL,(IX+-4)
- LD E,(IX+-1)
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fdiv
- LD DE,BC
- LD C,A
- LD B,0
- PUSH BC
- PUSH DE
- CALL _atan
- POP BC
- POP BC
- LD (IX+-4),HL
- LD (IX+-1),E
-; 33 }
-L_6:
-; 34
-; 35 return(sign*temp);
- LD HL,(IX+-4)
- LD E,(IX+-1)
- LD BC,(IX+-8)
- LD A,(IX+-5)
- CALL __fmul
- LD E,A
- LD HL,BC
-; 36 }
-L_7:
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _asin ***************************
-;Name Addr/Register Size Type
-;_atan IMPORT ----- function
-;_sqrt IMPORT ----- function
-;_errno IMPORT 3 variable
-;sign IX-8 4 variable
-;temp IX-4 4 variable
-;arg IX+6 4 parameter
-
-
-; Stack Frame Size: 20 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF _sqrt:ROM
- XREF _atan:ROM
- XREF _errno:ROM
- XREF __fsub:ROM
- XREF __fmul:ROM
- XREF __fdiv:ROM
- XREF __fneg:ROM
- XREF __fcmp:ROM
- XREF __frameset:ROM
- XDEF _asin
- END
diff --git a/frontends/calculator/CEdev/lib/static/atan.src b/frontends/calculator/CEdev/lib/static/atan.src deleted file mode 100644 index e84ad82..0000000 --- a/frontends/calculator/CEdev/lib/static/atan.src +++ /dev/null @@ -1,341 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\ATAN.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 /* Copyright (c) 2000-2008 Zilog, Inc. */
-; 2
-; 3 /**
-; 4 * floating-point arctangent
-; 5 *
-; 6 * atan returns the value of the arctangent of its
-; 7 * argument in the range [-pi/2,pi/2].
-; 8 *
-; 9 * atan2 returns the arctangent of arg1/arg2
-; 10 * in the range [-pi,pi].
-; 11 *
-; 12 * there are no error returns.
-; 13 *
-; 14 * coefficients are #5077 from Hart & Cheney. (19.56D)
-; 15 */
-; 16
-; 17
-; 18 #define sq2p1 2.41421356237309e0
-; 19 #define sq2m1 0.414213562373095e0
-; 20 #define pio2 1.57079632679489e0
-; 21 #define pio4 0.785398163397448e0
-; 22 #define p4 0.161536412982230e2
-; 23 #define p3 0.268425481955040e3
-; 24 #define p2 0.115302935154049e4
-; 25 #define p1 0.178040631643320e4
-; 26 #define p0 0.896785974036639e3
-; 27 #define q4 0.589569705084446e2
-; 28 #define q3 0.536265374031215e3
-; 29 #define q2 0.166678381488163e4
-; 30 #define q1 0.207933497444541e4
-; 31 #define q0 0.896785974036639e3
-; 32
-; 33
-; 34 /**
-; 35 * atan makes its argument positive and
-; 36 * calls the inner routine satan.
-; 37 */
-; 38
-; 39 double atan(double arg) {
-_atan:
- CALL __frameset0
- OR A,A
-; 40 double satan(double);
-; 41
-; 42 if(arg>0) {
- SBC HL,HL
- LD E,0
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fcmp
- JP P,L_1
-; 43 return(satan(arg));
- LD C,(IX+9)
- LD B,0
- PUSH BC
- LD BC,(IX+6)
- PUSH BC
- CALL _satan
- POP BC
- POP BC
- JR L_2
-; 44 } else {
-L_1:
-; 45 return(-satan(-arg));
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fneg
- LD DE,BC
- LD C,A
- LD B,0
- PUSH BC
- PUSH DE
- CALL _satan
- POP BC
- POP BC
- LD BC,HL
- LD A,E
- CALL __fneg
- LD E,A
- LD HL,BC
-; 46 }
-; 47 }
-L_2:
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _atan ***************************
-;Name Addr/Register Size Type
-;_satan IMPORT ----- function
-;arg IX+6 4 parameter
-
-
-; Stack Frame Size: 12 (bytes)
-; Spill Code: 0 (instruction)
-
-
-; 48
-; 49
-; 50 /**
-; 51 * atan2 discovers what quadrant the angle
-; 52 * is in and calls atan.
-; 53 */
-; 54
-; 55
-; 56 /**
-; 57 * satan reduces its argument (known to be positive)
-; 58 * to the range [0,0.414...] and calls xatan.
-; 59 */
-; 60
-; 61 double satan(double arg) {
-_satan:
- LD HL,-4
- CALL __frameset
-; 62 double xatan(double);
-; 63
-; 64 if(arg < sq2m1) {
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,13898701
- LD A,62
- CALL __fcmp
- JP P,L_6
-; 65 return(xatan(arg));
- LD C,(IX+9)
- LD B,0
- PUSH BC
- LD BC,(IX+6)
- PUSH BC
- CALL _xatan
- POP BC
- POP BC
- JR L_7
-; 66 } else if(arg > sq2p1) {
-L_6:
- LD HL,1737338
- LD E,64
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fcmp
- JP P,L_4
-; 67 return(pio2 - xatan(1.0/arg));
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,8388608
- LD A,63
- CALL __fdiv
- LD DE,BC
- LD C,A
- LD B,0
- PUSH BC
- PUSH DE
- CALL _xatan
- POP BC
- POP BC
- LD BC,13176795
- LD A,63
- CALL __fsub
- LD E,A
- LD HL,BC
- JR L_7
-; 68 } else {
-L_4:
-; 69 return(pio4 + xatan((arg-1.0)/(arg+1.0)));
- LD HL,8388608
- LD E,63
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fsub
- LD (IX+-4),BC
- LD (IX+-1),A
- LD A,(IX+9)
- LD BC,(IX+6)
- LD HL,8388608
- LD E,63
- CALL __fadd
- LD E,A
- LD HL,BC
- LD BC,(IX+-4)
- LD A,(IX+-1)
- CALL __fdiv
- LD DE,BC
- LD C,A
- LD B,0
- PUSH BC
- PUSH DE
- CALL _xatan
- POP BC
- POP BC
- LD BC,HL
- LD HL,4788187
- LD A,E
- LD E,63
- CALL __fadd
- LD E,A
- LD HL,BC
-; 70 }
-; 71 }
-L_7:
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _satan ***************************
-;Name Addr/Register Size Type
-;_xatan IMPORT ----- function
-;arg IX+6 4 parameter
-
-
-; Stack Frame Size: 16 (bytes)
-; Spill Code: 0 (instruction)
-
-
-; 72
-; 73 /**
-; 74 * xatan evaluates a series valid in the
-; 75 * range [-0.414...,+0.414...].
-; 76 */
-; 77
-; 78 static double xatan(double arg) {
-_xatan:
- LD HL,-8
- CALL __frameset
-; 79 double argsq;
-; 80 double value;
-; 81
-; 82 argsq = arg*arg;
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fmul
- LD (IX+-4),BC
- LD (IX+-1),A
-; 83 value = ((((p4*argsq + p3)*argsq + p2)*argsq + p1)*argsq + p0);
- LD HL,8469160
- LD E,65
- CALL __fmul
- LD HL,8795766
- LD E,67
- CALL __fadd
- LD HL,(IX+-4)
- LD E,(IX+-1)
- CALL __fmul
- LD HL,9445616
- LD E,68
- CALL __fadd
- LD HL,(IX+-4)
- LD E,(IX+-1)
- CALL __fmul
- LD HL,14585089
- LD E,68
- CALL __fadd
- LD HL,(IX+-4)
- LD E,(IX+-1)
- CALL __fmul
- LD HL,6304333
- LD E,68
- CALL __fadd
- LD (IX+-8),BC
- LD (IX+-5),A
-; 84 value = value/(((((argsq + q4)*argsq + q3)*argsq + q2)*argsq + q1)*argsq + q0);
- LD BC,(IX+-4)
- LD A,(IX+-1)
- LD HL,7066608
- LD E,66
- CALL __fadd
- LD HL,(IX+-4)
- LD E,(IX+-1)
- CALL __fmul
- LD HL,397564
- LD E,68
- CALL __fadd
- LD HL,(IX+-4)
- LD E,(IX+-1)
- CALL __fmul
- LD HL,13654293
- LD E,68
- CALL __fadd
- LD HL,(IX+-4)
- LD E,(IX+-1)
- CALL __fmul
- LD HL,128348
- LD E,69
- CALL __fadd
- LD HL,(IX+-4)
- LD E,(IX+-1)
- CALL __fmul
- LD HL,6304333
- LD E,68
- CALL __fadd
- LD E,A
- LD HL,BC
- LD BC,(IX+-8)
- LD A,(IX+-5)
- CALL __fdiv
- LD (IX+-8),BC
- LD (IX+-5),A
-; 85 return(value*arg);
- LD HL,(IX+6)
- LD E,(IX+9)
- LD A,(IX+-5)
- CALL __fmul
- LD E,A
- LD HL,BC
-; 86 }
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _xatan ***************************
-;Name Addr/Register Size Type
-;value IX-8 4 variable
-;argsq IX-4 4 variable
-;arg IX+6 4 parameter
-
-
-; Stack Frame Size: 20 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF __fadd:ROM
- XREF __fsub:ROM
- XREF __fmul:ROM
- XREF __fdiv:ROM
- XREF __fneg:ROM
- XREF __fcmp:ROM
- XREF __frameset0:ROM
- XREF __frameset:ROM
- XDEF _satan
- XDEF _atan
- END
diff --git a/frontends/calculator/CEdev/lib/static/atan2.src b/frontends/calculator/CEdev/lib/static/atan2.src deleted file mode 100644 index f6840d2..0000000 --- a/frontends/calculator/CEdev/lib/static/atan2.src +++ /dev/null @@ -1,179 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\ATAN2.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 /* Copyright (c) 2000-2008 Zilog, Inc. */
-; 2
-; 3 #define pio2 1.57079632679489e0
-; 4
-; 5 double atan2(double arg1,double arg2) {
-_atan2:
- CALL __frameset0
-; 6 double satan(double);
-; 7
-; 8 if((arg1+arg2)==arg1) {
- LD HL,(IX+12)
- LD E,(IX+15)
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fadd
- LD E,A
- LD HL,BC
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fcmp
- JR NZ,L_9
-; 9 if(arg1 >= 0.) {
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,0
- XOR A,A
- CALL __fcmp
- JP M,L_1
-; 10 return(pio2);
- LD HL,13176795
- LD E,63
- JR L_10
-; 11 } else {
-L_1:
-; 12 return(-pio2);
- LD HL,13176795
- LD E,191
- JR L_10
-; 13 }
-; 14 } else if(arg2 < 0.) {
-L_9:
- LD HL,(IX+12)
- LD E,(IX+15)
- LD BC,0
- XOR A,A
- CALL __fcmp
- JP P,L_7
-; 15 if(arg1 >= 0.) {
- LD HL,(IX+6)
- LD E,(IX+9)
- XOR A,A
- CALL __fcmp
- JP M,L_3
-; 16 return(pio2+pio2 - satan(-arg1/arg2));
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fneg
- LD HL,(IX+12)
- LD E,(IX+15)
- CALL __fdiv
- LD DE,BC
- LD C,A
- LD B,0
- PUSH BC
- PUSH DE
- CALL _satan
- POP BC
- POP BC
- LD BC,4788187
- LD A,64
- CALL __fsub
- LD E,A
- LD HL,BC
- JR L_10
-; 17 } else {
-L_3:
-; 18 return(-pio2-pio2 + satan(arg1/arg2));
- LD HL,(IX+12)
- LD E,(IX+15)
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fdiv
- LD DE,BC
- LD C,A
- LD B,0
- PUSH BC
- PUSH DE
- CALL _satan
- POP BC
- POP BC
- LD BC,HL
- LD HL,4788187
- LD A,E
- LD E,192
- CALL __fadd
- LD E,A
- LD HL,BC
- JR L_10
-; 19 }
-; 20 } else if(arg1 > 0) {
-L_7:
- OR A,A
- SBC HL,HL
- LD E,0
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fcmp
- JP P,L_5
-; 21 return(satan(arg1/arg2));
- LD HL,(IX+12)
- LD E,(IX+15)
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fdiv
- LD DE,BC
- LD C,A
- LD B,0
- PUSH BC
- PUSH DE
- CALL _satan
- POP BC
- POP BC
- JR L_10
-; 22 } else {
-L_5:
-; 23 return(-satan(-arg1/arg2));
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fneg
- LD HL,(IX+12)
- LD E,(IX+15)
- CALL __fdiv
- LD DE,BC
- LD C,A
- LD B,0
- PUSH BC
- PUSH DE
- CALL _satan
- POP BC
- POP BC
- LD BC,HL
- LD A,E
- CALL __fneg
- LD E,A
- LD HL,BC
-; 24 }
-; 25 }
-L_10:
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _atan2 ***************************
-;Name Addr/Register Size Type
-;_satan IMPORT ----- function
-;arg2 IX+12 4 parameter
-;arg1 IX+6 4 parameter
-
-
-; Stack Frame Size: 18 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF _satan:ROM
- XREF __fadd:ROM
- XREF __fsub:ROM
- XREF __fdiv:ROM
- XREF __fneg:ROM
- XREF __fcmp:ROM
- XREF __frameset0:ROM
- XDEF _atan2
- END
diff --git a/frontends/calculator/CEdev/lib/static/atof.src b/frontends/calculator/CEdev/lib/static/atof.src deleted file mode 100644 index bfabf06..0000000 --- a/frontends/calculator/CEdev/lib/static/atof.src +++ /dev/null @@ -1,20 +0,0 @@ - .ref __frameset0
- .ref _strtod
- .def _atof
- .assume adl=1
-
-; double atof(char *str);
-
-_atof:
- pop hl
- pop bc
- push bc
- push hl
- or a,a
- sbc hl,hl
- push hl
- push bc
- call _strtod
- pop bc
- pop hl
- ret
diff --git a/frontends/calculator/CEdev/lib/static/ceil.src b/frontends/calculator/CEdev/lib/static/ceil.src deleted file mode 100644 index 591da78..0000000 --- a/frontends/calculator/CEdev/lib/static/ceil.src +++ /dev/null @@ -1,31 +0,0 @@ - .ref __frameset0
- .ref __fneg
- .ref _floor
- .def _ceil
- .assume adl=1
-
-; double ceil(double d);
-
-_ceil:
- call __frameset0
- ld bc,(ix+6)
- ld a,(ix+9)
- call __fneg
- ld l,a
- ld h,0
- push hl
- push bc
- call _floor
- pop bc
- pop bc
- push hl
- pop bc
- ld a,e
- call __fneg
- ld e,a
- push bc
- pop hl
- ld sp,ix
- pop ix
- ret
-
\ No newline at end of file diff --git a/frontends/calculator/CEdev/lib/static/cos.src b/frontends/calculator/CEdev/lib/static/cos.src deleted file mode 100644 index 3145df8..0000000 --- a/frontends/calculator/CEdev/lib/static/cos.src +++ /dev/null @@ -1,33 +0,0 @@ - .ref _sinus
- .ref __frameset0
- .ref __fcmp
- .ref __fneg
- .def _cos
- .assume adl=1
-
-; double cos(double arg);
-
-_cos:
- call __frameset0
- ld hl,(ix+6)
- ld e,(ix+9)
- ld bc,0
- xor a,a
- push de
- push hl
- call __fcmp
- pop bc
- pop de
- ld a,e
- jp p,l_1
- call __fneg
-
-l_1: ld hl,1
- push hl
- ld l,a
- push hl
- push bc
- call _sinus
- ld sp,ix
- pop ix
- ret
diff --git a/frontends/calculator/CEdev/lib/static/exp.src b/frontends/calculator/CEdev/lib/static/exp.src deleted file mode 100644 index ccae75e..0000000 --- a/frontends/calculator/CEdev/lib/static/exp.src +++ /dev/null @@ -1,234 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\EXP.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 /************************************************************************/
-; 2 /* */
-; 3 /* Copyright (C) 2000-2008 Zilog, Inc. */
-; 4 /* */
-; 5 /************************************************************************/
-; 6 /*
-; 7 exp returns the exponential function of its
-; 8 floating-point argument.
-; 9
-; 10 The coefficients are #1069 from Hart and Cheney. (22.35D)
-; 11 */
-; 12
-; 13 #include <errno.h>
-; 14 #include <math.h>
-; 15
-; 16 #define p0 0.20803843466947e7
-; 17 #define p1 0.30286971697440e5
-; 18 #define p2 0.60614853300611e2
-; 19 #define q0 0.60027203602388e7
-; 20 #define q1 0.32772515180829e6
-; 21 #define q2 0.17492876890931e4
-; 22 #define log2e 1.44269504088896
-; 23 #define sqrt2 1.41421356237310
-; 24 #define maxf 10000
-; 25
-; 26 double exp(double arg) {
-_exp:
- LD HL,-23
- CALL __frameset
-; 27 double fraction;
-; 28 double temp1, temp2, xsq;
-; 29 int ent;
-; 30
-; 31 if ( arg == 0.0 ){
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,0
- XOR A,A
- CALL __fcmp
- JR NZ,L_2
-; 32 return 1.0;
- LD HL,8388608
- LD E,63
- JR L_6
-; 33 }
-L_2:
-; 34 if ( arg < -maxf ){
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,1851392
- LD A,198
- CALL __fcmp
- JP P,L_4
- OR A,A
-; 35 return 0.0;
- SBC HL,HL
- LD E,0
- JR L_6
-; 36 }
-L_4:
-; 37 if ( arg > maxf ){
- LD HL,1851392
- LD E,70
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fcmp
- JP P,L_5
-; 38 errno = ERANGE;
- LD BC,5
- LD (_errno),BC
-; 39 return HUGE_VAL ;
- LD HL,(__huge_val)
- LD A,(__huge_val+3)
- LD E,A
- JR L_6
-; 40 }
-L_5:
-; 41 arg *= log2e;
- LD HL,12102203
- LD E,63
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fmul
- LD (IX+6),BC
- LD (IX+9),A
-; 42 ent = floor( arg );
- LD C,(IX+9)
- LD B,0
- PUSH BC
- LD BC,(IX+6)
- PUSH BC
- CALL _floor
- POP BC
- POP BC
- LD A,E
- LD BC,HL
- CALL __ftol
- LD (IX+-11),BC
-; 43 fraction = arg - ent - 0.5;
- CALL __itol
- CALL __ltof
- OR A,A
- SBC HL,HL
- LD E,63
- CALL __fadd
- LD E,A
- LD HL,BC
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fsub
- LD (IX+-8),BC
- LD (IX+-5),A
-; 44 xsq = fraction * fraction;
- LD E,(IX+-5)
- LD A,(IX+-5)
- LD HL,BC
- CALL __fmul
- LD (IX+-4),BC
- LD (IX+-1),A
-; 45 temp1 = ((p2 * xsq + p1) * xsq + p0) * fraction;
- LD HL,7501212
- LD E,66
- CALL __fmul
- LD HL,15506930
- LD E,70
- CALL __fadd
- LD HL,(IX+-4)
- LD E,(IX+-1)
- CALL __fmul
- LD HL,16643075
- LD E,73
- CALL __fadd
- LD HL,(IX+-8)
- LD E,(IX+-5)
- CALL __fmul
- LD (IX+-15),BC
- LD (IX+-12),A
-; 46 temp2 = ((1.0 * xsq + q2) * xsq + q1) * xsq + q0;
- LD BC,(IX+-4)
- LD A,(IX+-1)
- LD HL,14330165
- LD E,68
- CALL __fadd
- LD HL,(IX+-4)
- LD E,(IX+-1)
- CALL __fmul
- LD HL,10487205
- LD E,72
- CALL __fadd
- LD HL,(IX+-4)
- LD E,(IX+-1)
- CALL __fmul
- LD HL,12005441
- LD E,74
- CALL __fadd
- LD (IX+-19),BC
- LD (IX+-16),A
-; 47 return ldexp( sqrt2 * (temp2+temp1) / (temp2-temp1), ent );
- LD DE,(IX+-11)
- PUSH DE
- LD HL,(IX+-15)
- LD E,(IX+-12)
- LD A,(IX+-16)
- CALL __fadd
- LD HL,11863283
- LD E,63
- CALL __fmul
- LD (IX+-22),BC
- LD (IX+-23),A
- LD A,(IX+-16)
- LD BC,(IX+-19)
- LD HL,(IX+-15)
- LD E,(IX+-12)
- CALL __fsub
- LD E,A
- LD HL,BC
- LD BC,(IX+-22)
- LD A,(IX+-23)
- CALL __fdiv
- LD DE,BC
- LD C,A
- LD B,0
- PUSH BC
- PUSH DE
- CALL _ldexp
- POP BC
- POP BC
- POP BC
-; 48 }
-L_6:
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _exp ***************************
-;Name Addr/Register Size Type
-;_ldexp IMPORT ----- function
-;_floor IMPORT ----- function
-;__huge_val IMPORT 4 variable
-;_errno IMPORT 3 variable
-;temp2 IX-19 4 variable
-;temp1 IX-15 4 variable
-;ent IX-11 3 variable
-;fraction IX-8 4 variable
-;xsq IX-4 4 variable
-;arg IX+6 4 parameter
-
-
-; Stack Frame Size: 35 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF _floor:ROM
- XREF _ldexp:ROM
- XREF __huge_val:ROM
- XREF _errno:ROM
- XREF __fadd:ROM
- XREF __fsub:ROM
- XREF __fmul:ROM
- XREF __fdiv:ROM
- XREF __fcmp:ROM
- XREF __ftol:ROM
- XREF __ltof:ROM
- XREF __itol:ROM
- XREF __frameset:ROM
- XDEF _exp
- END
diff --git a/frontends/calculator/CEdev/lib/static/fabs.src b/frontends/calculator/CEdev/lib/static/fabs.src deleted file mode 100644 index 36bbacd..0000000 --- a/frontends/calculator/CEdev/lib/static/fabs.src +++ /dev/null @@ -1,14 +0,0 @@ - .def _fabs
- .assume adl=1
-
-; double fabs(double j);
-
-_fabs:
- pop bc
- pop hl
- pop de
- push de
- push hl
- push bc
- res 7,e
- ret
diff --git a/frontends/calculator/CEdev/lib/static/floor.src b/frontends/calculator/CEdev/lib/static/floor.src deleted file mode 100644 index 7a2dd34..0000000 --- a/frontends/calculator/CEdev/lib/static/floor.src +++ /dev/null @@ -1,114 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\FLOOR.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 /************************************************************************/
-; 2 /* */
-; 3 /* Copyright (C) 2000-2008 Zilog, Inc. */
-; 4 /* */
-; 5 /* San Jose, California */
-; 6 /* */
-; 7 /************************************************************************/
-; 8 #include <math.h>
-; 9
-; 10 double floor(double d) {
-_floor:
- LD HL,-4
- CALL __frameset
-; 11 double fraction;
-; 12
-; 13 if (d<0.0) {
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,0
- XOR A,A
- CALL __fcmp
- JP P,L_3
-; 14 d = -d;
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fneg
- LD (IX+6),BC
- LD (IX+9),A
-; 15 fraction = modf(d, (double *)&d);
- PEA IX+6
- LD C,(IX+9)
- LD B,0
- PUSH BC
- LD BC,(IX+6)
- PUSH BC
- CALL _modf
- POP BC
- POP BC
- POP BC
- LD (IX+-4),HL
- LD (IX+-1),E
-; 16 if (fraction != 0.0)
- LD HL,(IX+-4)
- LD E,(IX+-1)
- LD BC,0
- XOR A,A
- CALL __fcmp
- JR Z,L_1
-; 17 d += 1;
- LD HL,8388608
- LD E,63
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fadd
- LD (IX+6),BC
- LD (IX+9),A
-L_1:
-; 18 d = -d;
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fneg
- LD (IX+6),BC
- LD (IX+9),A
-; 19 } else {
- JR L_4
-L_3:
-; 20 fraction = modf(d, (double *)&d);
- PEA IX+6
- LD C,(IX+9)
- LD B,0
- PUSH BC
- LD BC,(IX+6)
- PUSH BC
- CALL _modf
- POP BC
- POP BC
- POP BC
- LD (IX+-4),HL
- LD (IX+-1),E
-; 21 }
-L_4:
-; 22 return(d);
- LD HL,(IX+6)
- LD E,(IX+9)
-; 23 }
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _floor ***************************
-;Name Addr/Register Size Type
-;_modf IMPORT ----- function
-;fraction IX-4 4 variable
-;d IX+6 4 parameter
-
-
-; Stack Frame Size: 16 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF _modf:ROM
- XREF __fadd:ROM
- XREF __fneg:ROM
- XREF __fcmp:ROM
- XREF __frameset:ROM
- XDEF _floor
- END
diff --git a/frontends/calculator/CEdev/lib/static/fmod.src b/frontends/calculator/CEdev/lib/static/fmod.src deleted file mode 100644 index 0073ef7..0000000 --- a/frontends/calculator/CEdev/lib/static/fmod.src +++ /dev/null @@ -1,135 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\FMOD.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 /************************************************************************/
-; 2 /* */
-; 3 /* Copyright (C) 2000-2008 Zilog, Inc. */
-; 4 /* */
-; 5 /* San Jose, California */
-; 6 /* */
-; 7 /************************************************************************/
-; 8 #include <math.h>
-; 9
-; 10 /*************************************************
-; 11 *
-; 12 * fmod - modulo
-; 13 *
-; 14 * Inputs:
-; 15 * x - dividend
-; 16 * y - divisor
-; 17 *
-; 18 * Returns:
-; 19 * x mod y
-; 20 *
-; 21 *************************************************/
-; 22
-; 23 double fmod(double x, double y) {
-_fmod:
- LD HL,-8
- CALL __frameset
-; 24 double z;
-; 25 double result;
-; 26
-; 27 if (y == 0.0) {
- LD HL,(IX+12)
- LD E,(IX+15)
- LD BC,0
- XOR A,A
- CALL __fcmp
- JR NZ,L_1
- OR A,A
-; 28 return 0;
- SBC HL,HL
- LD E,0
- JR L_5
-; 29 }
-L_1:
-; 30
-; 31 modf(x/y,&z);
- PEA IX+-8
- LD HL,(IX+12)
- LD E,(IX+15)
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fdiv
- LD DE,BC
- LD C,A
- LD B,0
- PUSH BC
- PUSH DE
- CALL _modf
- POP BC
- POP BC
- POP BC
-; 32 result = x - z*y;
- LD HL,(IX+12)
- LD E,(IX+15)
- LD BC,(IX+-8)
- LD A,(IX+-5)
- CALL __fmul
- LD E,A
- LD HL,BC
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fsub
- LD (IX+-4),BC
- LD (IX+-1),A
-; 33
-; 34 if ((x < 0) && (result > 0)) {
- LD HL,(IX+6)
- LD E,(IX+9)
- XOR A,A
- LD BC,0
- CALL __fcmp
- JP P,L_4
- OR A,A
- SBC HL,HL
- LD E,0
- LD BC,(IX+-4)
- LD A,(IX+-1)
- CALL __fcmp
- JP P,L_4
-; 35 result = -result;
- LD BC,(IX+-4)
- LD A,(IX+-1)
- CALL __fneg
- LD (IX+-4),BC
- LD (IX+-1),A
-; 36 }
-L_4:
-; 37
-; 38 return(result);
- LD HL,(IX+-4)
- LD E,(IX+-1)
-; 39 }
-L_5:
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _fmod ***************************
-;Name Addr/Register Size Type
-;_modf IMPORT ----- function
-;z IX-8 4 variable
-;result IX-4 4 variable
-;y IX+12 4 parameter
-;x IX+6 4 parameter
-
-
-; Stack Frame Size: 26 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF _modf:ROM
- XREF __fsub:ROM
- XREF __fmul:ROM
- XREF __fdiv:ROM
- XREF __fneg:ROM
- XREF __fcmp:ROM
- XREF __frameset:ROM
- XDEF _fmod
- END
diff --git a/frontends/calculator/CEdev/lib/static/frexp.src b/frontends/calculator/CEdev/lib/static/frexp.src deleted file mode 100644 index 77df2d8..0000000 --- a/frontends/calculator/CEdev/lib/static/frexp.src +++ /dev/null @@ -1,141 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\FREXP.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 /************************************************************************/
-; 2 /* */
-; 3 /* Copyright (C) 2000-2008 Zilog, Inc. */
-; 4 /* */
-; 5 /* San Jose, California */
-; 6 /* */
-; 7 /************************************************************************/
-; 8
-; 9 #include <math.h>
-; 10
-; 11 typedef union
-; 12 {
-; 13 float value;
-; 14 unsigned long bits;
-; 15 } Ieee754;
-; 16
-; 17 enum
-; 18 { // The IEEE 754 format is:
-; 19 // SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM
-; 20 // (with an implicit mantissa high-order 1-bit.)
-; 21 mastissa_shift = 0,
-; 22 mastissa_bits = 23,
-; 23 exponent_bits = 8,
-; 24 exponent_shift = mastissa_shift + mastissa_bits,
-; 25 sign_shift = exponent_shift + exponent_bits,
-; 26 exponent_mask = (1 << exponent_bits) -1, // shifted = 0x7F800000
-; 27 exponent_max = (1 << exponent_bits) -1,
-; 28 exponent_base = 127,
-; 29 exponent_min = 0
-; 30 };
-; 31
-; 32 // frexp - Standard C library routine
-; 33 // frexp returns the exponent and mantissa of its floating point
-; 34 // argument.
-; 35 //
-; 36 // Arguments:
-; 37 // value - the floating point argument
-; 38 // pExponent - pointer to the returned exponent
-; 39 //
-; 40 // Returns:
-; 41 // - a floating point number between 0.5 and 1.0 (or zero if
-; 42 // the input argument is zero)
-; 43 //
-; 44 double frexp( double value, int *pExponent )
-; 45 {
-_frexp:
- LD HL,-8
- CALL __frameset
-; 46 Ieee754 floating;
-; 47 long exponentBits = 0;
- LD BC,0
- LD (IX+-8),BC
- XOR A,A
- LD (IX+-5),A
-; 48
-; 49 floating.value = value;
- LD BC,(IX+6)
- LD A,(IX+9)
- LD (IX+-4),BC
- LD (IX+-1),A
-; 50 if ( value != 0.0 )
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,0
- XOR A,A
- CALL __fcmp
- JR Z,L_2
-; 51 {
-; 52 exponentBits = (floating.bits
-; 53 & ((unsigned long) exponent_mask << exponent_shift))
-; 54 - ((exponent_base - 1L) << exponent_shift);
- LD HL,(IX+-4)
- LD E,(IX+-1)
- LD BC,8388608
- LD A,127
- CALL __land
- LD BC,0
- LD A,193
- CALL __ladd
- LD (IX+-8),HL
- LD (IX+-5),E
-; 55 floating.bits -= exponentBits; // adjust exponent
- LD HL,(IX+-4)
- LD E,(IX+-1)
- LD BC,(IX+-8)
- LD A,(IX+-5)
- CALL __lsub
- LD (IX+-4),HL
- LD (IX+-1),E
-; 56 }
-L_2:
-; 57 if ( pExponent != 0 )
- LD HL,(IX+12)
- CALL __icmpzero
- JR Z,L_3
-; 58 {
-; 59 *pExponent = exponentBits >> exponent_shift;
- LD BC,(IX+-8)
- LD A,(IX+-5)
- LD L,23
- CALL __lshrs
- LD HL,(IX+12)
- LD (HL),BC
-; 60 }
-L_3:
-; 61 return floating.value;
- LD HL,(IX+-4)
- LD E,(IX+-1)
-; 62 }
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _frexp ***************************
-;Name Addr/Register Size Type
-;exponentBits IX-8 4 variable
-;floating IX-4 4 variable
-;pExponent IX+12 3 parameter
-;value IX+6 4 parameter
-
-
-; Stack Frame Size: 23 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF __ladd:ROM
- XREF __lsub:ROM
- XREF __land:ROM
- XREF __lshrs:ROM
- XREF __fcmp:ROM
- XREF __frameset:ROM
- XREF __icmpzero:ROM
- XDEF _frexp
- END
diff --git a/frontends/calculator/CEdev/lib/static/ldexp.src b/frontends/calculator/CEdev/lib/static/ldexp.src deleted file mode 100644 index a656d62..0000000 --- a/frontends/calculator/CEdev/lib/static/ldexp.src +++ /dev/null @@ -1,194 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\LDEXP.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 /************************************************************************/
-; 2 /* */
-; 3 /* Copyright (C)1987-2008 by */
-; 4 /* Zilog, Inc. */
-; 5 /* */
-; 6 /* San Jose, California */
-; 7 /* */
-; 8 /************************************************************************/
-; 9 #include <errno.h>
-; 10 #include <math.h>
-; 11
-; 12 typedef union
-; 13 {
-; 14 float value;
-; 15 unsigned long bits;
-; 16 } Ieee754;
-; 17
-; 18 enum
-; 19 { // The IEEE 754 format is:
-; 20 // SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM
-; 21 // (with an implicit mantissa high-order 1-bit.)
-; 22 mastissa_shift = 0,
-; 23 mastissa_bits = 23,
-; 24 exponent_bits = 8,
-; 25 exponent_shift = mastissa_shift + mastissa_bits,
-; 26 sign_shift = exponent_shift + exponent_bits,
-; 27 exponent_mask = (1 << exponent_bits) -1, // shifted = 0x7F800000
-; 28 exponent_max = (1 << exponent_bits) -1,
-; 29 exponent_base = 127,
-; 30 exponent_min = 0
-; 31 };
-; 32
-; 33 // ldexp - Standard C library routine
-; 34 // ldexp returns the argument multiplied by an integral (positive or
-; 35 // negative) power of two.
-; 36 //
-; 37 // Arguments:
-; 38 // value - the floating point argument
-; 39 // power - the power of two to be used
-; 40 //
-; 41 // Returns:
-; 42 // - the argument multiplied by an integral power of two
-; 43 //
-; 44 double ldexp( double value, int power )
-; 45 {
-_ldexp:
- LD HL,-14
- CALL __frameset
-; 46 Ieee754 floating;
-; 47 int exponent;
-; 48 int powerplusexponent;
-; 49
-; 50 if ( value == 0.0 ) return 0;
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,0
- XOR A,A
- CALL __fcmp
- JR NZ,L_1
- OR A,A
- SBC HL,HL
- LD E,0
- JR L_10
-L_1:
-; 51
-; 52 floating.value = value;
- LD BC,(IX+6)
- LD A,(IX+9)
- LD (IX+-4),BC
- LD (IX+-1),A
-; 53 exponent = (floating.bits >> exponent_shift) & exponent_mask;
- LD L,23
- CALL __lshru
- LD HL,BC
- LD A,L
- UEXT HL
- LD L,A
- LD (IX+-10),HL
-; 54 powerplusexponent = power + exponent;
- LD BC,(IX+12)
- ADD HL,BC
- LD (IX+-7),HL
-; 55
-; 56 if ( powerplusexponent > exponent_max )
- LD BC,HL
- LD HL,255
- OR A,A
- SBC HL,BC
- CALL __setflag
- JP P,L_8
-; 57 {
-; 58 errno = ERANGE;
- LD BC,5
- LD (_errno),BC
-; 59 return (floating.bits & (1L << sign_shift)) == 0 ? HUGE_VAL : - HUGE_VAL;
- LD HL,(IX+-4)
- LD E,(IX+-1)
- LD BC,0
- LD A,128
- CALL __land
- CALL __lcmpzero
- JR NZ,L_4
- LD BC,(__huge_val)
- LD A,(__huge_val+3)
- LD (IX+-14),BC
- LD (IX+-11),A
- JR L_5
-L_4:
- LD BC,(__huge_val)
- LD A,(__huge_val+3)
- CALL __fneg
- LD (IX+-14),BC
- LD (IX+-11),A
-L_5:
- LD HL,(IX+-14)
- LD E,(IX+-11)
- JR L_10
-; 60 }
-L_8:
-; 61 if ( powerplusexponent <= exponent_min ) // CR 3964
- LD BC,(IX+-7)
- OR A,A
- SBC HL,HL
- OR A,A
- SBC HL,BC
- CALL __setflag
- JP M,L_9
-; 62 {
-; 63 errno = ERANGE;
- LD BC,5
- LD (_errno),BC
- OR A,A
-; 64 return 0.0;
- SBC HL,HL
- LD E,0
- JR L_10
-; 65 }
-L_9:
-; 66 floating.bits += (long) power << exponent_shift; // adjust exponent
- LD BC,(IX+12)
- CALL __itol
- LD L,23
- CALL __lshl
- LD HL,(IX+-4)
- LD E,(IX+-1)
- CALL __ladd
- LD (IX+-4),HL
- LD (IX+-1),E
-; 67 return floating.value;
- LD HL,(IX+-4)
- LD E,(IX+-1)
-; 68 }
-L_10:
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _ldexp ***************************
-;Name Addr/Register Size Type
-;__huge_val IMPORT 4 variable
-;_errno IMPORT 3 variable
-;temp2 IX-14 4 variable
-;exponent IX-10 3 variable
-;powerplusexponent IX-7 3 variable
-;floating IX-4 4 variable
-;power IX+12 3 parameter
-;value IX+6 4 parameter
-
-
-; Stack Frame Size: 29 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF __huge_val:ROM
- XREF _errno:ROM
- XREF __ladd:ROM
- XREF __land:ROM
- XREF __lshl:ROM
- XREF __lshru:ROM
- XREF __fneg:ROM
- XREF __fcmp:ROM
- XREF __itol:ROM
- XREF __frameset:ROM
- XREF __setflag:ROM
- XREF __lcmpzero:ROM
- XDEF _ldexp
- END
diff --git a/frontends/calculator/CEdev/lib/static/log.src b/frontends/calculator/CEdev/lib/static/log.src deleted file mode 100644 index e84217b..0000000 --- a/frontends/calculator/CEdev/lib/static/log.src +++ /dev/null @@ -1,233 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\LOG.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 /************************************************************************/
-; 2 /* */
-; 3 /* Copyright (C)1999-2008 by Zilog, Inc. */
-; 4 /* */
-; 5 /************************************************************************/
-; 6 /*
-; 7 log returns the natural logarithm of its floating
-; 8 point argument.
-; 9
-; 10 The coefficients are #2705 from Hart & Cheney. (19.38D)
-; 11
-; 12 It calls frexp.
-; 13 */
-; 14
-; 15 #include <errno.h>
-; 16 #include <math.h>
-; 17
-; 18 #define log2 0.693147180559945e0
-; 19 #define ln10 2.30258509299404
-; 20 #define sqrto2 0.707106781186548e0
-; 21 #define p0 -0.240139179559211e2
-; 22 #define p1 0.309572928215377e2
-; 23 #define p2 -0.963769093368687e1
-; 24 #define p3 0.421087371217980e0
-; 25 #define q0 -0.120069589779605e2
-; 26 #define q1 0.194809660700890e2
-; 27 #define q2 -0.891110902798312e1
-; 28
-; 29 double log( double arg )
-; 30 {
-_log:
- LD HL,-27
- CALL __frameset
- OR A,A
-; 31 double x,z, zsq, temp;
-; 32 int exp;
-; 33
-; 34 if ( arg <= 0.0 ){
- SBC HL,HL
- LD E,0
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fcmp
- JP M,L_1
-; 35 errno = EDOM;
- LD BC,4
- LD (_errno),BC
-; 36 return -HUGE_VAL;
- LD BC,(__huge_val)
- LD A,(__huge_val+3)
- CALL __fneg
- LD E,A
- LD HL,BC
- JR L_5
-; 37 }
-L_1:
-; 38 x = frexp( arg, & exp );
- PEA IX+-15
- LD C,(IX+9)
- LD B,0
- PUSH BC
- LD BC,(IX+6)
- PUSH BC
- CALL _frexp
- POP BC
- POP BC
- POP BC
- LD (IX+-8),HL
- LD (IX+-5),E
-; 39 if ( x < sqrto2 ){
- LD HL,(IX+-8)
- LD E,(IX+-5)
- LD BC,3474675
- LD A,63
- CALL __fcmp
- JP P,L_4
- OR A,A
-; 40 x *= 2;
- SBC HL,HL
- LD E,64
- LD BC,(IX+-8)
- LD A,(IX+-5)
- CALL __fmul
- LD (IX+-8),BC
- LD (IX+-5),A
-; 41 exp--;
- LD BC,(IX+-15)
- DEC BC
- LD (IX+-15),BC
-; 42 }
-L_4:
-; 43
-; 44 z = (x-1)/(x+1);
- LD HL,8388608
- LD E,63
- LD BC,(IX+-8)
- LD A,(IX+-5)
- CALL __fsub
- LD (IX+-27),BC
- LD (IX+-24),A
- LD A,(IX+-5)
- LD BC,(IX+-8)
- LD HL,8388608
- LD E,63
- CALL __fadd
- LD E,A
- LD HL,BC
- LD BC,(IX+-27)
- LD A,(IX+-24)
- CALL __fdiv
- LD (IX+-19),BC
- LD (IX+-16),A
-; 45 zsq = z*z;
- LD E,(IX+-16)
- LD A,(IX+-16)
- LD HL,BC
- CALL __fmul
- LD (IX+-4),BC
- LD (IX+-1),A
-; 46
-; 47 temp = ((p3*zsq + p2)*zsq + p1)*zsq + p0;
- LD HL,14129348
- LD E,62
- CALL __fmul
- LD HL,1717243
- LD E,193
- CALL __fadd
- LD HL,(IX+-4)
- LD E,(IX+-1)
- CALL __fmul
- LD HL,16230537
- LD E,65
- CALL __fadd
- LD HL,(IX+-4)
- LD E,(IX+-1)
- CALL __fmul
- LD HL,12590209
- LD E,193
- CALL __fadd
- LD (IX+-12),BC
- LD (IX+-9),A
-; 48 temp = temp/(((1.0*zsq + q2)*zsq + q1)*zsq + q0);
- LD BC,(IX+-4)
- LD A,(IX+-1)
- LD HL,955367
- LD E,193
- CALL __fadd
- LD HL,(IX+-4)
- LD E,(IX+-1)
- CALL __fmul
- LD HL,10213637
- LD E,65
- CALL __fadd
- LD HL,(IX+-4)
- LD E,(IX+-1)
- CALL __fmul
- LD HL,4201601
- LD E,193
- CALL __fadd
- LD E,A
- LD HL,BC
- LD BC,(IX+-12)
- LD A,(IX+-9)
- CALL __fdiv
- LD (IX+-12),BC
- LD (IX+-9),A
-; 49 temp = temp*z + exp*log2;
- LD HL,(IX+-19)
- LD E,(IX+-16)
- LD A,(IX+-9)
- CALL __fmul
- LD (IX+-23),BC
- LD BC,(IX+-15)
- LD (IX+-20),A
- CALL __itol
- CALL __ltof
- LD HL,3240472
- LD E,63
- CALL __fmul
- LD E,A
- LD HL,BC
- LD BC,(IX+-23)
- LD A,(IX+-20)
- CALL __fadd
- LD (IX+-12),BC
- LD (IX+-9),A
-; 50 return temp;
- LD E,(IX+-9)
- LD HL,BC
-; 51 }
-L_5:
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _log ***************************
-;Name Addr/Register Size Type
-;_frexp IMPORT ----- function
-;__huge_val IMPORT 4 variable
-;_errno IMPORT 3 variable
-;z IX-19 4 variable
-;exp IX-15 3 variable
-;temp IX-12 4 variable
-;x IX-8 4 variable
-;zsq IX-4 4 variable
-;arg IX+6 4 parameter
-
-
-; Stack Frame Size: 39 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF _frexp:ROM
- XREF __huge_val:ROM
- XREF _errno:ROM
- XREF __fadd:ROM
- XREF __fsub:ROM
- XREF __fmul:ROM
- XREF __fdiv:ROM
- XREF __fneg:ROM
- XREF __fcmp:ROM
- XREF __ltof:ROM
- XREF __itol:ROM
- XREF __frameset:ROM
- XDEF _log
- END
diff --git a/frontends/calculator/CEdev/lib/static/log10.src b/frontends/calculator/CEdev/lib/static/log10.src deleted file mode 100644 index e0f7265..0000000 --- a/frontends/calculator/CEdev/lib/static/log10.src +++ /dev/null @@ -1,48 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\LOG10.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 #include <math.h>
-; 2
-; 3 double log10(double x) {
-_log10:
- CALL __frameset0
-; 4 return log(x) / M_LN10;
- LD C,(IX+9)
- LD B,0
- PUSH BC
- LD BC,(IX+6)
- PUSH BC
- CALL _log
- POP BC
- POP BC
- LD BC,HL
- LD HL,1269134
- LD A,E
- LD E,64
- CALL __fdiv
- LD E,A
- LD HL,BC
-; 5 }
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _log10 ***************************
-;Name Addr/Register Size Type
-;_log IMPORT ----- function
-;x IX+6 4 parameter
-
-
-; Stack Frame Size: 12 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF _log:ROM
- XREF __fdiv:ROM
- XREF __frameset0:ROM
- XDEF _log10
- END
diff --git a/frontends/calculator/CEdev/lib/static/modf.src b/frontends/calculator/CEdev/lib/static/modf.src deleted file mode 100644 index 6172da4..0000000 --- a/frontends/calculator/CEdev/lib/static/modf.src +++ /dev/null @@ -1,166 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\MODF.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 /************************************************************************/
-; 2 /* */
-; 3 /* Copyright (C)1987-2008 by */
-; 4 /* Zilog, Inc. */
-; 5 /* */
-; 6 /* San Jose, California */
-; 7 /* */
-; 8 /************************************************************************/
-; 9
-; 10 #include <math.h>
-; 11
-; 12 typedef union {
-; 13 float value;
-; 14 unsigned long bits;
-; 15 } Ieee754;
-; 16
-; 17 enum
-; 18 { // The IEEE 754 format is:
-; 19 // SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM
-; 20 // (with an implicit mantissa high-order 1-bit.)
-; 21 mastissa_shift = 0,
-; 22 mastissa_bits = 23,
-; 23 exponent_bits = 8,
-; 24 exponent_shift = mastissa_shift + mastissa_bits,
-; 25 sign_shift = exponent_shift + exponent_bits,
-; 26 exponent_mask = (1 << exponent_bits) -1, // shifted = 0x7F800000
-; 27 exponent_max = (1 << exponent_bits) -1,
-; 28 exponent_base = 127,
-; 29 exponent_min = 0
-; 30 };
-; 31
-; 32 /* modf - Standard C library routine
-; 33 * modf returns the integral and fractional components of its
-; 34 * floating point argument.
-; 35 *
-; 36 * Arguments:
-; 37 * value - the floating point argument
-; 38 * pIntegral - pointer to the returned integral component
-; 39 *
-; 40 * Returns:
-; 41 * - the fractional component
-; 42 */
-; 43 double modf( double value, double *pIntegral ) {
-_modf:
- LD HL,-7
- CALL __frameset
-; 44 Ieee754 integral;
-; 45 int exponent;
-; 46
-; 47 integral.value = value;
- LD BC,(IX+6)
- LD A,(IX+9)
- LD (IX+-4),BC
- LD (IX+-1),A
-; 48 frexp( value, &exponent);
- PEA IX+-7
- LD C,(IX+9)
- LD B,0
- PUSH BC
- LD BC,(IX+6)
- PUSH BC
- CALL _frexp
- POP BC
- POP BC
- POP BC
-; 49 if ( exponent <= 0 ) { // set integral portion to zero
- LD BC,(IX+-7)
- OR A,A
- SBC HL,HL
- OR A,A
- SBC HL,BC
- CALL __setflag
- JP M,L_2
-; 50 integral.bits = 0;
- LD BC,0
- LD (IX+-4),BC
- XOR A,A
- LD (IX+-1),A
-; 51 } else if ( exponent <= mastissa_bits ) { // mask out fractional portion
- JR L_4
-L_2:
- LD BC,(IX+-7)
- LD HL,23
- OR A,A
- SBC HL,BC
- CALL __setflag
- JP M,L_4
-; 52 integral.bits &= -1L << (mastissa_bits - exponent + 1);
- LD HL,23
- LD BC,(IX+-7)
- OR A,A
- SBC HL,BC
- INC HL
- LD BC,HL
- CALL __itol
- LD HL,BC
- LD BC,16777215
- LD A,255
- CALL __lshl
- LD E,A
- LD HL,BC
- LD BC,(IX+-4)
- LD A,(IX+-1)
- CALL __land
- LD (IX+-4),HL
- LD (IX+-1),E
-; 53 }
-L_4:
-; 54 if ( pIntegral != 0 ) {
- LD HL,(IX+12)
- CALL __icmpzero
- JR Z,L_5
-; 55 *pIntegral = integral.value;
- LD HL,(IX+12)
- LD BC,(IX+-4)
- LD A,(IX+-1)
- LD (HL),BC
- INC HL
- INC HL
- INC HL
- LD (HL),A
-; 56 }
-L_5:
-; 57 return value - integral.value;
- LD HL,(IX+-4)
- LD E,(IX+-1)
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fsub
- LD E,A
- LD HL,BC
-; 58 }
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _modf ***************************
-;Name Addr/Register Size Type
-;_frexp IMPORT ----- function
-;exponent IX-7 3 variable
-;integral IX-4 4 variable
-;pIntegral IX+12 3 parameter
-;value IX+6 4 parameter
-
-
-; Stack Frame Size: 22 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF _frexp:ROM
- XREF __land:ROM
- XREF __lshl:ROM
- XREF __fsub:ROM
- XREF __itol:ROM
- XREF __frameset:ROM
- XREF __setflag:ROM
- XREF __icmpzero:ROM
- XDEF _modf
- END
diff --git a/frontends/calculator/CEdev/lib/static/pow.src b/frontends/calculator/CEdev/lib/static/pow.src deleted file mode 100644 index b9a8c19..0000000 --- a/frontends/calculator/CEdev/lib/static/pow.src +++ /dev/null @@ -1,187 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\POW.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 /************************************************************************/
-; 2 /* */
-; 3 /* Copyright (C)1987-2008 by */
-; 4 /* Zilog, Inc. */
-; 5 /* */
-; 6 /* San Jose, California */
-; 7 /* */
-; 8 /************************************************************************/
-; 9
-; 10 #include <errno.h>
-; 11 #include <math.h>
-; 12
-; 13 double pow( double arg1, double arg2 ) {
-_pow:
- LD HL,-8
- CALL __frameset
- OR A,A
-; 14 double result;
-; 15 long temp;
-; 16
-; 17 if ( arg1 > 0.0 ){
- SBC HL,HL
- LD E,0
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fcmp
- JP P,L_8
-; 18 return exp( arg2 * log( arg1 ) );
- LD C,(IX+9)
- LD B,0
- PUSH BC
- LD BC,(IX+6)
- PUSH BC
- CALL _log
- POP BC
- POP BC
- LD A,E
- LD BC,HL
- LD HL,(IX+12)
- LD E,(IX+15)
- CALL __fmul
- LD DE,BC
- LD C,A
- LD B,0
- PUSH BC
- PUSH DE
- CALL _exp
- POP BC
- POP BC
- JR L_12
-; 19 }
-L_8:
-; 20 if ( arg1 < 0.0 ){
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,0
- XOR A,A
- CALL __fcmp
- JP P,L_10
-; 21 temp = arg2;
-; 22 if ( temp == arg2 ){
- LD BC,(IX+12)
- LD A,(IX+15)
- CALL __ftol
- CALL __ltof
- LD E,A
- LD HL,BC
- LD BC,(IX+12)
- LD A,(IX+15)
- CALL __fcmp
- JR NZ,L_6
-; 23 result = exp( arg2 * log( -arg1 ) );
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fneg
- LD DE,BC
- LD C,A
- LD B,0
- PUSH BC
- PUSH DE
- CALL _log
- POP BC
- POP BC
- LD A,E
- LD BC,HL
- LD HL,(IX+12)
- LD E,(IX+15)
- CALL __fmul
- LD DE,BC
- LD C,A
- LD B,0
- PUSH BC
- PUSH DE
- CALL _exp
- POP BC
- POP BC
- LD (IX+-4),HL
- LD (IX+-1),E
-; 24 return temp & 1 ? -result : result;
- LD BC,(IX+12)
- LD A,(IX+15)
- CALL __ftol
- LD A,C
- AND A,1
- UEXT HL
- LD L,A
- LD E,H
- CALL __lcmpzero
- JR Z,L_3
- LD BC,(IX+-4)
- LD A,(IX+-1)
- CALL __fneg
- LD (IX+-8),BC
- LD (IX+-5),A
- JR L_4
-L_3:
- LD BC,(IX+-4)
- LD A,(IX+-1)
- LD (IX+-8),BC
- LD (IX+-5),A
-L_4:
- LD HL,(IX+-8)
- LD E,(IX+-5)
- JR L_12
-; 25 }
-L_6:
-; 26 errno = EDOM;
- LD BC,4
- LD (_errno),BC
-; 27 }
-L_10:
- OR A,A
-; 28 if ( arg2 <= 0.0 ){
- SBC HL,HL
- LD E,0
- LD BC,(IX+12)
- LD A,(IX+15)
- CALL __fcmp
- JP M,L_11
-; 29 errno = EDOM;
- LD BC,4
- LD (_errno),BC
-; 30 }
-L_11:
- OR A,A
-; 31 return 0.0;
- SBC HL,HL
-; 32 }
-L_12:
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _pow ***************************
-;Name Addr/Register Size Type
-;_errno IMPORT 3 variable
-;_log IMPORT ----- function
-;_exp IMPORT ----- function
-;temp1 IX-8 4 variable
-;result IX-4 4 variable
-;arg2 IX+12 4 parameter
-;arg1 IX+6 4 parameter
-
-
-; Stack Frame Size: 26 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF _log:ROM
- XREF _exp:ROM
- XREF _errno:ROM
- XREF __fmul:ROM
- XREF __fneg:ROM
- XREF __fcmp:ROM
- XREF __ftol:ROM
- XREF __ltof:ROM
- XREF __frameset:ROM
- XREF __lcmpzero:ROM
- XDEF _pow
- END
diff --git a/frontends/calculator/CEdev/lib/static/sin.src b/frontends/calculator/CEdev/lib/static/sin.src deleted file mode 100644 index 8929126..0000000 --- a/frontends/calculator/CEdev/lib/static/sin.src +++ /dev/null @@ -1,340 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\SIN.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 /************************************************************************/
-; 2 /* */
-; 3 /* Copyright (C) 1999-2008 by Zilog, Inc. */
-; 4 /* */
-; 5 /************************************************************************/
-; 6 /*
-; 7 C program for floating point sin/cos.
-; 8 Calls modf.
-; 9 There are no error exits.
-; 10 Coefficients are #3370 from Hart & Cheney (18.80D).
-; 11 */
-; 12 #include <math.h>
-; 13
-; 14
-; 15 #define twoopi 0.636619772367581
-; 16 #define p0 0.135788409787738e8
-; 17 #define p1 -0.494290810090284e7
-; 18 #define p2 0.440103053537527e6
-; 19 #define p3 -0.138472724998245e5
-; 20 #define p4 0.145968840666577e3
-; 21 #define q0 0.864455865292253e7
-; 22 #define q1 0.408179225234330e6
-; 23 #define q2 0.946309610153821e4
-; 24 #define q3 0.132653490878614e3
-; 25
-; 26 double sinus(double,int);
-; 27
-; 28 double sin(double arg) {
-_sin:
- CALL __frameset0
-; 29 return(sinus(arg, 0));
- LD BC,0
- PUSH BC
- LD C,(IX+9)
- LD B,0
- PUSH BC
- LD BC,(IX+6)
- PUSH BC
- CALL _sinus
- POP BC
- POP BC
- POP BC
-; 30 }
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _sin ***************************
-;Name Addr/Register Size Type
-;_sinus IMPORT ----- function
-;arg IX+6 4 parameter
-
-
-; Stack Frame Size: 12 (bytes)
-; Spill Code: 0 (instruction)
-
-
-; 31
-; 32 double sinus(double arg, int quad)
-; 33 {
-_sinus:
- LD HL,-28
- CALL __frameset
-; 34 double e, f;
-; 35 int k;
-; 36 double ysq;
-; 37 double x,y;
-; 38 double temp1, temp2;
-; 39
-; 40 x = arg;
- LD BC,(IX+6)
- LD A,(IX+9)
- LD (IX+-4),BC
- LD (IX+-1),A
-; 41 if(x<0) {
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,0
- XOR A,A
- CALL __fcmp
- JP P,L_2
-; 42 x = -x;
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fneg
- LD (IX+-4),BC
- LD (IX+-1),A
-; 43 quad = quad + 2;
- LD IY,(IX+12)
- LEA IY,IY+2
- LD (IX+12),IY
-; 44 }
-L_2:
-; 45 x = x*twoopi; /*underflow?*/
- LD HL,2292099
- LD E,63
- LD BC,(IX+-4)
- LD A,(IX+-1)
- CALL __fmul
- LD (IX+-4),BC
- LD (IX+-1),A
-; 46 if(x>32764){
- LD HL,16775168
- LD E,70
- CALL __fcmp
- JP P,L_4
-; 47 y = modf(x,&e);
- PEA IX+-16
- LD C,(IX+-1)
- LD B,0
- PUSH BC
- LD BC,(IX+-4)
- PUSH BC
- CALL _modf
- POP BC
- POP BC
- POP BC
- LD (IX+-12),HL
- LD (IX+-9),E
-; 48 e = e + quad;
- LD BC,(IX+12)
- CALL __itol
- CALL __ltof
- LD E,A
- LD HL,BC
- LD BC,(IX+-16)
- LD A,(IX+-13)
- CALL __fadd
- LD (IX+-16),BC
- LD (IX+-13),A
-; 49 modf(0.25*e,&f);
- PEA IX+-20
- LD A,(IX+-13)
- LD HL,8388608
- LD E,62
- CALL __fmul
- LD DE,BC
- LD C,A
- LD B,0
- PUSH BC
- PUSH DE
- CALL _modf
- POP BC
- POP BC
- POP BC
-; 50 quad = e - 4*f;
- LD BC,(IX+-20)
- LD A,(IX+-17)
- LD HL,8388608
- LD E,64
- CALL __fmul
- LD E,A
- LD HL,BC
- LD BC,(IX+-16)
- LD A,(IX+-13)
- CALL __fsub
- CALL __ftol
- LD (IX+12),BC
-; 51 }else{
- JR L_6
-L_4:
-; 52 k = x;
-; 53 y = x - k;
- LD BC,(IX+-4)
- LD A,(IX+-1)
- CALL __ftol
- CALL __itol
- CALL __ltof
- LD E,A
- LD HL,BC
- LD BC,(IX+-4)
- LD A,(IX+-1)
- CALL __fsub
- LD (IX+-12),BC
- LD (IX+-9),A
-; 54 quad = (quad + k) & 03;
- LD BC,(IX+-4)
- LD A,(IX+-1)
- CALL __ftol
- LD HL,BC
- LD BC,(IX+12)
- ADD HL,BC
- LD A,L
- AND A,3
- UEXT HL
- LD L,A
- LD (IX+12),HL
-; 55 }
-L_6:
-; 56 if (quad & 01)
- LD A,(IX+12)
- AND A,1
- UEXT HL
- LD L,A
- CALL __icmpzero
- JR Z,L_8
-; 57 y = 1-y;
- LD HL,(IX+-12)
- LD E,(IX+-9)
- LD BC,8388608
- LD A,63
- CALL __fsub
- LD (IX+-12),BC
- LD (IX+-9),A
-L_8:
-; 58 if(quad > 1)
- LD BC,(IX+12)
- LD HL,1
- OR A,A
- SBC HL,BC
- CALL __setflag
- JP P,L_9
-; 59 y = -y;
- LD BC,(IX+-12)
- LD A,(IX+-9)
- CALL __fneg
- LD (IX+-12),BC
- LD (IX+-9),A
-L_9:
-; 60
-; 61 ysq = y*y;
- LD HL,(IX+-12)
- LD E,(IX+-9)
- LD BC,(IX+-12)
- LD A,(IX+-9)
- CALL __fmul
- LD (IX+-8),BC
- LD (IX+-5),A
-; 62 temp1 = ((((p4*ysq+p3)*ysq+p2)*ysq+p1)*ysq+p0)*y;
- LD HL,1177606
- LD E,67
- CALL __fmul
- LD HL,5790999
- LD E,198
- CALL __fadd
- LD HL,(IX+-8)
- LD E,(IX+-5)
- CALL __fmul
- LD HL,14083298
- LD E,72
- CALL __fadd
- LD HL,(IX+-8)
- LD E,(IX+-5)
- CALL __fmul
- LD HL,9885816
- LD E,202
- CALL __fadd
- LD HL,(IX+-8)
- LD E,(IX+-5)
- CALL __fmul
- LD HL,5190233
- LD E,75
- CALL __fadd
- LD HL,(IX+-12)
- LD E,(IX+-9)
- CALL __fmul
- LD (IX+-24),BC
- LD (IX+-21),A
-; 63 temp2 = ((((ysq+q3)*ysq+q2)*ysq+q1)*ysq+q0);
- LD BC,(IX+-8)
- LD A,(IX+-5)
- LD HL,304971
- LD E,67
- CALL __fadd
- LD HL,(IX+-8)
- LD E,(IX+-5)
- CALL __fmul
- LD HL,1301602
- LD E,70
- CALL __fadd
- LD HL,(IX+-8)
- LD E,(IX+-5)
- CALL __fmul
- LD HL,13061735
- LD E,72
- CALL __fadd
- LD HL,(IX+-8)
- LD E,(IX+-5)
- CALL __fmul
- LD HL,255951
- LD E,75
- CALL __fadd
- LD (IX+-28),BC
- LD (IX+-25),A
-; 64 return(temp1/temp2);
- LD HL,BC
- LD BC,(IX+-24)
- LD E,(IX+-25)
- LD A,(IX+-21)
- CALL __fdiv
- LD E,A
- LD HL,BC
-; 65 }
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _sinus ***************************
-;Name Addr/Register Size Type
-;_modf IMPORT ----- function
-;temp2 IX-28 4 variable
-;temp1 IX-24 4 variable
-;f IX-20 4 variable
-;e IX-16 4 variable
-;y IX-12 4 variable
-;ysq IX-8 4 variable
-;x IX-4 4 variable
-;quad IX+12 3 parameter
-;arg IX+6 4 parameter
-
-
-; Stack Frame Size: 43 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF _modf:ROM
- XREF __fadd:ROM
- XREF __fsub:ROM
- XREF __fmul:ROM
- XREF __fdiv:ROM
- XREF __fneg:ROM
- XREF __fcmp:ROM
- XREF __ftol:ROM
- XREF __ltof:ROM
- XREF __itol:ROM
- XREF __frameset0:ROM
- XREF __frameset:ROM
- XREF __setflag:ROM
- XREF __icmpzero:ROM
- XDEF _sinus
- XDEF _sin
- END
diff --git a/frontends/calculator/CEdev/lib/static/sinh.src b/frontends/calculator/CEdev/lib/static/sinh.src deleted file mode 100644 index 79f6da9..0000000 --- a/frontends/calculator/CEdev/lib/static/sinh.src +++ /dev/null @@ -1,377 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\SINH.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 /************************************************************************/
-; 2 /* */
-; 3 /* Copyright (C)1987-2008 by */
-; 4 /* Zilog, Inc. */
-; 5 /* */
-; 6 /* San Jose, California */
-; 7 /* */
-; 8 /************************************************************************/
-; 9 /*
-; 10 sinh(arg) returns the hyperbolic sine of its floating-
-; 11 point argument.
-; 12
-; 13 The exponential function is called for arguments
-; 14 greater in magnitude than 0.5.
-; 15
-; 16 A series is used for arguments smaller in magnitude than 0.5.
-; 17 The coefficients are #2029 from Hart & Cheney. (20.36D)
-; 18
-; 19 cosh(arg) is computed from the exponential function for
-; 20 all arguments.
-; 21 */
-; 22
-; 23 #include <math.h>
-; 24
-; 25 #define p0 -0.630767364049772e+6
-; 26 #define p1 -0.899127202203951e+5
-; 27 #define p2 -0.289421135598956e+4
-; 28 #define p3 -0.263056321339750e+2
-; 29 #define q0 -0.630767364049772e+6
-; 30 #define q1 0.152151737879002e+5
-; 31 #define q2 -0.173678953558234e+3
-; 32
-; 33 double sinh(double arg) {
-_sinh:
- LD HL,-24
- CALL __frameset
-; 34 double temp, argsq;
-; 35 register int sign;
-; 36
-; 37 sign = 1;
- LD BC,1
- LD (IX+-11),BC
-; 38 if(arg < 0) {
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,0
- XOR A,A
- CALL __fcmp
- JP P,L_4
-; 39 arg = -arg;
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fneg
- LD (IX+6),BC
- LD (IX+9),A
-; 40 sign = -1;
- LD BC,16777215
- LD (IX+-11),BC
-; 41 }
-L_4:
-; 42
-; 43 if(arg > 21.) {
- LD HL,11010048
- LD E,65
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fcmp
- JP P,L_6
-; 44 temp = exp(arg)/2;
- LD C,(IX+9)
- LD B,0
- PUSH BC
- LD BC,(IX+6)
- PUSH BC
- CALL _exp
- POP BC
- POP BC
- LD A,E
- LD BC,HL
- OR A,A
- SBC HL,HL
- LD E,64
- CALL __fdiv
- LD (IX+-4),BC
- LD (IX+-1),A
-; 45 if (sign>0)
- LD BC,(IX+-11)
- OR A,A
- SBC HL,HL
- OR A,A
- SBC HL,BC
- CALL __setflag
- JP P,L_2
-; 46 return(temp);
- LD HL,(IX+-4)
- LD E,(IX+-1)
- JR L_8
-; 47 else
-L_2:
-; 48 return(-temp);
- LD BC,(IX+-4)
- LD A,(IX+-1)
- CALL __fneg
- LD E,A
- LD HL,BC
- JR L_8
-; 49 }
-L_6:
- OR A,A
-; 50
-; 51 if(arg > 0.5) {
- SBC HL,HL
- LD E,63
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fcmp
- JP P,L_7
-; 52 return(sign*(exp(arg) - exp(-arg))/2);
- LD C,(IX+9)
- LD B,0
- PUSH BC
- LD BC,(IX+6)
- PUSH BC
- CALL _exp
- POP BC
- POP BC
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fneg
- LD (IX+-14),HL ; spill
- LD (IX+-17),BC ; spill
- LD HL,(IX+-14) ; unspill
- LD C,A
- LD B,0
- PUSH BC
- LD (IX+-14),HL ; spill
- LD HL,(IX+-17) ; unspill
- PUSH HL
- LD HL,(IX+-14) ; unspill
- LD BC,HL
- LD A,E
- LD (IX+-23),BC
- LD (IX+-24),A
- CALL _exp
- LD BC,(IX+-23)
- LD A,(IX+-24)
- POP IY
- POP IY
- CALL __fsub
- LD (IX+-20),BC
- LD BC,(IX+-11)
- LD H,A
- CALL __itol
- CALL __ltof
- LD E,A
- LD A,H
- LD HL,BC
- LD BC,(IX+-20)
- CALL __fmul
- OR A,A
- SBC HL,HL
- LD E,64
- CALL __fdiv
- LD E,A
- LD HL,BC
- JR L_8
-; 53 }
-L_7:
-; 54
-; 55 argsq = arg*arg;
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fmul
- LD (IX+-8),BC
- LD (IX+-5),A
-; 56 temp = (((p3*argsq+p2)*argsq+p1)*argsq+p0)*arg;
- LD HL,13791727
- LD E,193
- CALL __fmul
- LD HL,3466082
- LD E,197
- CALL __fadd
- LD HL,(IX+-8)
- LD E,(IX+-5)
- CALL __fmul
- LD HL,11508828
- LD E,199
- CALL __fadd
- LD HL,(IX+-8)
- LD E,(IX+-5)
- CALL __fmul
- LD HL,1703670
- LD E,201
- CALL __fadd
- LD HL,(IX+6)
- LD E,(IX+9)
- CALL __fmul
- LD (IX+-4),BC
- LD (IX+-1),A
-; 57 temp /= (((argsq+q2)*argsq+q1)*argsq+q0);
- LD BC,(IX+-8)
- LD A,(IX+-5)
- LD HL,2993616
- LD E,195
- CALL __fadd
- LD HL,(IX+-8)
- LD E,(IX+-5)
- CALL __fmul
- LD HL,7191730
- LD E,70
- CALL __fadd
- LD HL,(IX+-8)
- LD E,(IX+-5)
- CALL __fmul
- LD HL,1703670
- LD E,201
- CALL __fadd
- LD E,A
- LD A,(IX+-1)
- LD HL,BC
- LD BC,(IX+-4)
- CALL __fdiv
- LD (IX+-4),BC
- LD (IX+-1),A
-; 58 return(sign*temp);
- LD BC,(IX+-11)
- CALL __itol
- CALL __ltof
- LD HL,(IX+-4)
- LD E,(IX+-1)
- CALL __fmul
- LD E,A
- LD HL,BC
-; 59 }
-L_8:
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _sinh ***************************
-;Name Addr/Register Size Type
-;_exp IMPORT ----- function
-;sign IX-11 3 variable
-;argsq IX-8 4 variable
-;temp IX-4 4 variable
-;arg IX+6 4 parameter
-
-
-; Stack Frame Size: 36 (bytes)
-; Spill Code: 0 (instruction)
-
-
-; 60
-; 61 double cosh(double arg) {
-_cosh:
- LD HL,-4
- CALL __frameset
-; 62 double val;
-; 63
-; 64 if(arg < 0) {
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,0
- XOR A,A
- CALL __fcmp
- JP P,L_10
-; 65 arg = -arg;
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fneg
- LD (IX+6),BC
- LD (IX+9),A
-; 66 }
-L_10:
-; 67
-; 68 val = exp(arg);
- LD C,(IX+9)
- LD B,0
- PUSH BC
- LD BC,(IX+6)
- PUSH BC
- CALL _exp
- POP BC
- POP BC
- LD (IX+-4),HL
- LD (IX+-1),E
-; 69
-; 70 if(arg > 21.) {
- LD E,65
- LD BC,(IX+6)
- LD A,(IX+9)
- LD HL,11010048
- CALL __fcmp
- JP P,L_12
- OR A,A
-; 71 return(val/2);
- SBC HL,HL
- LD E,64
- LD BC,(IX+-4)
- LD A,(IX+-1)
- CALL __fdiv
- LD E,A
- LD HL,BC
- JR L_13
-; 72 }
-L_12:
-; 73
-; 74 val += exp(-arg);
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fneg
- LD DE,BC
- LD C,A
- LD B,0
- PUSH BC
- PUSH DE
- CALL _exp
- POP BC
- POP BC
- LD A,E
- LD BC,HL
- LD HL,(IX+-4)
- LD E,(IX+-1)
- CALL __fadd
- LD (IX+-4),BC
- LD (IX+-1),A
- OR A,A
-; 75 val /= 2;
- SBC HL,HL
- LD E,64
- CALL __fdiv
- LD (IX+-4),BC
- LD (IX+-1),A
-; 76 return(val);
- LD E,(IX+-1)
- LD HL,BC
-; 77 }
-L_13:
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _cosh ***************************
-;Name Addr/Register Size Type
-;_exp IMPORT ----- function
-;val IX-4 4 variable
-;arg IX+6 4 parameter
-
-
-; Stack Frame Size: 16 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF _exp:ROM
- XREF __fadd:ROM
- XREF __fsub:ROM
- XREF __fmul:ROM
- XREF __fdiv:ROM
- XREF __fneg:ROM
- XREF __fcmp:ROM
- XREF __ltof:ROM
- XREF __itol:ROM
- XREF __frameset:ROM
- XREF __setflag:ROM
- XDEF _cosh
- XDEF _sinh
- END
diff --git a/frontends/calculator/CEdev/lib/static/sqrt.src b/frontends/calculator/CEdev/lib/static/sqrt.src deleted file mode 100644 index 7a20210..0000000 --- a/frontends/calculator/CEdev/lib/static/sqrt.src +++ /dev/null @@ -1,83 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\SQRT.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 /************************************************************************/
-; 2 /* */
-; 3 /* Copyright (C)1987-2008 by */
-; 4 /* Zilog, Inc. */
-; 5 /* */
-; 6 /* San Jose, California */
-; 7 /* */
-; 8 /************************************************************************/
-; 9
-; 10 #include <errno.h>
-; 11 #include <math.h>
-; 12
-; 13 extern double sqrtf( double value );
-; 14
-; 15 // sqrt - Standard C library routine
-; 16 // sqrt returns the square root of its floating point argument.
-; 17 //
-; 18 // Arguments:
-; 19 // value - the floating point argument
-; 20 //
-; 21 // Returns:
-; 22 // - the square root (or zero if the argument is negative)
-; 23 //
-; 24
-; 25 double sqrt( double value ) {
-_sqrt:
- CALL __frameset0
-; 26 if ( value < 0.0 ) {
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,0
- XOR A,A
- CALL __fcmp
- JP P,L_1
-; 27 errno = EDOM;
- LD BC,4
- LD (_errno),BC
- OR A,A
-; 28 return 0.0;
- SBC HL,HL
- LD E,0
- JR L_2
-; 29 }
-L_1:
-; 30 return sqrtf( value );
- LD C,(IX+9)
- LD B,0
- PUSH BC
- LD BC,(IX+6)
- PUSH BC
- CALL _sqrtf
- POP BC
- POP BC
-; 31 }
-L_2:
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _sqrt ***************************
-;Name Addr/Register Size Type
-;_sqrtf IMPORT ----- function
-;_errno IMPORT 3 variable
-;value IX+6 4 parameter
-
-
-; Stack Frame Size: 12 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF _sqrtf:ROM
- XREF _errno:ROM
- XREF __fcmp:ROM
- XREF __frameset0:ROM
- XDEF _sqrt
- END
diff --git a/frontends/calculator/CEdev/lib/static/strtod.src b/frontends/calculator/CEdev/lib/static/strtod.src deleted file mode 100644 index c879f1d..0000000 --- a/frontends/calculator/CEdev/lib/static/strtod.src +++ /dev/null @@ -1,534 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\STRTOD.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 /************************************************************************/
-; 2 /* */
-; 3 /* Copyright (C)1987-2008 by */
-; 4 /* Zilog, Inc. */
-; 5 /* */
-; 6 /* San Jose, California */
-; 7 /* */
-; 8 /************************************************************************/
-; 9 #include <stdlib.h>
-; 10 #include <ctype.h>
-; 11 #include <stdio.h>
-; 12 #include <limits.h>
-; 13 #include <stddef.h>
-; 14 #include <math.h>
-; 15 #include <errno.h>
-; 16 //#include <float.h>
-; 17
-; 18
-; 19 /*************************************************
-; 20 *
-; 21 * strtod - string to double conversion
-; 22 *
-; 23 * Inputs:
-; 24 * str - pointer to the character string
-; 25 * endptr - pointer to pointer to char to
-; 26 * put address of first char past
-; 27 * the end of the string -- or NULL
-; 28 * Returns:
-; 29 * the value of the number
-; 30 *
-; 31 *************************************************/
-; 32 double strtod(char * str,char ** endptr)
-; 33 {
-_strtod:
- LD HL,-23
- CALL __frameset
-; 34 union
-; 35 {
-; 36 double d;
-; 37 unsigned short s[2];
-; 38 }val;
-; 39 int frac = 0;
- LD BC,0
- LD (IX+-12),BC
-; 40 int exp = 0;
- LD (IX+-7),BC
-; 41 signed char sign = 1;
- LD (IX+-9),1
-; 42 signed char exp_sign = 1;
- LD (IX+-8),1
-; 43 double temp;
-; 44
-; 45 while (isspace(*str))
- JR L_0
-L_1:
-; 46 ++str;
- LD BC,(IX+6)
- INC BC
- LD (IX+6),BC
-L_0:
- LD HL,(IX+6)
- LD A,(HL)
- LD B,A
- SEXT HL
- LD L,B
- PUSH HL
- CALL _isspace
- POP BC
- CALL __icmpzero
- JR NZ,L_1
-; 47
-; 48 if (*str == '-') {
- LD HL,(IX+6)
- LD A,(HL)
- LD B,A
- SEXT HL
- LD L,B
- OR A,A
- LD BC,45
- SBC HL,BC
- JR NZ,L_4
-; 49 sign = -1;
- LD (IX+-9),255
-; 50 ++str;
- LD BC,(IX+6)
- INC BC
- LD (IX+6),BC
-; 51 }
-; 52 else if (*str == '+')
- JR L_6
-L_4:
- LD HL,(IX+6)
- LD A,(HL)
- LD B,A
- SEXT HL
- LD L,B
- OR A,A
- LD BC,43
- SBC HL,BC
- JR NZ,L_6
-; 53 ++str;
- LD BC,(IX+6)
- INC BC
- LD (IX+6),BC
-L_6:
-; 54
-; 55 val.d = 0;
- LD BC,0
- LD (IX+-4),BC
- XOR A,A
- LD (IX+-1),A
-; 56 while (*str >= '0' && *str <= '9') {
- JR L_8
-L_9:
-; 57 val.d = val.d * 10 + (*str - '0');
- LD HL,2097152
- LD E,65
- LD BC,(IX+-4)
- LD A,(IX+-1)
- CALL __fmul
- LD (IX+-20),A
- LD HL,(IX+6)
- LD A,(HL)
- LD D,A
- SEXT HL
- LD L,D
- LD IY,HL
- LD (IX+-23),BC
- LEA BC,IY+-48
- CALL __itol
- CALL __ltof
- LD E,A
- LD HL,BC
- LD BC,(IX+-23)
- LD A,(IX+-20)
- CALL __fadd
- LD (IX+-4),BC
- LD (IX+-1),A
-; 58 ++str;
- LD BC,(IX+6)
- INC BC
- LD (IX+6),BC
-; 59 }
-L_8:
- LD HL,(IX+6)
- LD A,(HL)
- LD B,A
- SEXT HL
- LD L,B
- OR A,A
- LD BC,48
- SBC HL,BC
- CALL __setflag
- JP M,L_14
- LD HL,(IX+6)
- LD A,(HL)
- LD B,A
- SEXT HL
- LD L,B
- LD BC,HL
- LD HL,57
- OR A,A
- SBC HL,BC
- CALL __setflag
- JP P,L_9
-L_14:
-; 60
-; 61 if (*str == '.') {
- LD HL,(IX+6)
- LD A,(HL)
- LD B,A
- SEXT HL
- LD L,B
- OR A,A
- LD BC,46
- SBC HL,BC
- JR NZ,L_24
-; 62 ++str;
- LD BC,(IX+6)
- INC BC
- LD (IX+6),BC
-; 63 while (*str >= '0' && *str <= '9') {
- JR L_11
-L_12:
-; 64 val.d = val.d * 10 + (*str - '0');
- LD HL,2097152
- LD E,65
- LD BC,(IX+-4)
- LD A,(IX+-1)
- CALL __fmul
- LD (IX+-16),A
- LD HL,(IX+6)
- LD A,(HL)
- LD D,A
- SEXT HL
- LD L,D
- LD IY,HL
- LD (IX+-19),BC
- LEA BC,IY+-48
- CALL __itol
- CALL __ltof
- LD E,A
- LD HL,BC
- LD BC,(IX+-19)
- LD A,(IX+-16)
- CALL __fadd
- LD (IX+-4),BC
- LD (IX+-1),A
-; 65 ++frac;
- LD BC,(IX+-12)
- INC BC
- LD (IX+-12),BC
-; 66 ++str;
- LD BC,(IX+6)
- INC BC
- LD (IX+6),BC
-; 67 }
-L_11:
- LD HL,(IX+6)
- LD A,(HL)
- LD B,A
- SEXT HL
- LD L,B
- OR A,A
- LD BC,48
- SBC HL,BC
- CALL __setflag
- JP M,L_24
- LD HL,(IX+6)
- LD A,(HL)
- LD B,A
- SEXT HL
- LD L,B
- LD BC,HL
- LD HL,57
- OR A,A
- SBC HL,BC
- CALL __setflag
- JP P,L_12
-; 68 }
-L_24:
-; 69
-; 70 if (*str == 'e' || *str == 'E') {
- LD HL,(IX+6)
- LD A,(HL)
- LD B,A
- SEXT HL
- LD L,B
- OR A,A
- LD BC,101
- SBC HL,BC
- JR Z,L_23
- LD HL,(IX+6)
- LD A,(HL)
- LD B,A
- SEXT HL
- LD L,B
- OR A,A
- LD BC,69
- SBC HL,BC
- JR NZ,L_26
-L_23:
-; 71 ++str;
- LD BC,(IX+6)
- INC BC
- LD (IX+6),BC
-; 72 if (*str == '-') {
- LD HL,BC
- LD A,(HL)
- LD B,A
- SEXT HL
- LD L,B
- OR A,A
- LD BC,45
- SBC HL,BC
- JR NZ,L_18
-; 73 exp_sign = -1;
- LD (IX+-8),255
-; 74 ++str;
- LD BC,(IX+6)
- INC BC
- LD (IX+6),BC
-; 75 }
-; 76 else if (*str == '+') {
- JR L_20
-L_18:
- LD HL,(IX+6)
- LD A,(HL)
- LD B,A
- SEXT HL
- LD L,B
- OR A,A
- LD BC,43
- SBC HL,BC
- JR NZ,L_20
-; 77 exp_sign = 1;
- LD (IX+-8),1
-; 78 ++str;
- LD BC,(IX+6)
- INC BC
- LD (IX+6),BC
-; 79 }
-; 80 while (*str >= '0' && *str <= '9') {
- JR L_20
-L_21:
-; 81 exp = exp * 10 + (*str - '0');
- LD HL,(IX+-7)
- LD A,10
- CALL __imul_b
- LD IY,(IX+6)
- LD A,(IY)
- LD B,A
- LD DE,HL
- SEXT HL
- LD L,B
- LD IY,HL
- LEA BC,IY+-48
- LD HL,DE
- ADD HL,BC
- LD (IX+-7),HL
-; 82 ++str;
- LD BC,(IX+6)
- INC BC
- LD (IX+6),BC
-; 83 }
-L_20:
- LD HL,(IX+6)
- LD A,(HL)
- LD B,A
- SEXT HL
- LD L,B
- OR A,A
- LD BC,48
- SBC HL,BC
- CALL __setflag
- JP M,L_26
- LD HL,(IX+6)
- LD A,(HL)
- LD B,A
- SEXT HL
- LD L,B
- LD BC,HL
- LD HL,57
- OR A,A
- SBC HL,BC
- CALL __setflag
- JP P,L_21
-; 84 }
-L_26:
-; 85
-; 86 if (endptr)
- LD HL,(IX+9)
- CALL __icmpzero
- JR Z,L_28
-; 87 *endptr = str;
- LD HL,(IX+9)
- LD BC,(IX+6)
- LD (HL),BC
-L_28:
-; 88
-; 89 if (exp_sign < 0 )
- LD A,(IX+-8)
- OR A,A
- JP P,L_29
-; 90 exp = -exp;
- LD HL,(IX+-7)
- CALL __ineg
- LD (IX+-7),HL
-L_29:
-; 91 exp -= frac;
- LD BC,(IX+-12)
- LD HL,(IX+-7)
- OR A,A
- SBC HL,BC
- LD (IX+-7),HL
-; 92 if (val.d != 0)
- LD HL,(IX+-4)
- LD E,(IX+-1)
- LD BC,0
- XOR A,A
- CALL __fcmp
- JR NZ,L_32
- JR L_42
-; 93 {
-; 94 while (exp > 0 )
-L_33:
-; 95 {
-; 96 val.d *= 10.0;
- LD HL,2097152
- LD E,65
- LD BC,(IX+-4)
- LD A,(IX+-1)
- CALL __fmul
- LD (IX+-4),BC
-; 97 if (val.s[1] == 0x7f80)
- LEA HL,IX+-2
- LD (IX+-1),A
- LD BC,(HL)
- CALL __stoiu
- OR A,A
- LD BC,32640
- SBC HL,BC
- JR NZ,L_31
-; 98 {
-; 99 errno = ERANGE;
- LD BC,5
- LD (_errno),BC
-; 100 val.d = HUGE_VAL;
- LD BC,(__huge_val)
- LD A,(__huge_val+3)
- LD (IX+-4),BC
- LD (IX+-1),A
-; 101 break;
- JR L_36
-; 102 }
-L_31:
-; 103 --exp;
- LD BC,(IX+-7)
- DEC BC
- LD (IX+-7),BC
-; 104 }
-L_32:
- LD BC,(IX+-7)
- OR A,A
- SBC HL,HL
- OR A,A
- SBC HL,BC
- CALL __setflag
- JP M,L_33
-; 105 while (exp < 0 )
- JR L_36
-L_37:
-; 106 {
-; 107 val.d *= .1;
- LD HL,13421773
- LD E,61
- LD BC,(IX+-4)
- LD A,(IX+-1)
- CALL __fmul
- LD (IX+-4),BC
-; 108 if (val.s[1] == 0)
- LEA HL,IX+-2
- LD (IX+-1),A
- LD HL,(HL)
- CALL __scmpzero
- JR NZ,L_35
-; 109 {
-; 110 errno = ERANGE;
- LD BC,5
- LD (_errno),BC
-; 111 break;
- JR L_40
-; 112 }
-L_35:
-; 113 ++exp;
- LD BC,(IX+-7)
- INC BC
- LD (IX+-7),BC
-; 114 }
-L_36:
- LD HL,(IX+-7)
- CALL __icmpzero
- CALL __setflag
- JP M,L_37
-L_40:
-; 115 if (sign < 0 )
- LD A,(IX+-9)
- OR A,A
- JP P,L_42
-; 116 val.s[1] |= 0x8000;
- LEA IY,IX+-2
- LD (IX+-15),IY
- LD HL,(IX+-15)
- LD HL,(HL)
- LD.LIS BC,32768
- CALL __sor
- LD BC,HL
- LD HL,(IX+-15)
- LD (HL),C
- INC HL
- LD (HL),B
-; 117 }
-L_42:
-; 118 return val.d;
- LD HL,(IX+-4)
- LD E,(IX+-1)
-; 119 }
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _strtod ***************************
-;Name Addr/Register Size Type
-;__huge_val IMPORT 4 variable
-;_errno IMPORT 3 variable
-;_isspace IMPORT ----- function
-;frac IX-12 3 variable
-;sign IX-9 1 variable
-;exp_sign IX-8 1 variable
-;exp IX-7 3 variable
-;val IX-4 4 variable
-;endptr IX+9 3 parameter
-;str IX+6 3 parameter
-
-
-; Stack Frame Size: 35 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF _errno:ROM
- XREF _isspace:ROM
- XREF __huge_val:ROM
- XREF __ineg:ROM
- XREF __sor:ROM
- XREF __fadd:ROM
- XREF __fmul:ROM
- XREF __fcmp:ROM
- XREF __ltof:ROM
- XREF __stoiu:ROM
- XREF __itol:ROM
- XREF __frameset:ROM
- XREF __setflag:ROM
- XREF __scmpzero:ROM
- XREF __icmpzero:ROM
- XREF __imul_b:ROM
- XDEF _strtod
- END
diff --git a/frontends/calculator/CEdev/lib/static/tan.src b/frontends/calculator/CEdev/lib/static/tan.src deleted file mode 100644 index e921da1..0000000 --- a/frontends/calculator/CEdev/lib/static/tan.src +++ /dev/null @@ -1,330 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\TAN.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 /************************************************************************/
-; 2 /* */
-; 3 /* Copyright (C)1987-2008 by */
-; 4 /* Zilog, Inc. */
-; 5 /* */
-; 6 /* San Jose, California */
-; 7 /* */
-; 8 /************************************************************************/
-; 9 /*
-; 10 floating point tangent
-; 11
-; 12 A series is used after range reduction.
-; 13 Coefficients are #4285 from Hart & Cheney. (19.74D)
-; 14 */
-; 15
-; 16 #include <errno.h>
-; 17 #include <math.h>
-; 18
-; 19 #define invpi 1.27323954473516
-; 20 #define p0 -0.130682026475483e+5
-; 21 #define p1 0.105597090171495e+4
-; 22 #define p2 -0.155068565348327e+2
-; 23 #define p3 0.342255438724100e-1
-; 24 #define p4 0.338663864267717e-4
-; 25 #define q0 -0.166389523894712e+5
-; 26 #define q1 0.476575136291648e+4
-; 27 #define q2 -0.155503316403171e+3
-; 28
-; 29 double tan(double arg)
-; 30 {
-_tan:
- LD HL,-26
- CALL __frameset
-; 31 double sign, temp, e, x, xsq;
-; 32 int flag, i;
-; 33
-; 34 flag = 0;
- LD BC,0
- LD (IX+-19),BC
-; 35 sign = 1.;
- LD BC,8388608
- LD (IX+-4),BC
- LD A,63
- LD (IX+-1),A
-; 36 if(arg < 0.){
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,0
- XOR A,A
- CALL __fcmp
- JP P,L_1
-; 37 arg = -arg;
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fneg
- LD (IX+6),BC
- LD (IX+9),A
-; 38 sign = -1.;
- LD BC,8388608
- LD (IX+-4),BC
- LD A,191
- LD (IX+-1),A
-; 39 }
-L_1:
-; 40 arg = arg*invpi; /*overflow?*/
- LD HL,10680707
- LD E,63
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fmul
- LD (IX+6),BC
- LD (IX+9),A
-; 41 x = modf(arg,(double *)&e);
- PEA IX+-26
- LD C,(IX+9)
- LD B,0
- PUSH BC
- LD BC,(IX+6)
- PUSH BC
- CALL _modf
- POP BC
- POP BC
- POP BC
- LD (IX+-8),HL
- LD (IX+-5),E
-; 42 i = e;
- LD BC,(IX+-26)
- LD A,(IX+-23)
- CALL __ftol
- LD (IX+-22),BC
-; 43 switch(i%4) {
- LD BC,4
- LD HL,(IX+-22)
- CALL __irems
- CALL __seqcase
-L__1:
- DW 4
- DW 0
- DB 0
- DW24 L_6
-
- DW24 L_2
-
- DW24 L_3
-
- DW24 L_4
-
- DW24 L_6
-
-; 44 case 1:
-L_2:
-; 45 x = 1. - x;
- LD HL,(IX+-8)
- LD E,(IX+-5)
- LD BC,8388608
- LD A,63
- CALL __fsub
- LD (IX+-8),BC
- LD (IX+-5),A
-; 46 flag = 1;
- LD BC,1
- LD (IX+-19),BC
-; 47 break;
- JR L_6
-; 48
-; 49 case 2:
-L_3:
-; 50 sign = - sign;
- LD BC,(IX+-4)
- LD A,(IX+-1)
- CALL __fneg
- LD (IX+-4),BC
- LD (IX+-1),A
-; 51 flag = 1;
- LD BC,1
- LD (IX+-19),BC
-; 52 break;
- JR L_6
-; 53
-; 54 case 3:
-L_4:
-; 55 x = 1. - x;
- LD HL,(IX+-8)
- LD E,(IX+-5)
- LD BC,8388608
- LD A,63
- CALL __fsub
- LD (IX+-8),BC
- LD (IX+-5),A
-; 56 sign = - sign;
- LD BC,(IX+-4)
- LD A,(IX+-1)
- CALL __fneg
- LD (IX+-4),BC
- LD (IX+-1),A
-; 57 break;
-; 58
-; 59 case 0:
-; 60 break;
-; 61 }
-L_6:
-; 62
-; 63 xsq = x*x;
- LD HL,(IX+-8)
- LD E,(IX+-5)
- LD BC,(IX+-8)
- LD A,(IX+-5)
- CALL __fmul
- LD (IX+-12),BC
- LD (IX+-9),A
-; 64 temp = ((((p4*xsq+p3)*xsq+p2)*xsq+p1)*xsq+p0)*x;
- LD HL,920513
- LD E,56
- CALL __fmul
- LD HL,798741
- LD E,61
- CALL __fadd
- LD HL,(IX+-12)
- LD E,(IX+-9)
- CALL __fmul
- LD HL,7871510
- LD E,193
- CALL __fadd
- LD HL,(IX+-12)
- LD E,(IX+-9)
- CALL __fmul
- LD HL,8650514
- LD E,68
- CALL __fadd
- LD HL,(IX+-12)
- LD E,(IX+-9)
- CALL __fmul
- LD HL,4993232
- LD E,198
- CALL __fadd
- LD HL,(IX+-8)
- LD E,(IX+-5)
- CALL __fmul
- LD (IX+-16),BC
- LD (IX+-13),A
-; 65 temp = temp/(((1.0*xsq+q2)*xsq+q1)*xsq+q0);
- LD BC,(IX+-12)
- LD A,(IX+-9)
- LD HL,1802457
- LD E,195
- CALL __fadd
- LD HL,(IX+-12)
- LD E,(IX+-9)
- CALL __fmul
- LD HL,9760259
- LD E,69
- CALL __fadd
- LD HL,(IX+-12)
- LD E,(IX+-9)
- CALL __fmul
- LD HL,8519144
- LD E,198
- CALL __fadd
- LD E,A
- LD HL,BC
- LD BC,(IX+-16)
- LD A,(IX+-13)
- CALL __fdiv
- LD (IX+-16),BC
- LD (IX+-13),A
-; 66
-; 67 if(flag == 1) {
- LD HL,(IX+-19)
- OR A,A
- LD BC,1
- SBC HL,BC
- JR NZ,L_12
-; 68 if(temp == 0.) {
- LD HL,(IX+-16)
- LD E,(IX+-13)
- LD BC,0
- XOR A,A
- CALL __fcmp
- JR NZ,L_10
-; 69 errno = ERANGE;
- LD BC,5
- LD (_errno),BC
-; 70 if (sign>0)
- LD BC,(IX+-4)
- LD A,(IX+-1)
- OR A,A
- SBC HL,HL
- LD E,0
- CALL __fcmp
- JP P,L_8
-; 71 return(HUGE_VAL);
- LD HL,(__huge_val)
- LD A,(__huge_val+3)
- LD E,A
- JR L_13
-L_8:
-; 72 return(-HUGE_VAL);
- LD BC,(__huge_val)
- LD A,(__huge_val+3)
- CALL __fneg
- LD E,A
- LD HL,BC
- JR L_13
-; 73 }
-L_10:
-; 74 temp = 1./temp;
- LD HL,(IX+-16)
- LD E,(IX+-13)
- LD BC,8388608
- LD A,63
- CALL __fdiv
- LD (IX+-16),BC
- LD (IX+-13),A
-; 75 }
-L_12:
-; 76 return(sign*temp);
- LD HL,(IX+-16)
- LD E,(IX+-13)
- LD BC,(IX+-4)
- LD A,(IX+-1)
- CALL __fmul
- LD E,A
- LD HL,BC
-; 77 }
-L_13:
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _tan ***************************
-;Name Addr/Register Size Type
-;__huge_val IMPORT 4 variable
-;_errno IMPORT 3 variable
-;_modf IMPORT ----- function
-;e IX-26 4 variable
-;i IX-22 3 variable
-;flag IX-19 3 variable
-;temp IX-16 4 variable
-;xsq IX-12 4 variable
-;x IX-8 4 variable
-;sign IX-4 4 variable
-;arg IX+6 4 parameter
-
-
-; Stack Frame Size: 38 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF _modf:ROM
- XREF __huge_val:ROM
- XREF _errno:ROM
- XREF __irems:ROM
- XREF __fadd:ROM
- XREF __fsub:ROM
- XREF __fmul:ROM
- XREF __fdiv:ROM
- XREF __fneg:ROM
- XREF __fcmp:ROM
- XREF __ftol:ROM
- XREF __frameset:ROM
- XREF __seqcase:ROM
- XDEF _tan
- END
diff --git a/frontends/calculator/CEdev/lib/static/tanh.src b/frontends/calculator/CEdev/lib/static/tanh.src deleted file mode 100644 index ca81134..0000000 --- a/frontends/calculator/CEdev/lib/static/tanh.src +++ /dev/null @@ -1,129 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\TANH.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 /************************************************************************/
-; 2 /* */
-; 3 /* Copyright (C)1987-2008 by */
-; 4 /* Zilog, Inc. */
-; 5 /* */
-; 6 /* San Jose, California */
-; 7 /* */
-; 8 /************************************************************************/
-; 9 /*
-; 10 tanh(arg) computes the hyperbolic tangent of its floating
-; 11 point argument.
-; 12
-; 13 sinh and cosh are called except for large arguments, which
-; 14 would cause overflow improperly.
-; 15 */
-; 16
-; 17 #include <math.h>
-; 18
-; 19 double tanh(double arg)
-; 20 {
-_tanh:
- LD HL,-10
- CALL __frameset
-; 21 double sign;
-; 22
-; 23 sign = 1.;
- LD BC,8388608
- LD (IX+-4),BC
- LD A,63
- LD (IX+-1),A
-; 24 if(arg < 0.){
- LD HL,(IX+6)
- LD E,(IX+9)
- LD BC,0
- XOR A,A
- CALL __fcmp
- JP P,L_2
-; 25 arg = -arg;
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fneg
- LD (IX+6),BC
- LD (IX+9),A
-; 26 sign = -1.;
- LD BC,8388608
- LD (IX+-4),BC
- LD A,191
- LD (IX+-1),A
-; 27 }
-L_2:
-; 28
-; 29 if(arg > 21.)
- LD HL,11010048
- LD E,65
- LD BC,(IX+6)
- LD A,(IX+9)
- CALL __fcmp
- JP P,L_3
-; 30 return(sign);
- LD HL,(IX+-4)
- LD E,(IX+-1)
- JR L_4
-L_3:
-; 31
-; 32 return(sign*sinh(arg)/cosh(arg));
- LD C,(IX+9)
- LD B,0
- PUSH BC
- LD BC,(IX+6)
- PUSH BC
- CALL _sinh
- POP BC
- POP BC
- LD A,E
- LD BC,HL
- LD HL,(IX+-4)
- LD E,(IX+-1)
- CALL __fmul
- LD (IX+-7),BC
- LD C,(IX+9)
- LD B,0
- PUSH BC
- LD BC,(IX+6)
- PUSH BC
- LD B,A
- LD (IX+-10),BC
- CALL _cosh
- LD BC,(IX+-10)
- POP IY
- POP IY
- LD A,B
- LD BC,(IX+-7)
- CALL __fdiv
- LD E,A
- LD HL,BC
-; 33 }
-L_4:
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** _tanh ***************************
-;Name Addr/Register Size Type
-;_cosh IMPORT ----- function
-;_sinh IMPORT ----- function
-;sign IX-4 4 variable
-;arg IX+6 4 parameter
-
-
-; Stack Frame Size: 22 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF _sinh:ROM
- XREF _cosh:ROM
- XREF __fmul:ROM
- XREF __fdiv:ROM
- XREF __fneg:ROM
- XREF __fcmp:ROM
- XREF __frameset:ROM
- XDEF _tanh
- END
diff --git a/frontends/calculator/CEdev/lib/static/ufltinfo.src b/frontends/calculator/CEdev/lib/static/ufltinfo.src deleted file mode 100644 index 8d15a7d..0000000 --- a/frontends/calculator/CEdev/lib/static/ufltinfo.src +++ /dev/null @@ -1,511 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\UFLTINFO.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 /*************************************************
-; 2 * Copyright (C) 1999-2008 by Zilog, Inc.
-; 3 * All Rights Reserved
-; 4 *************************************************/
-; 5
-; 6 #include <stddef.h>
-; 7 #include <format.h>
-; 8 #include <string.h>
-; 9
-; 10 #define BIT_PACKING 0
-; 11 #if (BIT_PACKING == 1)
-; 12 typedef union
-; 13 {
-; 14 float f;
-; 15 struct {
-; 16 unsigned long sign:1,
-; 17 exponent:8,
-; 18 mantissa:23;
-; 19 } s;
-; 20 long l;
-; 21 } ieee_795_float;
-; 22 #else
-; 23 typedef union {
-; 24 float f;
-; 25 unsigned long l;
-; 26 struct {
-; 27 unsigned int exponent1:1;
-; 28 unsigned int mantissa:23;
-; 29 unsigned int dummy:16;
-; 30 unsigned int sign:1, exponent2:7;
-; 31 } s;
-; 32 }ieee_795_float;
-; 33 #define EXP(e) ((e##2 << 1) | (e##1))
-; 34 #endif
-; 35
-; 36
-; 37 typedef long reg_t;
-; 38 typedef unsigned long ureg_t;
-; 39 /*************************************************
-; 40 *
-; 41 * _u_flt_info - Fills flt_info structure
-; 42 *
-; 43 * Inputs:
-; 44 * val - value to be converted
-; 45 * info - flt_info structure to be filled in.
-; 46 *
-; 47 * Outputs:
-; 48 * info->sign - TRUE if val is negative; FALSE otherwise.
-; 49 * info->exp - The power of ten in scientific notation.
-; 50 * info->digits[] - The first digit is the ones place, the rest are
-; 51 * decimal digits.
-; 52 *
-; 53 * Returns:
-; 54 * nothing
-; 55 *
-; 56 * Notes:
-; 57 * I moved the rounding out to the calling routine (which does it
-; 58 * anyway). As a space optimization, we compute all the digits out
-; 59 * to MAXDIGITS, so we no longer pay attention to ndig.<THH>
-; 60 * This only works for floating-point numbers having the format as
-; 61 * specified in the above structure.
-; 62 * Algorithm:
-; 63 * Too much precision is lost working in the floating-point domain, so we
-; 64 * unpack the fields of the floating-point number, force the base-2
-; 65 * exponent to zero and then convert the normalized mantissa to decimal
-; 66 * digits.
-; 67 *************************************************/
-; 68 void _u_flt_info(float val,struct flt_info * info)
-; 69 {
-__u_flt_info:
- LD HL,-25
- CALL __frameset
-; 70 ieee_795_float rep;
-; 71 register reg_t exp; // The base-2 exponent as a signed value.
-; 72 register reg_t exp10 = 0; // The base-10 exponent.
- LD BC,0
- LD (IX+-12),BC
- XOR A,A
- LD (IX+-9),A
-; 73 register ureg_t mant; // The mantissa, as an unsigned value.
-; 74 register ureg_t i;
-; 75
-; 76 // Clear the info structure (represents +0.000000000).
-; 77 memset(info,0,sizeof(struct flt_info));
- LD BC,12
- PUSH BC
- LD BC,0
- PUSH BC
- LD BC,(IX+12)
- PUSH BC
- CALL _memset
- POP BC
- POP BC
- POP BC
-; 78
-; 79 rep.f = val;
- LD BC,(IX+6)
- LD A,(IX+9)
- LD (IX+-18),BC
- LD (IX+-15),A
-; 80
-; 81 // All zero means zero!
-; 82 if (rep.l == 0) return;
- LD HL,BC
- LD E,(IX+-15)
- CALL __lcmpzero
- JR Z,L_26
-; 83
-; 84 if (rep.s.sign)
- LD HL,(IX+-15)
- LD A,16
- CALL __ishl_b
- LD A,23
- CALL __ishru_b
- CALL __icmpzero
- JR Z,L_3
-; 85 info->flags = FLT_INFO_SIGN;
- LD IY,(IX+12)
- LD (IY+0),1
-L_3:
-; 86
-; 87 // OK, unpack some fields.
-; 88
-; 89 exp = EXP(rep.s.exponent);
- LEA BC,IX+-18
- LD (IX+-25),BC
- LD IY,(IX+-25)
- LD HL,(IY+3)
- LD A,17
- CALL __ishl_b
- LD A,17
- CALL __ishru_b
- ADD HL,HL
- LD DE,HL
- LD HL,(IY+0)
- LD A,23
- CALL __ishru_b
- LD BC,HL
- LD HL,DE
- CALL __ior
- LD BC,HL
- CALL __itol
- LD (IX+-8),BC
- LD (IX+-5),A
-; 90
-; 91 mant = rep.s.mantissa;
- LD HL,(IY+0)
- ADD HL,HL
- LD A,1
- CALL __ishru_b
- LD BC,HL
- CALL __itol
- LD (IX+-4),BC
- LD (IX+-1),A
-; 92
-; 93 // If the exponent is 0xff, it is a special representation (Inf or NaN).
-; 94 if (exp == 0xff)
- LD HL,(IX+-8)
- LD E,(IX+-5)
- XOR A,A
- LD BC,255
- CALL __lcmps
- JR NZ,L_9
-; 95 {
-; 96 // If the mantissa is zero, it's Inf; otherwise, NaN.
-; 97 if (rep.s.mantissa == 0)
- LD HL,(IX+-18)
- ADD HL,HL
- LD A,1
- CALL __ishru_b
- CALL __icmpzero
- JR NZ,L_5
-; 98 info->flags |= FLT_INFO_INF;
- LD IY,(IX+12)
- LD A,(IY+0)
- SET 1,A
- LD (IY+0),A
-; 99 else
- JR L_26
-L_5:
-; 100 info->flags |= FLT_INFO_NAN;
- LD IY,(IX+12)
- LD A,(IY+0)
- SET 2,A
- LD (IY+0),A
-; 101 return;
- JR L_26
-; 102 }
-L_9:
-; 103
-; 104 // If the exponent is zero, this is a denormalized number.
-; 105 if (exp != 0)
- LD HL,(IX+-8)
- LD E,(IX+-5)
- CALL __lcmpzero
- JR Z,L_10
-; 106 {
-; 107 mant |= 0x800000uL; // Or in the implicit bit.
- LD HL,(IX+-4)
- LD E,(IX+-1)
- LD BC,8388608
- XOR A,A
- CALL __lor
- LD (IX+-4),HL
- LD (IX+-1),E
-; 108 --exp; // And decrement the exponent.
- LD HL,(IX+-8)
- LD E,(IX+-5)
- LD BC,16777215
- LD A,255
- CALL __ladd
- LD (IX+-8),HL
- LD (IX+-5),E
-; 109 // (denormalized numbers are offset 126, not offset 127.
-; 110 // In the assembly realm, we could handle this in one step by shifting the 1
-; 111 // into the msb of a left-adjusted 23-bit mantissa.
-; 112 }
-L_10:
-; 113
-; 114 // Now, we have something that looks like
-; 115 // 0000 0000 x.xxx xxxx xxxx xxxx xxxx xxxx
-; 116 // in mant, and the binary exponent -- offset by +126 -- in exp.
-; 117 //
-; 118 // Now, we want to shift the mantissa left so we leave a few guard bits at the
-; 119 // right end of the word, but we also want to leave four bits to the left of
-; 120 // the decimal point so we can pick off the decimal digits later.
-; 121 //
-; 122 // If we move the decimal point from where it is to the right end of the first
-; 123 // nibble, we essentially subtract 5 bits from the offset. But shifting the
-; 124 // mantissa left by the same number of bits cancels the difference.
-; 125 // Let's do the shift and subtract the remaining offset.
-; 126 mant <<= 5;
- LD BC,(IX+-4)
- LD A,(IX+-1)
- LD L,5
- CALL __lshl
- LD (IX+-4),BC
- LD (IX+-1),A
-; 127 exp -= 126;
- LD HL,(IX+-8)
- LD E,(IX+-5)
- LD A,255
- LD BC,16777090
- CALL __ladd
- LD (IX+-8),HL
- LD (IX+-5),E
-; 128
-; 129 // Now the picture is
-; 130 // 000x.xxxx xxxx xxxx xxxx xxxx xxx0 0000
-; 131
-; 132 // We want to drive the base-2 exponent to zero, and accumulate multiplication
-; 133 // or division by 10 in the base-10 exponent.
-; 134 // We start by decrementing the exponent while shifting the bits in the
-; 135 // mantissa left by 1 each time. This changes the representation, but not its
-; 136 // value.
-; 137 // If the msb becomes true, a shift would cause us to lose information, so in
-; 138 // that case, we divide the mantissa by 10 and increment the base-10
-; 139 // exponent. Once again, this changes the bits in the representation, but not
-; 140 // the value that is represented -- at least not very much. Division by 10
-; 141 // may cause bits to fall of the end of the 32-bit word, and some precision is
-; 142 // lost. But we always have a whole nibble, plus about 2/3 of a bit as guard
-; 143 // bits.
-; 144
-; 145
-; 146 // At most one of the following while loops will execute.
-; 147
-; 148 // If the base-2 exponent is positive, this while loop drives it to zero by
-; 149 // repeatedly shifting the mantissa left by one bit and decrementing the exponent.
-; 150 // This changes the representation, but leaves unchanged the value
-; 151 // it represents.
-; 152 while (exp > 0)
- JR L_14
-L_15:
-; 153 {
-; 154 if ((mant >> 27) > 9)
- LD BC,(IX+-4)
- LD A,(IX+-1)
- LD L,27
- CALL __lshru
- LD HL,9
- CALL __lcmpu
- JR NC,L_12
-; 155 {
-; 156 // If a left shift would cause something greater than 9 to appear in the
-; 157 // first nibble, normalize right.
-; 158 mant /= 5;
- LD HL,(IX+-4)
- LD E,(IX+-1)
- LD BC,5
- XOR A,A
- CALL __ldivu
- LD (IX+-4),HL
- LD (IX+-1),E
-; 159 ++exp10;
- LD HL,(IX+-12)
- LD E,(IX+-9)
- LD A,1
- CALL __ladd_b
- LD (IX+-12),HL
- LD (IX+-9),E
-; 160 }
-; 161 else
- JR L_13
-L_12:
-; 162 mant <<= 1;
- LD BC,(IX+-4)
- LD A,(IX+-1)
- LD L,1
- CALL __lshl
- LD (IX+-4),BC
- LD (IX+-1),A
-L_13:
-; 163 // Dividing by 5 and adding one to the base-10 exponent is the same as
-; 164 // shifting left by one bit: They both multiply the representation by two.
-; 165 // Decrementing the base-2 exponent leaves the entire representation unchanged.
-; 166 --exp;
- LD HL,(IX+-8)
- LD E,(IX+-5)
- LD BC,16777215
- LD A,255
- CALL __ladd
- LD (IX+-8),HL
- LD (IX+-5),E
-; 167 }
-L_14:
- OR A,A
- SBC HL,HL
- LD E,0
- LD BC,(IX+-8)
- LD A,(IX+-5)
- CALL __lcmps
- CALL __setflag
- JP M,L_15
-; 168
-; 169 // If the base-2 exponent is negative, this while loop drives it to zero by
-; 170 // repeatedly shifting the mantissa right by one bit and incrementing the exponent.
-; 171 while (exp < 0)
- JR L_19
-L_20:
-; 172 {
-; 173 if ((mant >> 28) < 2)
- LD BC,(IX+-4)
- LD A,(IX+-1)
- LD L,28
- CALL __lshru
- LD E,A
- LD HL,BC
- LD BC,2
- XOR A,A
- CALL __lcmpu
- JR NC,L_17
-; 174 {
-; 175 // If a right shift would cause the first nibble to go to zero, normalize left.
-; 176 mant *= 5;
- LD HL,(IX+-4)
- LD E,(IX+-1)
- LD BC,5
- XOR A,A
- CALL __lmulu
- LD (IX+-4),HL
- LD (IX+-1),E
-; 177 --exp10;
- LD HL,(IX+-12)
- LD E,(IX+-9)
- LD BC,16777215
- LD A,255
- CALL __ladd
- LD (IX+-12),HL
- LD (IX+-9),E
-; 178 }
-; 179 else
- JR L_18
-L_17:
-; 180 mant >>= 1;
- LD BC,(IX+-4)
- LD A,(IX+-1)
- LD L,1
- CALL __lshru
- LD (IX+-4),BC
- LD (IX+-1),A
-L_18:
-; 181 // Multiplying by 5 and subtracting one from the base-10 exponent is the
-; 182 // same as shifting right by one bit: They both divide the representation by 2.
-; 183 // Incrementing the base-2 exponent leaves the entire representation unchanged.
-; 184 ++exp;
- LD HL,(IX+-8)
- LD E,(IX+-5)
- LD A,1
- CALL __ladd_b
- LD (IX+-8),HL
- LD (IX+-5),E
-; 185 }
-L_19:
- LD HL,(IX+-8)
- LD E,(IX+-5)
- CALL __lcmpzero
- CALL __setflag
- JP M,L_20
-; 186
-; 187 // Now, that we have driven the base-2 exponent to zero, the base-10 exponent
-; 188 // is ready.
-; 189 info->exp = exp10;
- LD A,(IX+-12)
- LD IY,(IX+12)
- LD (IY+1),A
-; 190
-; 191 // Finally, we can pick off the digits.
-; 192 // This is done by picking off the first nibble (which must be a decimal digit
-; 193 // between 1 and 9 inclusive) and then multiplying the remaining 28 bits by
-; 194 // 10. That leaves another decimal digit (in [0,9]) in the top nibble, so we
-; 195 // just loop for as many digits as we want.
-; 196 for (i=0; i < MAXDIGITS; ++i)
- LD BC,0
- LD (IX+-22),BC
- XOR A,A
- LD (IX+-19),A
- JR L_25
-L_23:
-; 197 {
-; 198 info->digits[i] = mant >> 28;
- LD BC,(IX+-4)
- LD A,(IX+-1)
- LD L,28
- CALL __lshru
- LD IY,(IX+12)
- LEA HL,IY+2
- LD DE,(IX+-22)
- ADD HL,DE
- LD (HL),C
-; 199 mant &= 0xfffffffuL;
- LD HL,(IX+-4)
- LD E,(IX+-1)
- LD BC,16777215
- LD A,15
- CALL __land
- LD (IX+-4),HL
- LD (IX+-1),E
-; 200 mant *= 10;
- LD HL,(IX+-4)
- LD E,(IX+-1)
- LD BC,10
- XOR A,A
- CALL __lmulu
- LD (IX+-4),HL
- LD (IX+-1),E
- LD HL,(IX+-22)
- LD E,(IX+-19)
- LD A,1
- CALL __ladd_b
- LD (IX+-22),HL
- LD (IX+-19),E
-; 201 }
-L_25:
- LD HL,(IX+-22)
- LD E,(IX+-19)
- LD BC,10
- XOR A,A
- CALL __lcmpu
- JR C,L_23
-; 202
-; 203 /* Rounding moved out to callers of _u_flt_info(). */
-; 204 }
-L_26:
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** __u_flt_info ***************************
-;Name Addr/Register Size Type
-;_memset IMPORT ----- function
-;i IX-22 4 variable
-;rep IX-18 6 variable
-;exp10 IX-12 4 variable
-;exp IX-8 4 variable
-;mant IX-4 4 variable
-;info IX+12 3 parameter
-;val IX+6 4 parameter
-
-
-; Stack Frame Size: 40 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF _memset:ROM
- XREF __lcmps:ROM
- XREF __lcmpu:ROM
- XREF __ladd:ROM
- XREF __ldivu:ROM
- XREF __lmulu:ROM
- XREF __ior:ROM
- XREF __lor:ROM
- XREF __land:ROM
- XREF __lshl:ROM
- XREF __lshru:ROM
- XREF __itol:ROM
- XREF __frameset:ROM
- XREF __setflag:ROM
- XREF __icmpzero:ROM
- XREF __lcmpzero:ROM
- XREF __ladd_b:ROM
- XREF __ishl_b:ROM
- XREF __ishru_b:ROM
- XDEF __u_flt_info
- END
diff --git a/frontends/calculator/CEdev/lib/static/ufltrnd.src b/frontends/calculator/CEdev/lib/static/ufltrnd.src deleted file mode 100644 index 2c1a2be..0000000 --- a/frontends/calculator/CEdev/lib/static/ufltrnd.src +++ /dev/null @@ -1,210 +0,0 @@ -; Zilog eZ80 ANSI C Compiler Release 3.4
-; -optsize -nomodsect -peephole -globalopt -localcse
-; -const=ROM
- FILE "..\UFLTRND.C"
- .assume ADL=1
- SEGMENT CODE
-; 1 /*************************************************
-; 2 * Copyright (C) 1999-2008 by Zilog, Inc.
-; 3 * All Rights Reserved
-; 4 *************************************************/
-; 5
-; 6 #include <stddef.h>
-; 7 #include <format.h>
-; 8
-; 9 /*************************************************
-; 10 *
-; 11 * _u_flt_rnd - Round to specified number of digits
-; 12 *
-; 13 * Inputs:
-; 14 * info - flt_info structure
-; 15 * digits - number of digits of precision
-; 16 *
-; 17 * Returns:
-; 18 * nothing
-; 19 *
-; 20 *************************************************/
-; 21 void _u_flt_rnd(struct flt_info *info, char digits)
-; 22 {
-__u_flt_rnd:
- LD HL,-18
- CALL __frameset
-; 23 register unsigned char i;
-; 24 register unsigned char carry,any;
-; 25
-; 26 if (digits <= 0)
- XOR A,A
- CP A,(IX+9)
- CALL __setflag
- JP P,L_14
-; 27 return;
-; 28
-; 29 carry = any = 0;
- LD (IX+-3),0
- LD (IX+-2),0
-; 30 for (i = MAXDIGITS-1; i >= digits; -- i) {
- LD (IX+-1),9
- JR L_4
-L_2:
-; 31 carry = info->digits[i] >= 5;
- LD A,(IX+-1)
- UEXT HL
- LD L,A
- LD BC,HL
- LD IY,(IX+6)
- LEA HL,IY+2
- ADD HL,BC
- LD (IX+-9),HL
- LD A,(HL)
- UEXT HL
- LD L,A
- OR A,A
- LD BC,5
- SBC HL,BC
- CALL __setflag
- JP M,L__2
- LD A,1
- JR L__3
-L__2:
- XOR A,A
-L__3:
- LD (IX+-2),A
-; 32 any |= info->digits[i];
- LD HL,(IX+-9)
- LD A,(HL)
- OR A,(IX+-3)
- LD (IX+-3),A
-; 33 info->digits[i] = 0;
- LD A,(IX+-1)
- UEXT HL
- LD L,A
- LD BC,HL
- LD IY,(IX+6)
- LEA HL,IY+2
- ADD HL,BC
- LD (HL),0
- DEC (IX+-1)
-; 34 }
-L_4:
- LD A,(IX+-1)
- CP A,(IX+9)
- JR NC,L_2
-; 35
-; 36 if (carry)
- LD A,(IX+-2)
- OR A,A
- JR Z,L_9
-; 37 ++info->digits[i];
- LD A,(IX+-1)
- UEXT HL
- LD L,A
- LD BC,HL
- LD IY,(IX+6)
- LEA HL,IY+2
- ADD HL,BC
- LD (IX+-18),HL ; spill
- LD A,(IX+-1)
- UEXT HL
- LD L,A
- LD BC,HL
- LEA HL,IY+2
- ADD HL,BC
- LD (IX+-15),HL ; spill
- LD HL,(IX+-18) ; unspill
- LD A,(HL)
- LD HL,(IX+-15) ; unspill
- INC A
- LD (HL),A
-; 38 while (i > 0 && info->digits[i] == 10) {
- JR L_9
-L_10:
-; 39 info->digits[i] = 0;
- LD A,(IX+-1)
- UEXT HL
- LD L,A
- LD BC,(IX+-6)
- ADD HL,BC
- LD (HL),0
-; 40 --i;
- DEC (IX+-1)
-; 41 info->digits[i]++;
- LD A,(IX+-1)
- UEXT HL
- LD L,A
- LD BC,(IX+-6)
- ADD HL,BC
- LD (IX+-12),HL
- LD A,(IX+-1)
- UEXT HL
- LD L,A
- LD IY,(IX+-12)
- LD BC,(IX+-6)
- ADD HL,BC
- LD A,(IY)
- INC A
- LD (HL),A
-; 42 }
-L_9:
- XOR A,A
- CP A,(IX+-1)
- JR NC,L_13
- LD IY,(IX+6)
- LEA BC,IY+2
- LD (IX+-6),BC
- LD A,(IX+-1)
- UEXT HL
- LD L,A
- LD BC,HL
- LEA HL,IY+2
- ADD HL,BC
- LD A,(HL)
- UEXT HL
- LD L,A
- OR A,A
- LD BC,10
- SBC HL,BC
- JR Z,L_10
-L_13:
-; 43
-; 44 if (info->digits[0] == 10) {
- LD IY,(IX+6)
- LD A,(IY+2)
- UEXT HL
- LD L,A
- OR A,A
- LD BC,10
- SBC HL,BC
- JR NZ,L_14
-; 45 ++info->exp;
- LD IY,(IX+6)
- LD A,(IY+1)
- INC A
- LD (IY+1),A
-; 46 info->digits[0] = 1;
- LD (IY+2),1
-; 47 }
-; 48 }
-L_14:
- LD SP,IX
- POP IX
- RET
-
-
-;**************************** __u_flt_rnd ***************************
-;Name Addr/Register Size Type
-;G_0 IX-6 3 variable
-;any IX-3 1 variable
-;carry IX-2 1 variable
-;i IX-1 1 variable
-;digits IX+9 1 parameter
-;info IX+6 3 parameter
-
-
-; Stack Frame Size: 30 (bytes)
-; Spill Code: 0 (instruction)
-
-
- XREF __frameset:ROM
- XREF __setflag:ROM
- XDEF __u_flt_rnd
- END
|