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

📄 phatpsp.lst

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

⌨️ 快捷键说明

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