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

📄 psp_wrt_transmitter.lst

📁 Embedded camera control program.
💻 LST
📖 第 1 页 / 共 5 页
字号:
0CA4:  BCF    03.5
0CA5:  CALL   385
0CA6:  BSF    0A.3
0CA7:  MOVF   7A,W
0CA8:  BSF    03.5
0CA9:  MOVWF  2B
0CAA:  MOVF   79,W
0CAB:  MOVWF  2A
0CAC:  MOVF   78,W
0CAD:  MOVWF  29
0CAE:  MOVF   77,W
0CAF:  MOVWF  28
.................... 	quad = quad % 4;                    // quadrant (0 to 3)  
0CB0:  MOVLW  03
0CB1:  ANDWF  75,F
....................   
.................... 	if (quad == 0 || quad == 2)  
0CB2:  MOVF   75,F
0CB3:  BTFSC  03.2
0CB4:  GOTO   4B9
0CB5:  MOVF   75,W
0CB6:  SUBLW  02
0CB7:  BTFSS  03.2
0CB8:  GOTO   4D7
.................... 		t = frac * PI_DIV_BY_TWO;  
0CB9:  MOVF   2B,W
0CBA:  MOVWF  45
0CBB:  MOVF   2A,W
0CBC:  MOVWF  44
0CBD:  MOVF   29,W
0CBE:  MOVWF  43
0CBF:  MOVF   28,W
0CC0:  MOVWF  42
0CC1:  MOVLW  DB
0CC2:  MOVWF  49
0CC3:  MOVLW  0F
0CC4:  MOVWF  48
0CC5:  MOVLW  49
0CC6:  MOVWF  47
0CC7:  MOVLW  7F
0CC8:  MOVWF  46
0CC9:  BCF    0A.3
0CCA:  BCF    03.5
0CCB:  CALL   2EB
0CCC:  BSF    0A.3
0CCD:  MOVF   7A,W
0CCE:  BSF    03.5
0CCF:  MOVWF  23
0CD0:  MOVF   79,W
0CD1:  MOVWF  22
0CD2:  MOVF   78,W
0CD3:  MOVWF  21
0CD4:  MOVF   77,W
0CD5:  MOVWF  20
.................... 	else if (quad == 1)  
0CD6:  GOTO   548
0CD7:  DECFSZ 75,W
0CD8:  GOTO   511
.................... 		t = (1-frac) * PI_DIV_BY_TWO;  
0CD9:  BSF    03.1
0CDA:  CLRF   47
0CDB:  CLRF   46
0CDC:  CLRF   45
0CDD:  MOVLW  7F
0CDE:  MOVWF  44
0CDF:  MOVF   2B,W
0CE0:  MOVWF  4B
0CE1:  MOVF   2A,W
0CE2:  MOVWF  4A
0CE3:  MOVF   29,W
0CE4:  MOVWF  49
0CE5:  MOVF   28,W
0CE6:  MOVWF  48
0CE7:  BCF    0A.3
0CE8:  BCF    03.5
0CE9:  CALL   385
0CEA:  BSF    0A.3
0CEB:  MOVF   77,W
0CEC:  BSF    03.5
0CED:  MOVWF  3C
0CEE:  MOVF   78,W
0CEF:  MOVWF  3D
0CF0:  MOVF   79,W
0CF1:  MOVWF  3E
0CF2:  MOVF   7A,W
0CF3:  MOVWF  3F
0CF4:  MOVWF  45
0CF5:  MOVF   3E,W
0CF6:  MOVWF  44
0CF7:  MOVF   3D,W
0CF8:  MOVWF  43
0CF9:  MOVF   3C,W
0CFA:  MOVWF  42
0CFB:  MOVLW  DB
0CFC:  MOVWF  49
0CFD:  MOVLW  0F
0CFE:  MOVWF  48
0CFF:  MOVLW  49
0D00:  MOVWF  47
0D01:  MOVLW  7F
0D02:  MOVWF  46
0D03:  BCF    0A.3
0D04:  BCF    03.5
0D05:  CALL   2EB
0D06:  BSF    0A.3
0D07:  MOVF   7A,W
0D08:  BSF    03.5
0D09:  MOVWF  23
0D0A:  MOVF   79,W
0D0B:  MOVWF  22
0D0C:  MOVF   78,W
0D0D:  MOVWF  21
0D0E:  MOVF   77,W
0D0F:  MOVWF  20
.................... 	else // should be 3  
0D10:  GOTO   548
.................... 		t = (frac-1) * PI_DIV_BY_TWO;  
0D11:  BSF    03.1
0D12:  MOVF   2B,W
0D13:  MOVWF  47
0D14:  MOVF   2A,W
0D15:  MOVWF  46
0D16:  MOVF   29,W
0D17:  MOVWF  45
0D18:  MOVF   28,W
0D19:  MOVWF  44
0D1A:  CLRF   4B
0D1B:  CLRF   4A
0D1C:  CLRF   49
0D1D:  MOVLW  7F
0D1E:  MOVWF  48
0D1F:  BCF    0A.3
0D20:  BCF    03.5
0D21:  CALL   385
0D22:  BSF    0A.3
0D23:  MOVF   77,W
0D24:  BSF    03.5
0D25:  MOVWF  3C
0D26:  MOVF   78,W
0D27:  MOVWF  3D
0D28:  MOVF   79,W
0D29:  MOVWF  3E
0D2A:  MOVF   7A,W
0D2B:  MOVWF  3F
0D2C:  MOVWF  45
0D2D:  MOVF   3E,W
0D2E:  MOVWF  44
0D2F:  MOVF   3D,W
0D30:  MOVWF  43
0D31:  MOVF   3C,W
0D32:  MOVWF  42
0D33:  MOVLW  DB
0D34:  MOVWF  49
0D35:  MOVLW  0F
0D36:  MOVWF  48
0D37:  MOVLW  49
0D38:  MOVWF  47
0D39:  MOVLW  7F
0D3A:  MOVWF  46
0D3B:  BCF    0A.3
0D3C:  BCF    03.5
0D3D:  CALL   2EB
0D3E:  BSF    0A.3
0D3F:  MOVF   7A,W
0D40:  BSF    03.5
0D41:  MOVWF  23
0D42:  MOVF   79,W
0D43:  MOVWF  22
0D44:  MOVF   78,W
0D45:  MOVWF  21
0D46:  MOVF   77,W
0D47:  MOVWF  20
....................   
.................... 	y = 0.999999999781;  
0D48:  CLRF   74
0D49:  CLRF   73
0D4A:  CLRF   72
0D4B:  MOVLW  7F
0D4C:  MOVWF  71
.................... 	t = t * t;  
0D4D:  MOVF   23,W
0D4E:  MOVWF  45
0D4F:  MOVF   22,W
0D50:  MOVWF  44
0D51:  MOVF   21,W
0D52:  MOVWF  43
0D53:  MOVF   20,W
0D54:  MOVWF  42
0D55:  MOVF   23,W
0D56:  MOVWF  49
0D57:  MOVF   22,W
0D58:  MOVWF  48
0D59:  MOVF   21,W
0D5A:  MOVWF  47
0D5B:  MOVF   20,W
0D5C:  MOVWF  46
0D5D:  BCF    0A.3
0D5E:  BCF    03.5
0D5F:  CALL   2EB
0D60:  BSF    0A.3
0D61:  MOVF   7A,W
0D62:  BSF    03.5
0D63:  MOVWF  23
0D64:  MOVF   79,W
0D65:  MOVWF  22
0D66:  MOVF   78,W
0D67:  MOVWF  21
0D68:  MOVF   77,W
0D69:  MOVWF  20
.................... 	for (i = 0; i <= 3; i++)  
0D6A:  CLRF   76
0D6B:  MOVF   76,W
0D6C:  SUBLW  03
0D6D:  BTFSS  03.0
0D6E:  GOTO   5DF
.................... 	{  
.................... 		t2 = t2 * t;  
0D6F:  MOVF   27,W
0D70:  MOVWF  45
0D71:  MOVF   26,W
0D72:  MOVWF  44
0D73:  MOVF   25,W
0D74:  MOVWF  43
0D75:  MOVF   24,W
0D76:  MOVWF  42
0D77:  MOVF   23,W
0D78:  MOVWF  49
0D79:  MOVF   22,W
0D7A:  MOVWF  48
0D7B:  MOVF   21,W
0D7C:  MOVWF  47
0D7D:  MOVF   20,W
0D7E:  MOVWF  46
0D7F:  BCF    0A.3
0D80:  BCF    03.5
0D81:  CALL   2EB
0D82:  BSF    0A.3
0D83:  MOVF   7A,W
0D84:  BSF    03.5
0D85:  MOVWF  27
0D86:  MOVF   79,W
0D87:  MOVWF  26
0D88:  MOVF   78,W
0D89:  MOVWF  25
0D8A:  MOVF   77,W
0D8B:  MOVWF  24
.................... 		y = y + p[i] * t2;  
0D8C:  RLF    76,W
0D8D:  MOVWF  77
0D8E:  RLF    77,F
0D8F:  MOVLW  FC
0D90:  ANDWF  77,F
0D91:  MOVF   77,W
0D92:  ADDLW  AC
0D93:  MOVWF  04
0D94:  BCF    03.7
0D95:  MOVF   00,W
0D96:  MOVWF  3C
0D97:  INCF   04,F
0D98:  MOVF   00,W
0D99:  MOVWF  3D
0D9A:  INCF   04,F
0D9B:  MOVF   00,W
0D9C:  MOVWF  3E
0D9D:  INCF   04,F
0D9E:  MOVF   00,W
0D9F:  MOVWF  3F
0DA0:  MOVWF  45
0DA1:  MOVF   3E,W
0DA2:  MOVWF  44
0DA3:  MOVF   3D,W
0DA4:  MOVWF  43
0DA5:  MOVF   3C,W
0DA6:  MOVWF  42
0DA7:  MOVF   27,W
0DA8:  MOVWF  49
0DA9:  MOVF   26,W
0DAA:  MOVWF  48
0DAB:  MOVF   25,W
0DAC:  MOVWF  47
0DAD:  MOVF   24,W
0DAE:  MOVWF  46
0DAF:  BCF    0A.3
0DB0:  BCF    03.5
0DB1:  CALL   2EB
0DB2:  BSF    0A.3
0DB3:  BSF    03.5
0DB4:  CLRF   41
0DB5:  MOVF   04,W
0DB6:  MOVWF  40
0DB7:  BCF    41.0
0DB8:  BTFSC  03.7
0DB9:  BSF    41.0
0DBA:  BCF    03.1
0DBB:  MOVF   74,W
0DBC:  MOVWF  47
0DBD:  MOVF   73,W
0DBE:  MOVWF  46
0DBF:  MOVF   72,W
0DC0:  MOVWF  45
0DC1:  MOVF   71,W
0DC2:  MOVWF  44
0DC3:  MOVF   7A,W
0DC4:  MOVWF  4B
0DC5:  MOVF   79,W
0DC6:  MOVWF  4A
0DC7:  MOVF   78,W
0DC8:  MOVWF  49
0DC9:  MOVF   77,W
0DCA:  MOVWF  48
0DCB:  BCF    0A.3
0DCC:  BCF    03.5
0DCD:  CALL   385
0DCE:  BSF    0A.3
0DCF:  BSF    03.5
0DD0:  MOVF   40,W
0DD1:  MOVWF  04
0DD2:  BCF    03.7
0DD3:  BTFSC  41.0
0DD4:  BSF    03.7
0DD5:  MOVF   7A,W
0DD6:  MOVWF  74
0DD7:  MOVF   79,W
0DD8:  MOVWF  73
0DD9:  MOVF   78,W
0DDA:  MOVWF  72
0DDB:  MOVF   77,W
0DDC:  MOVWF  71
.................... 	}  
0DDD:  INCF   76,F
0DDE:  GOTO   56B
....................   
.................... 	if (quad == 2 || quad == 1)  
0DDF:  MOVF   75,W
0DE0:  SUBLW  02
0DE1:  BTFSC  03.2
0DE2:  GOTO   5E5
0DE3:  DECFSZ 75,W
0DE4:  GOTO   5E7
.................... 		y = -y;  // correct sign  
0DE5:  MOVLW  80
0DE6:  XORWF  72,F
....................   
.................... 	return (y);  
0DE7:  MOVF   71,W
0DE8:  MOVWF  77
0DE9:  MOVF   72,W
0DEA:  MOVWF  78
0DEB:  MOVF   73,W
0DEC:  MOVWF  79
0DED:  MOVF   74,W
0DEE:  MOVWF  7A
.................... }  
....................   
.................... ////////////////////////////////////////////////////////////////////////////  
.................... //	float sin(float x)  
.................... ////////////////////////////////////////////////////////////////////////////  
.................... // Description : returns the sine value of the angle x, which is in radian  
.................... // Date : 9/20/2001  
.................... //  
.................... float sin(float x)  
.................... {  
.................... 	return cos(x - PI_DIV_BY_TWO);  
.................... }  
....................   
.................... ////////////////////////////////////////////////////////////////////////////  
.................... //	float tan(float x)  
.................... ////////////////////////////////////////////////////////////////////////////  
.................... // Description : returns the tangent value of the angle x, which is in radian  
.................... // Date : 9/20/2001  
.................... //  
.................... float tan(float x)  
.................... {  
....................    float c, s;  
....................   
....................    c = cos(x);  
.................... 	if (c == 0.0)  
.................... 	   return (1.0e+36);  
....................   
....................    s = sin(x);  
....................    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;  
*
08C8:  BCF    75.0
....................    flag = 0;  
08C9:  BCF    75.1
....................    y = x;  
08CA:  MOVF   74,W
08CB:  BSF    03.5
08CC:  MOVWF  23
08CD:  MOVF   73,W
08CE:  MOVWF  22
08CF:  MOVF   72,W
08D0:  MOVWF  21
08D1:  MOVF   71,W
08D2:  MOVWF  20
....................   
....................    if (x < 0)  
08D3:  MOVF   74,W
08D4:  MOVWF  41
08D5:  MOVF   73,W
08D6:  MOVWF  40
08D7:  MOVF   72,W
08D8:  MOVWF  3F
08D9:  MOVF   71,W
08DA:  MOVWF  3E
08DB:  CLRF   45
08DC:  CLRF   44
08DD:  CLRF   43
08DE:  CLRF   42
08DF:  BCF    0A.3
08E0:  BCF    03.5
08E1:  CALL   599
08E2:  BSF    0A.3
08E3:  BTFSS  03.0
08E4:  GOTO   0EA
....................    {  
....................       s = 1;  
08E5:  BSF    75.0
....................       y = -y;  
08E6:  MOVLW  80
08E7:  BSF    03.5
08E8:  XORWF  21,F
08E9:  BCF    03.5
....................    }  
....................   
....................    if (y > 1.0)  
08EA:  BSF    03.5
08EB:  CLRF   41
08EC:  CLRF   40

⌨️ 快捷键说明

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