From 4d9d7b5600ab615d68f671df5f8bc6c9fe4a5a09 Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Wed, 24 Apr 2019 11:03:58 -0400 Subject: add pause to curses, remove unfinished calculator frontend --- frontends/calculator/CEdev/lib/static/acos.src | 54 --- frontends/calculator/CEdev/lib/static/asin.src | 178 ------- frontends/calculator/CEdev/lib/static/atan.src | 341 ------------- frontends/calculator/CEdev/lib/static/atan2.src | 179 ------- frontends/calculator/CEdev/lib/static/atof.src | 20 - frontends/calculator/CEdev/lib/static/ceil.src | 31 -- frontends/calculator/CEdev/lib/static/cos.src | 33 -- frontends/calculator/CEdev/lib/static/exp.src | 234 --------- frontends/calculator/CEdev/lib/static/fabs.src | 14 - frontends/calculator/CEdev/lib/static/floor.src | 114 ----- frontends/calculator/CEdev/lib/static/fmod.src | 135 ------ frontends/calculator/CEdev/lib/static/frexp.src | 141 ------ frontends/calculator/CEdev/lib/static/ldexp.src | 194 -------- frontends/calculator/CEdev/lib/static/log.src | 233 --------- frontends/calculator/CEdev/lib/static/log10.src | 48 -- frontends/calculator/CEdev/lib/static/modf.src | 166 ------- frontends/calculator/CEdev/lib/static/pow.src | 187 -------- frontends/calculator/CEdev/lib/static/sin.src | 340 ------------- frontends/calculator/CEdev/lib/static/sinh.src | 377 --------------- frontends/calculator/CEdev/lib/static/sqrt.src | 83 ---- frontends/calculator/CEdev/lib/static/strtod.src | 534 --------------------- frontends/calculator/CEdev/lib/static/tan.src | 330 ------------- frontends/calculator/CEdev/lib/static/tanh.src | 129 ----- frontends/calculator/CEdev/lib/static/ufltinfo.src | 511 -------------------- frontends/calculator/CEdev/lib/static/ufltrnd.src | 210 -------- 25 files changed, 4816 deletions(-) delete mode 100644 frontends/calculator/CEdev/lib/static/acos.src delete mode 100644 frontends/calculator/CEdev/lib/static/asin.src delete mode 100644 frontends/calculator/CEdev/lib/static/atan.src delete mode 100644 frontends/calculator/CEdev/lib/static/atan2.src delete mode 100644 frontends/calculator/CEdev/lib/static/atof.src delete mode 100644 frontends/calculator/CEdev/lib/static/ceil.src delete mode 100644 frontends/calculator/CEdev/lib/static/cos.src delete mode 100644 frontends/calculator/CEdev/lib/static/exp.src delete mode 100644 frontends/calculator/CEdev/lib/static/fabs.src delete mode 100644 frontends/calculator/CEdev/lib/static/floor.src delete mode 100644 frontends/calculator/CEdev/lib/static/fmod.src delete mode 100644 frontends/calculator/CEdev/lib/static/frexp.src delete mode 100644 frontends/calculator/CEdev/lib/static/ldexp.src delete mode 100644 frontends/calculator/CEdev/lib/static/log.src delete mode 100644 frontends/calculator/CEdev/lib/static/log10.src delete mode 100644 frontends/calculator/CEdev/lib/static/modf.src delete mode 100644 frontends/calculator/CEdev/lib/static/pow.src delete mode 100644 frontends/calculator/CEdev/lib/static/sin.src delete mode 100644 frontends/calculator/CEdev/lib/static/sinh.src delete mode 100644 frontends/calculator/CEdev/lib/static/sqrt.src delete mode 100644 frontends/calculator/CEdev/lib/static/strtod.src delete mode 100644 frontends/calculator/CEdev/lib/static/tan.src delete mode 100644 frontends/calculator/CEdev/lib/static/tanh.src delete mode 100644 frontends/calculator/CEdev/lib/static/ufltinfo.src delete mode 100644 frontends/calculator/CEdev/lib/static/ufltrnd.src (limited to 'frontends/calculator/CEdev/lib/static') 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 -; 9 #include -; 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 -; 14 #include -; 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 -; 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 -; 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 -; 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 -; 10 #include -; 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 -; 16 #include -; 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 -; 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 -; 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 -; 11 #include -; 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 -; 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 -; 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 -; 11 #include -; 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 -; 10 #include -; 11 #include -; 12 #include -; 13 #include -; 14 #include -; 15 #include -; 16 //#include -; 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 -; 17 #include -; 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 -; 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 -; 7 #include -; 8 #include -; 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. -; 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 -; 7 #include -; 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 -- cgit v1.2.3-101-g0448