⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ancap.lst

📁 Embedded camera control program.
💻 LST
📖 第 1 页 / 共 5 页
字号:
....................    float y, res, r, y2;  
....................    int1 s;  
....................    #ifdef _ERRNO  
....................    if(x <-1 || x > 1)  
....................    {  
....................       errno=EDOM;  
....................    }  
....................    #endif  
....................    s = 0;  
....................    y = x;  
....................   
....................    if (x < 0)  
....................    {  
....................       s = 1;  
....................       y = -y;  
....................    }  
....................   
....................    if (y > 0.5)  
....................    {  
....................       y = sqrt((1.0 - y)/2.0);  
....................       n += 2;  
....................    }  
....................   
....................    y2=y*y;  
....................   
....................    res = pas[0]*y2 + pas[1];  
....................    res = res*y2 + pas[2];  
....................   
....................    r = qas[0]*y2 + qas[1];  
....................    r = r*y2 + qas[2];  
....................   
....................    res = y*res/r;  
....................   
....................    if (n & 2)     // |x| > 0.5  
....................       res = PI_DIV_BY_TWO - 2.0*res;  
....................    if (s)  
....................       res = -res;  
....................    if (n & 1)           // take arccos  
....................       res = PI_DIV_BY_TWO - res;  
....................   
....................    return(res);  
.................... }  
....................   
....................   
.................... ////////////////////////////////////////////////////////////////////////////  
.................... //	float asin(float x)  
.................... ////////////////////////////////////////////////////////////////////////////  
.................... // Description : returns the arcsine value of the value x.  
.................... // Date : N/A  
.................... //  
.................... float asin(float x)  
.................... {  
....................    float r;  
....................   
....................    r = ASIN_COS(x, 0);  
....................    return(r);  
.................... }  
....................   
....................   
.................... ////////////////////////////////////////////////////////////////////////////  
.................... //	float acos(float x)  
.................... ////////////////////////////////////////////////////////////////////////////  
.................... // Description : returns the arccosine value of the value x.  
.................... // Date : N/A  
.................... //  
.................... float acos(float x)  
.................... {  
....................    float r;  
....................   
....................    r = ASIN_COS(x, 1);  
....................    return(r);  
.................... }  
....................   
.................... float const pat[4] = {0.17630401, 5.6710795, 22.376096, 19.818457};  
.................... float const qat[4] = {1.0000000,  11.368190, 28.982246, 19.818457};  
....................   
.................... ////////////////////////////////////////////////////////////////////////////  
.................... //	float atan(float x)  
.................... ////////////////////////////////////////////////////////////////////////////  
.................... // Description : returns the arctangent value of the value x.  
.................... // Date : N/A  
.................... //  
.................... float atan(float x)  
.................... {  
....................    float y, res, r;  
....................    int1 s, flag;  
....................   
....................    s = 0;  
*
084F:  BCF    5B.0
....................    flag = 0;  
0850:  BCF    5B.1
....................    y = x;  
0851:  MOVF   4E,W
0852:  MOVWF  52
0853:  MOVF   4D,W
0854:  MOVWF  51
0855:  MOVF   4C,W
0856:  MOVWF  50
0857:  MOVF   4B,W
0858:  MOVWF  4F
....................   
....................    if (x < 0)  
0859:  MOVF   4E,W
085A:  MOVWF  5F
085B:  MOVF   4D,W
085C:  MOVWF  5E
085D:  MOVF   4C,W
085E:  MOVWF  5D
085F:  MOVF   4B,W
0860:  MOVWF  5C
0861:  CLRF   63
0862:  CLRF   62
0863:  CLRF   61
0864:  CLRF   60
0865:  BCF    0A.3
0866:  CALL   497
0867:  BSF    0A.3
0868:  BTFSS  03.0
0869:  GOTO   06D
....................    {  
....................       s = 1;  
086A:  BSF    5B.0
....................       y = -y;  
086B:  MOVLW  80
086C:  XORWF  50,F
....................    }  
....................   
....................    if (y > 1.0)  
086D:  CLRF   5F
086E:  CLRF   5E
086F:  CLRF   5D
0870:  MOVLW  7F
0871:  MOVWF  5C
0872:  MOVF   52,W
0873:  MOVWF  63
0874:  MOVF   51,W
0875:  MOVWF  62
0876:  MOVF   50,W
0877:  MOVWF  61
0878:  MOVF   4F,W
0879:  MOVWF  60
087A:  BCF    0A.3
087B:  CALL   497
087C:  BSF    0A.3
087D:  BTFSS  03.0
087E:  GOTO   098
....................    {  
....................       y = 1.0/y;  
087F:  CLRF   63
0880:  CLRF   62
0881:  CLRF   61
0882:  MOVLW  7F
0883:  MOVWF  60
0884:  MOVF   52,W
0885:  MOVWF  67
0886:  MOVF   51,W
0887:  MOVWF  66
0888:  MOVF   50,W
0889:  MOVWF  65
088A:  MOVF   4F,W
088B:  MOVWF  64
088C:  BCF    0A.3
088D:  CALL   3CC
088E:  BSF    0A.3
088F:  MOVF   7A,W
0890:  MOVWF  52
0891:  MOVF   79,W
0892:  MOVWF  51
0893:  MOVF   78,W
0894:  MOVWF  50
0895:  MOVF   77,W
0896:  MOVWF  4F
....................       flag = 1;  
0897:  BSF    5B.1
....................    }  
....................   
....................    res = pat[0]*y*y + pat[1];  
0898:  MOVLW  0A
0899:  MOVWF  63
089A:  MOVLW  89
089B:  MOVWF  62
089C:  MOVLW  34
089D:  MOVWF  61
089E:  MOVLW  7C
089F:  MOVWF  60
08A0:  MOVF   52,W
08A1:  MOVWF  67
08A2:  MOVF   51,W
08A3:  MOVWF  66
08A4:  MOVF   50,W
08A5:  MOVWF  65
08A6:  MOVF   4F,W
08A7:  MOVWF  64
08A8:  BCF    0A.3
08A9:  CALL   356
08AA:  BSF    0A.3
08AB:  MOVF   77,W
08AC:  MOVWF  5C
08AD:  MOVF   78,W
08AE:  MOVWF  5D
08AF:  MOVF   79,W
08B0:  MOVWF  5E
08B1:  MOVF   7A,W
08B2:  MOVWF  5F
08B3:  MOVWF  63
08B4:  MOVF   79,W
08B5:  MOVWF  62
08B6:  MOVF   78,W
08B7:  MOVWF  61
08B8:  MOVF   77,W
08B9:  MOVWF  60
08BA:  MOVF   52,W
08BB:  MOVWF  67
08BC:  MOVF   51,W
08BD:  MOVWF  66
08BE:  MOVF   50,W
08BF:  MOVWF  65
08C0:  MOVF   4F,W
08C1:  MOVWF  64
08C2:  BCF    0A.3
08C3:  CALL   356
08C4:  BSF    0A.3
08C5:  MOVF   77,W
08C6:  MOVWF  60
08C7:  MOVF   78,W
08C8:  MOVWF  61
08C9:  MOVF   79,W
08CA:  MOVWF  62
08CB:  MOVF   7A,W
08CC:  MOVWF  63
08CD:  BCF    03.1
08CE:  MOVF   7A,W
08CF:  MOVWF  67
08D0:  MOVF   79,W
08D1:  MOVWF  66
08D2:  MOVF   78,W
08D3:  MOVWF  65
08D4:  MOVF   77,W
08D5:  MOVWF  64
08D6:  MOVLW  7C
08D7:  MOVWF  6B
08D8:  MOVLW  79
08D9:  MOVWF  6A
08DA:  MOVLW  35
08DB:  MOVWF  69
08DC:  MOVLW  81
08DD:  MOVWF  68
08DE:  BCF    0A.3
08DF:  CALL   4D6
08E0:  BSF    0A.3
08E1:  MOVF   7A,W
08E2:  MOVWF  56
08E3:  MOVF   79,W
08E4:  MOVWF  55
08E5:  MOVF   78,W
08E6:  MOVWF  54
08E7:  MOVF   77,W
08E8:  MOVWF  53
....................    res = res*y*y + pat[2];  
08E9:  MOVF   56,W
08EA:  MOVWF  63
08EB:  MOVF   55,W
08EC:  MOVWF  62
08ED:  MOVF   54,W
08EE:  MOVWF  61
08EF:  MOVF   53,W
08F0:  MOVWF  60
08F1:  MOVF   52,W
08F2:  MOVWF  67
08F3:  MOVF   51,W
08F4:  MOVWF  66
08F5:  MOVF   50,W
08F6:  MOVWF  65
08F7:  MOVF   4F,W
08F8:  MOVWF  64
08F9:  BCF    0A.3
08FA:  CALL   356
08FB:  BSF    0A.3
08FC:  MOVF   77,W
08FD:  MOVWF  5C
08FE:  MOVF   78,W
08FF:  MOVWF  5D
0900:  MOVF   79,W
0901:  MOVWF  5E
0902:  MOVF   7A,W
0903:  MOVWF  5F
0904:  MOVWF  63
0905:  MOVF   79,W
0906:  MOVWF  62
0907:  MOVF   78,W
0908:  MOVWF  61
0909:  MOVF   77,W
090A:  MOVWF  60
090B:  MOVF   52,W
090C:  MOVWF  67
090D:  MOVF   51,W
090E:  MOVWF  66
090F:  MOVF   50,W
0910:  MOVWF  65
0911:  MOVF   4F,W
0912:  MOVWF  64
0913:  BCF    0A.3
0914:  CALL   356
0915:  BSF    0A.3
0916:  MOVF   77,W
0917:  MOVWF  60
0918:  MOVF   78,W
0919:  MOVWF  61
091A:  MOVF   79,W
091B:  MOVWF  62
091C:  MOVF   7A,W
091D:  MOVWF  63
091E:  BCF    03.1
091F:  MOVF   7A,W
0920:  MOVWF  67
0921:  MOVF   79,W
0922:  MOVWF  66
0923:  MOVF   78,W
0924:  MOVWF  65
0925:  MOVF   77,W
0926:  MOVWF  64
0927:  MOVLW  3F
0928:  MOVWF  6B
0929:  MOVLW  02
092A:  MOVWF  6A
092B:  MOVLW  33
092C:  MOVWF  69
092D:  MOVLW  83
092E:  MOVWF  68
092F:  BCF    0A.3
0930:  CALL   4D6
0931:  BSF    0A.3
0932:  MOVF   7A,W
0933:  MOVWF  56
0934:  MOVF   79,W
0935:  MOVWF  55
0936:  MOVF   78,W
0937:  MOVWF  54
0938:  MOVF   77,W
0939:  MOVWF  53
....................    res = res*y*y + pat[3];  
093A:  MOVF   56,W
093B:  MOVWF  63
093C:  MOVF   55,W
093D:  MOVWF  62
093E:  MOVF   54,W
093F:  MOVWF  61
0940:  MOVF   53,W
0941:  MOVWF  60
0942:  MOVF   52,W
0943:  MOVWF  67
0944:  MOVF   51,W
0945:  MOVWF  66
0946:  MOVF   50,W
0947:  MOVWF  65
0948:  MOVF   4F,W
0949:  MOVWF  64
094A:  BCF    0A.3
094B:  CALL   356
094C:  BSF    0A.3
094D:  MOVF   77,W
094E:  MOVWF  5C
094F:  MOVF   78,W
0950:  MOVWF  5D
0951:  MOVF   79,W
0952:  MOVWF  5E
0953:  MOVF   7A,W
0954:  MOVWF  5F
0955:  MOVWF  63
0956:  MOVF   79,W
0957:  MOVWF  62
0958:  MOVF   78,W
0959:  MOVWF  61
095A:  MOVF   77,W
095B:  MOVWF  60
095C:  MOVF   52,W
095D:  MOVWF  67
095E:  MOVF   51,W
095F:  MOVWF  66
0960:  MOVF   50,W
0961:  MOVWF  65
0962:  MOVF   4F,W
0963:  MOVWF  64
0964:  BCF    0A.3
0965:  CALL   356
0966:  BSF    0A.3
0967:  MOVF   77,W
0968:  MOVWF  60
0969:  MOVF   78,W
096A:  MOVWF  61
096B:  MOVF   79,W
096C:  MOVWF  62
096D:  MOVF   7A,W
096E:  MOVWF  63
096F:  BCF    03.1
0970:  MOVF   7A,W
0971:  MOVWF  67
0972:  MOVF   79,W
0973:  MOVWF  66
0974:  MOVF   78,W
0975:  MOVWF  65
0976:  MOVF   77,W
0977:  MOVWF  64
0978:  MOVLW  33
0979:  MOVWF  6B
097A:  MOVLW  8C
097B:  MOVWF  6A
097C:  MOVLW  1E
097D:  MOVWF  69
097E:  MOVLW  83
097F:  MOVWF  68
0980:  BCF    0A.3
0981:  CALL   4D6
0982:  BSF    0A.3
0983:  MOVF   7A,W
0984:  MOVWF  56
0985:  MOVF   79,W
0986:  MOVWF  55
0987:  MOVF   78,W
0988:  MOVWF  54
0989:  MOVF   77,W
098A:  MOVWF  53
....................   
....................    r = qat[0]*y*y + qat[1];  
098B:  CLRF   63
098C:  CLRF   62
098D:  CLRF   61
098E:  MOVLW  7F
098F:  MOVWF  60
0990:  MOVF   52,W
0991:  MOVWF  67
0992:  MOVF   51,W
0993:  MOVWF  66
0994:  MOVF   50,W
0995:  MOVWF  65
0996:  MOVF   4F,W
0997:  MOVWF  64
0998:  BCF    0A.3
0999:  CALL   356
099A:  BSF    0A.3
099B:  MOVF   77,W
099C:  MOVWF  5C
099D:  MOVF   78,W
099E:  MOVWF  5D
099F:  MOVF   79,W
09A0:  MOVWF  5E
09A1:  MOVF   7A,W
09A2:  MOVWF  5F
09A3:  MOVWF  63
09A4:  MOVF   79,W
09A5:  MOVWF  62
09A6:  MOVF   78,W
09A7:  MOVWF  61
09A8:  MOVF   77,W
09A9:  MOVWF  60
09AA:  MOVF   52,W
09AB:  MOVWF  67
09AC:  MOVF   51,W
09AD:  MOVWF  66
09AE:  MOVF   50,W
09AF:  MOVWF  65
09B0:  MOVF   4F,W
09B1:  MOVWF  64
09B2:  BCF    0A.3
09B3:  CALL   356
09B4:  BSF    0A.3
09B5:  MOVF   77,W
09B6:  MOVWF  60
09B7:  MOVF   78,W
09B8:  MOVWF  61
09B9:  MOVF   79,W
09BA:  MOVWF  62
09BB:  MOVF   7A,W
09BC:  MOVWF  63

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -