📄 ancap.lst
字号:
09BD: BCF 03.1
09BE: MOVF 7A,W
09BF: MOVWF 67
09C0: MOVF 79,W
09C1: MOVWF 66
09C2: MOVF 78,W
09C3: MOVWF 65
09C4: MOVF 77,W
09C5: MOVWF 64
09C6: MOVLW 1B
09C7: MOVWF 6B
09C8: MOVLW E4
09C9: MOVWF 6A
09CA: MOVLW 35
09CB: MOVWF 69
09CC: MOVLW 82
09CD: MOVWF 68
09CE: BCF 0A.3
09CF: CALL 4D6
09D0: BSF 0A.3
09D1: MOVF 7A,W
09D2: MOVWF 5A
09D3: MOVF 79,W
09D4: MOVWF 59
09D5: MOVF 78,W
09D6: MOVWF 58
09D7: MOVF 77,W
09D8: MOVWF 57
.................... r = r*y*y + qat[2];
09D9: MOVF 5A,W
09DA: MOVWF 63
09DB: MOVF 59,W
09DC: MOVWF 62
09DD: MOVF 58,W
09DE: MOVWF 61
09DF: MOVF 57,W
09E0: MOVWF 60
09E1: MOVF 52,W
09E2: MOVWF 67
09E3: MOVF 51,W
09E4: MOVWF 66
09E5: MOVF 50,W
09E6: MOVWF 65
09E7: MOVF 4F,W
09E8: MOVWF 64
09E9: BCF 0A.3
09EA: CALL 356
09EB: BSF 0A.3
09EC: MOVF 77,W
09ED: MOVWF 5C
09EE: MOVF 78,W
09EF: MOVWF 5D
09F0: MOVF 79,W
09F1: MOVWF 5E
09F2: MOVF 7A,W
09F3: MOVWF 5F
09F4: MOVWF 63
09F5: MOVF 79,W
09F6: MOVWF 62
09F7: MOVF 78,W
09F8: MOVWF 61
09F9: MOVF 77,W
09FA: MOVWF 60
09FB: MOVF 52,W
09FC: MOVWF 67
09FD: MOVF 51,W
09FE: MOVWF 66
09FF: MOVF 50,W
0A00: MOVWF 65
0A01: MOVF 4F,W
0A02: MOVWF 64
0A03: BCF 0A.3
0A04: CALL 356
0A05: BSF 0A.3
0A06: MOVF 77,W
0A07: MOVWF 60
0A08: MOVF 78,W
0A09: MOVWF 61
0A0A: MOVF 79,W
0A0B: MOVWF 62
0A0C: MOVF 7A,W
0A0D: MOVWF 63
0A0E: BCF 03.1
0A0F: MOVF 7A,W
0A10: MOVWF 67
0A11: MOVF 79,W
0A12: MOVWF 66
0A13: MOVF 78,W
0A14: MOVWF 65
0A15: MOVF 77,W
0A16: MOVWF 64
0A17: MOVLW A4
0A18: MOVWF 6B
0A19: MOVLW DB
0A1A: MOVWF 6A
0A1B: MOVLW 67
0A1C: MOVWF 69
0A1D: MOVLW 83
0A1E: MOVWF 68
0A1F: BCF 0A.3
0A20: CALL 4D6
0A21: BSF 0A.3
0A22: MOVF 7A,W
0A23: MOVWF 5A
0A24: MOVF 79,W
0A25: MOVWF 59
0A26: MOVF 78,W
0A27: MOVWF 58
0A28: MOVF 77,W
0A29: MOVWF 57
.................... r = r*y*y + qat[3];
0A2A: MOVF 5A,W
0A2B: MOVWF 63
0A2C: MOVF 59,W
0A2D: MOVWF 62
0A2E: MOVF 58,W
0A2F: MOVWF 61
0A30: MOVF 57,W
0A31: MOVWF 60
0A32: MOVF 52,W
0A33: MOVWF 67
0A34: MOVF 51,W
0A35: MOVWF 66
0A36: MOVF 50,W
0A37: MOVWF 65
0A38: MOVF 4F,W
0A39: MOVWF 64
0A3A: BCF 0A.3
0A3B: CALL 356
0A3C: BSF 0A.3
0A3D: MOVF 77,W
0A3E: MOVWF 5C
0A3F: MOVF 78,W
0A40: MOVWF 5D
0A41: MOVF 79,W
0A42: MOVWF 5E
0A43: MOVF 7A,W
0A44: MOVWF 5F
0A45: MOVWF 63
0A46: MOVF 79,W
0A47: MOVWF 62
0A48: MOVF 78,W
0A49: MOVWF 61
0A4A: MOVF 77,W
0A4B: MOVWF 60
0A4C: MOVF 52,W
0A4D: MOVWF 67
0A4E: MOVF 51,W
0A4F: MOVWF 66
0A50: MOVF 50,W
0A51: MOVWF 65
0A52: MOVF 4F,W
0A53: MOVWF 64
0A54: BCF 0A.3
0A55: CALL 356
0A56: BSF 0A.3
0A57: MOVF 77,W
0A58: MOVWF 60
0A59: MOVF 78,W
0A5A: MOVWF 61
0A5B: MOVF 79,W
0A5C: MOVWF 62
0A5D: MOVF 7A,W
0A5E: MOVWF 63
0A5F: BCF 03.1
0A60: MOVF 7A,W
0A61: MOVWF 67
0A62: MOVF 79,W
0A63: MOVWF 66
0A64: MOVF 78,W
0A65: MOVWF 65
0A66: MOVF 77,W
0A67: MOVWF 64
0A68: MOVLW 33
0A69: MOVWF 6B
0A6A: MOVLW 8C
0A6B: MOVWF 6A
0A6C: MOVLW 1E
0A6D: MOVWF 69
0A6E: MOVLW 83
0A6F: MOVWF 68
0A70: BCF 0A.3
0A71: CALL 4D6
0A72: BSF 0A.3
0A73: MOVF 7A,W
0A74: MOVWF 5A
0A75: MOVF 79,W
0A76: MOVWF 59
0A77: MOVF 78,W
0A78: MOVWF 58
0A79: MOVF 77,W
0A7A: MOVWF 57
....................
.................... res = y*res/r;
0A7B: MOVF 52,W
0A7C: MOVWF 63
0A7D: MOVF 51,W
0A7E: MOVWF 62
0A7F: MOVF 50,W
0A80: MOVWF 61
0A81: MOVF 4F,W
0A82: MOVWF 60
0A83: MOVF 56,W
0A84: MOVWF 67
0A85: MOVF 55,W
0A86: MOVWF 66
0A87: MOVF 54,W
0A88: MOVWF 65
0A89: MOVF 53,W
0A8A: MOVWF 64
0A8B: BCF 0A.3
0A8C: CALL 356
0A8D: BSF 0A.3
0A8E: MOVF 77,W
0A8F: MOVWF 5C
0A90: MOVF 78,W
0A91: MOVWF 5D
0A92: MOVF 79,W
0A93: MOVWF 5E
0A94: MOVF 7A,W
0A95: MOVWF 5F
0A96: MOVWF 63
0A97: MOVF 79,W
0A98: MOVWF 62
0A99: MOVF 78,W
0A9A: MOVWF 61
0A9B: MOVF 77,W
0A9C: MOVWF 60
0A9D: MOVF 5A,W
0A9E: MOVWF 67
0A9F: MOVF 59,W
0AA0: MOVWF 66
0AA1: MOVF 58,W
0AA2: MOVWF 65
0AA3: MOVF 57,W
0AA4: MOVWF 64
0AA5: BCF 0A.3
0AA6: CALL 3CC
0AA7: BSF 0A.3
0AA8: MOVF 7A,W
0AA9: MOVWF 56
0AAA: MOVF 79,W
0AAB: MOVWF 55
0AAC: MOVF 78,W
0AAD: MOVWF 54
0AAE: MOVF 77,W
0AAF: MOVWF 53
....................
....................
.................... if (flag) // for |x| > 1
0AB0: BTFSS 5B.1
0AB1: GOTO 2CE
.................... res = PI_DIV_BY_TWO - res;
0AB2: BSF 03.1
0AB3: MOVLW DB
0AB4: MOVWF 67
0AB5: MOVLW 0F
0AB6: MOVWF 66
0AB7: MOVLW 49
0AB8: MOVWF 65
0AB9: MOVLW 7F
0ABA: MOVWF 64
0ABB: MOVF 56,W
0ABC: MOVWF 6B
0ABD: MOVF 55,W
0ABE: MOVWF 6A
0ABF: MOVF 54,W
0AC0: MOVWF 69
0AC1: MOVF 53,W
0AC2: MOVWF 68
0AC3: BCF 0A.3
0AC4: CALL 4D6
0AC5: BSF 0A.3
0AC6: MOVF 7A,W
0AC7: MOVWF 56
0AC8: MOVF 79,W
0AC9: MOVWF 55
0ACA: MOVF 78,W
0ACB: MOVWF 54
0ACC: MOVF 77,W
0ACD: MOVWF 53
.................... if (s)
0ACE: BTFSS 5B.0
0ACF: GOTO 2D2
.................... res = -res;
0AD0: MOVLW 80
0AD1: XORWF 54,F
....................
.................... return(res);
0AD2: MOVF 53,W
0AD3: MOVWF 77
0AD4: MOVF 54,W
0AD5: MOVWF 78
0AD6: MOVF 55,W
0AD7: MOVWF 79
0AD8: MOVF 56,W
0AD9: MOVWF 7A
.................... }
....................
.................... /////////////////////////////////////////////////////////////////////////////
.................... // float atan2(float y, float x)
.................... /////////////////////////////////////////////////////////////////////////////
.................... // Description :computes the principal value of arc tangent of y/x, using the
.................... // signs of both the arguments to determine the quadrant of the return value
.................... // Returns : returns the arc tangent of y/x.
.................... // Date : N/A
.................... //
....................
....................
.................... float atan2(float y,float x)
.................... {
.................... float z;
.................... int1 sign;
.................... int quad;
.................... sign=0;
.................... quad=0; //quadrant
.................... quad=((y<=0.0)?(x<=0.0)?:4):((x<0.0)?:1));
.................... if(y<0.0)
.................... {
.................... sign=1;
.................... y=-y;
.................... }
.................... if(x<0.0)
.................... {
.................... x=-x;
.................... }
.................... if (x==0.0)
.................... {
.................... if(y==0.0)
.................... {
.................... #ifdef _ERRNO
.................... {
.................... errno=EDOM;
.................... }
.................... #endif
.................... }
.................... else
.................... {
.................... if(sign)
.................... {
.................... return (-(PI_DIV_BY_TWO));
.................... }
.................... else
.................... {
.................... return (PI_DIV_BY_TWO);
.................... }
.................... }
.................... }
.................... else
.................... {
.................... z=y/x;
.................... switch(quad)
.................... {
.................... case 1:
.................... {
.................... return atan(z);
.................... break;
.................... }
.................... case 2:
.................... {
.................... // return (atan(z)+PI_DIV_BY_TWO); //2L3122
.................... return (PI-atan(z));
.................... break;
.................... }
.................... case 3:
.................... {
.................... return (atan(z)-PI);
.................... break;
.................... }
.................... case 4:
.................... {
.................... return (-atan(z));
.................... break;
.................... }
.................... }
.................... }
.................... }
....................
.................... //////////////////// Hyperbolic functions ////////////////////
....................
.................... ////////////////////////////////////////////////////////////////////////////
.................... // float cosh(float x)
.................... ////////////////////////////////////////////////////////////////////////////
.................... // Description : Computes the hyperbolic cosine value of x
.................... // Returns : returns the hyperbolic cosine value of x
.................... // Date : N/A
.................... //
....................
.................... float cosh(float x)
.................... {
.................... return ((exp(x)+exp(-x))/2);
.................... }
....................
.................... ////////////////////////////////////////////////////////////////////////////
.................... // float sinh(float x)
.................... ////////////////////////////////////////////////////////////////////////////
.................... // Description : Computes the hyperbolic sine value of x
.................... // Returns : returns the hyperbolic sine value of x
.................... // Date : N/A
.................... //
....................
.................... float sinh(float x)
.................... {
....................
.................... return ((exp(x) - exp(-x))/2);
.................... }
....................
.................... ////////////////////////////////////////////////////////////////////////////
.................... // float tanh(float x)
.................... ////////////////////////////////////////////////////////////////////////////
.................... // Description : Computes the hyperbolic tangent value of x
.................... // Returns : returns the hyperbolic tangent value of x
.................... // Date : N/A
.................... //
....................
.................... float tanh(float x)
.................... {
.................... return(sinh(x)/cosh(x));
.................... }
....................
.................... ////////////////////////////////////////////////////////////////////////////
.................... // float frexp(float x, signed int *exp)
.................... ////////////////////////////////////////////////////////////////////////////
.................... // Description : breaks a floating point number into a normalized fraction and an integral
.................... // power of 2. It stores the integer in the signed int object pointed to by exp.
.................... // Returns : returns the value x, such that x is a double with magnitude in the interval
.................... // [1/2,1) or zero, and value equals x times 2 raised to the power *exp.If value is zero,
.................... // both parts of the result are zero.
.................... // Date : N/A
.................... //
....................
....................
....................
.................... #define LOG2 .30102999566398119521
.................... float frexp(float x, signed int *exp)
.................... {
.................... float res;
.................... int1 sign = 0;
.................... if(x == 0.0)
.................... {
.................... *exp=0;
.................... return (0.0);
.................... }
.................... if(x < 0.0)
.................... {
.................... x=-x;
.................... sign=1;
.................... }
.................... if (x > 1.0)
.................... {
.................... *exp=(ceil(log10(x)/LOG2));
.................... res=x/(pow(2, *exp));
.................... if (res == 1)
.................... {
.................... *exp=*exp+1;
.................... res=.5;
.................... }
.................... }
.................... else
.................... {
.................... if(x < 0.5)
.................... {
.................... *exp=-1;
.................... res=x*2;
.................... }
.................... else
.................... {
.................... *exp=0;
.................... res=x;
.................... }
.................... }
.................... if(sign)
.................... {
.................... res=-res;
................
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -