📄 camera 5rd.lst
字号:
0C16: MOVLW 35
0C18: MOVWF x89
0C1A: MOVLW 81
0C1C: MOVWF x88
0C1E: RCALL 05F0
0C20: MOVFF 03,6B
0C24: MOVFF 02,6A
0C28: MOVFF 01,69
0C2C: MOVFF 00,68
.................... res = res*y*y + pat[2];
0C30: MOVFF 6B,85
0C34: MOVFF 6A,84
0C38: MOVFF 69,83
0C3C: MOVFF 68,82
0C40: MOVFF 67,89
0C44: MOVFF 66,88
0C48: MOVFF 65,87
0C4C: MOVFF 64,86
0C50: RCALL 0860
0C52: MOVFF 00,71
0C56: MOVFF 01,72
0C5A: MOVFF 02,73
0C5E: MOVFF 03,74
0C62: MOVFF 03,85
0C66: MOVFF 02,84
0C6A: MOVFF 01,83
0C6E: MOVFF 00,82
0C72: MOVFF 67,89
0C76: MOVFF 66,88
0C7A: MOVFF 65,87
0C7E: MOVFF 64,86
0C82: RCALL 0860
0C84: MOVFF 00,75
0C88: MOVFF 01,76
0C8C: MOVFF 02,77
0C90: MOVFF 03,78
0C94: BCF FD8.1
0C96: MOVFF 03,87
0C9A: MOVFF 02,86
0C9E: MOVFF 01,85
0CA2: MOVFF 00,84
0CA6: MOVLW 3F
0CA8: MOVWF x8B
0CAA: MOVLW 02
0CAC: MOVWF x8A
0CAE: MOVLW 33
0CB0: MOVWF x89
0CB2: MOVLW 83
0CB4: MOVWF x88
0CB6: RCALL 05F0
0CB8: MOVFF 03,6B
0CBC: MOVFF 02,6A
0CC0: MOVFF 01,69
0CC4: MOVFF 00,68
.................... res = res*y*y + pat[3];
0CC8: MOVFF 6B,85
0CCC: MOVFF 6A,84
0CD0: MOVFF 69,83
0CD4: MOVFF 68,82
0CD8: MOVFF 67,89
0CDC: MOVFF 66,88
0CE0: MOVFF 65,87
0CE4: MOVFF 64,86
0CE8: RCALL 0860
0CEA: MOVFF 00,71
0CEE: MOVFF 01,72
0CF2: MOVFF 02,73
0CF6: MOVFF 03,74
0CFA: MOVFF 03,85
0CFE: MOVFF 02,84
0D02: MOVFF 01,83
0D06: MOVFF 00,82
0D0A: MOVFF 67,89
0D0E: MOVFF 66,88
0D12: MOVFF 65,87
0D16: MOVFF 64,86
0D1A: RCALL 0860
0D1C: MOVFF 00,75
0D20: MOVFF 01,76
0D24: MOVFF 02,77
0D28: MOVFF 03,78
0D2C: BCF FD8.1
0D2E: MOVFF 03,87
0D32: MOVFF 02,86
0D36: MOVFF 01,85
0D3A: MOVFF 00,84
0D3E: MOVLW 33
0D40: MOVWF x8B
0D42: MOVLW 8C
0D44: MOVWF x8A
0D46: MOVLW 1E
0D48: MOVWF x89
0D4A: MOVLW 83
0D4C: MOVWF x88
0D4E: RCALL 05F0
0D50: MOVFF 03,6B
0D54: MOVFF 02,6A
0D58: MOVFF 01,69
0D5C: MOVFF 00,68
....................
.................... r = qat[0]*y*y + qat[1];
0D60: CLRF x85
0D62: CLRF x84
0D64: CLRF x83
0D66: MOVLW 7F
0D68: MOVWF x82
0D6A: MOVFF 67,89
0D6E: MOVFF 66,88
0D72: MOVFF 65,87
0D76: MOVFF 64,86
0D7A: RCALL 0860
0D7C: MOVFF 00,71
0D80: MOVFF 01,72
0D84: MOVFF 02,73
0D88: MOVFF 03,74
0D8C: MOVFF 03,85
0D90: MOVFF 02,84
0D94: MOVFF 01,83
0D98: MOVFF 00,82
0D9C: MOVFF 67,89
0DA0: MOVFF 66,88
0DA4: MOVFF 65,87
0DA8: MOVFF 64,86
0DAC: RCALL 0860
0DAE: MOVFF 00,75
0DB2: MOVFF 01,76
0DB6: MOVFF 02,77
0DBA: MOVFF 03,78
0DBE: BCF FD8.1
0DC0: MOVFF 03,87
0DC4: MOVFF 02,86
0DC8: MOVFF 01,85
0DCC: MOVFF 00,84
0DD0: MOVLW 1B
0DD2: MOVWF x8B
0DD4: MOVLW E4
0DD6: MOVWF x8A
0DD8: MOVLW 35
0DDA: MOVWF x89
0DDC: MOVLW 82
0DDE: MOVWF x88
0DE0: RCALL 05F0
0DE2: MOVFF 03,6F
0DE6: MOVFF 02,6E
0DEA: MOVFF 01,6D
0DEE: MOVFF 00,6C
.................... r = r*y*y + qat[2];
0DF2: MOVFF 6F,85
0DF6: MOVFF 6E,84
0DFA: MOVFF 6D,83
0DFE: MOVFF 6C,82
0E02: MOVFF 67,89
0E06: MOVFF 66,88
0E0A: MOVFF 65,87
0E0E: MOVFF 64,86
0E12: RCALL 0860
0E14: MOVFF 00,71
0E18: MOVFF 01,72
0E1C: MOVFF 02,73
0E20: MOVFF 03,74
0E24: MOVFF 03,85
0E28: MOVFF 02,84
0E2C: MOVFF 01,83
0E30: MOVFF 00,82
0E34: MOVFF 67,89
0E38: MOVFF 66,88
0E3C: MOVFF 65,87
0E40: MOVFF 64,86
0E44: RCALL 0860
0E46: MOVFF 00,75
0E4A: MOVFF 01,76
0E4E: MOVFF 02,77
0E52: MOVFF 03,78
0E56: BCF FD8.1
0E58: MOVFF 03,87
0E5C: MOVFF 02,86
0E60: MOVFF 01,85
0E64: MOVFF 00,84
0E68: MOVLW A4
0E6A: MOVWF x8B
0E6C: MOVLW DB
0E6E: MOVWF x8A
0E70: MOVLW 67
0E72: MOVWF x89
0E74: MOVLW 83
0E76: MOVWF x88
0E78: CALL 05F0
0E7C: MOVFF 03,6F
0E80: MOVFF 02,6E
0E84: MOVFF 01,6D
0E88: MOVFF 00,6C
.................... r = r*y*y + qat[3];
0E8C: MOVFF 6F,85
0E90: MOVFF 6E,84
0E94: MOVFF 6D,83
0E98: MOVFF 6C,82
0E9C: MOVFF 67,89
0EA0: MOVFF 66,88
0EA4: MOVFF 65,87
0EA8: MOVFF 64,86
0EAC: RCALL 0860
0EAE: MOVFF 00,71
0EB2: MOVFF 01,72
0EB6: MOVFF 02,73
0EBA: MOVFF 03,74
0EBE: MOVFF 03,85
0EC2: MOVFF 02,84
0EC6: MOVFF 01,83
0ECA: MOVFF 00,82
0ECE: MOVFF 67,89
0ED2: MOVFF 66,88
0ED6: MOVFF 65,87
0EDA: MOVFF 64,86
0EDE: RCALL 0860
0EE0: MOVFF 00,75
0EE4: MOVFF 01,76
0EE8: MOVFF 02,77
0EEC: MOVFF 03,78
0EF0: BCF FD8.1
0EF2: MOVFF 03,87
0EF6: MOVFF 02,86
0EFA: MOVFF 01,85
0EFE: MOVFF 00,84
0F02: MOVLW 33
0F04: MOVWF x8B
0F06: MOVLW 8C
0F08: MOVWF x8A
0F0A: MOVLW 1E
0F0C: MOVWF x89
0F0E: MOVLW 83
0F10: MOVWF x88
0F12: CALL 05F0
0F16: MOVFF 03,6F
0F1A: MOVFF 02,6E
0F1E: MOVFF 01,6D
0F22: MOVFF 00,6C
....................
.................... res = y*res/r;
0F26: MOVFF 67,85
0F2A: MOVFF 66,84
0F2E: MOVFF 65,83
0F32: MOVFF 64,82
0F36: MOVFF 6B,89
0F3A: MOVFF 6A,88
0F3E: MOVFF 69,87
0F42: MOVFF 68,86
0F46: RCALL 0860
0F48: MOVFF 00,71
0F4C: MOVFF 01,72
0F50: MOVFF 02,73
0F54: MOVFF 03,74
0F58: MOVFF 03,81
0F5C: MOVFF 02,80
0F60: MOVFF 01,7F
0F64: MOVFF 00,7E
0F68: MOVFF 6F,85
0F6C: MOVFF 6E,84
0F70: MOVFF 6D,83
0F74: MOVFF 6C,82
0F78: RCALL 0942
0F7A: MOVFF 03,6B
0F7E: MOVFF 02,6A
0F82: MOVFF 01,69
0F86: MOVFF 00,68
....................
....................
.................... if (flag) // for |x| > 1
0F8A: BTFSS x70.1
0F8C: BRA 0FC4
.................... res = PI_DIV_BY_TWO - res;
0F8E: BSF FD8.1
0F90: MOVLW DB
0F92: MOVWF x87
0F94: MOVLW 0F
0F96: MOVWF x86
0F98: MOVLW 49
0F9A: MOVWF x85
0F9C: MOVLW 7F
0F9E: MOVWF x84
0FA0: MOVFF 6B,8B
0FA4: MOVFF 6A,8A
0FA8: MOVFF 69,89
0FAC: MOVFF 68,88
0FB0: CALL 05F0
0FB4: MOVFF 03,6B
0FB8: MOVFF 02,6A
0FBC: MOVFF 01,69
0FC0: MOVFF 00,68
.................... if (s)
0FC4: BTFSS x70.0
0FC6: BRA 0FCC
.................... res = -res;
0FC8: MOVLW 80
0FCA: XORWF x69,F
....................
.................... return(res);
0FCC: MOVFF 68,00
0FD0: MOVFF 69,01
0FD4: MOVFF 6A,02
0FD8: MOVFF 6B,03
.................... }
0FDC: GOTO 177A (RETURN)
....................
.................... /////////////////////////////////////////////////////////////////////////////
.................... // 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=.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -