📄 1t.lst
字号:
0D39: MOVLW 49
0D3A: MOVWF 25
0D3B: MOVLW 7F
0D3C: MOVWF 24
0D3D: BCF 0A.3
0D3E: BCF 03.5
0D3F: CALL 53D
0D40: BSF 0A.3
0D41: MOVF 77,W
0D42: BSF 03.5
0D43: MOVWF 20
0D44: MOVF 78,W
0D45: MOVWF 21
0D46: MOVF 79,W
0D47: MOVWF 22
0D48: MOVF 7A,W
0D49: MOVWF 23
0D4A: CLRF 25
0D4B: BCF 03.5
0D4C: MOVF 5E,W
0D4D: BSF 03.5
0D4E: MOVWF 24
0D4F: BCF 0A.3
0D50: BCF 03.5
0D51: CALL 336
0D52: BSF 0A.3
0D53: BSF 03.1
0D54: BSF 03.5
0D55: MOVF 23,W
0D56: MOVWF 29
0D57: MOVF 22,W
0D58: MOVWF 28
0D59: MOVF 21,W
0D5A: MOVWF 27
0D5B: MOVF 20,W
0D5C: MOVWF 26
0D5D: MOVF 7A,W
0D5E: MOVWF 2D
0D5F: MOVF 79,W
0D60: MOVWF 2C
0D61: MOVF 78,W
0D62: MOVWF 2B
0D63: MOVF 77,W
0D64: MOVWF 2A
0D65: BCF 0A.3
0D66: BCF 03.5
0D67: CALL 37E
0D68: BSF 0A.3
0D69: MOVF 7A,W
0D6A: MOVWF 63
0D6B: MOVF 79,W
0D6C: MOVWF 62
0D6D: MOVF 78,W
0D6E: MOVWF 61
0D6F: MOVF 77,W
0D70: MOVWF 60
.................... quad = quad % 4; // quadrant (0 to 3)
0D71: MOVLW 03
0D72: ANDWF 5E,F
....................
.................... if (quad == 0 || quad == 2)
0D73: MOVF 5E,F
0D74: BTFSC 03.2
0D75: GOTO 57A
0D76: MOVF 5E,W
0D77: SUBLW 02
0D78: BTFSS 03.2
0D79: GOTO 59E
.................... t = frac * PI_DIV_BY_TWO;
0D7A: MOVF 63,W
0D7B: BSF 03.5
0D7C: MOVWF 27
0D7D: BCF 03.5
0D7E: MOVF 62,W
0D7F: BSF 03.5
0D80: MOVWF 26
0D81: BCF 03.5
0D82: MOVF 61,W
0D83: BSF 03.5
0D84: MOVWF 25
0D85: BCF 03.5
0D86: MOVF 60,W
0D87: BSF 03.5
0D88: MOVWF 24
0D89: MOVLW DB
0D8A: MOVWF 2B
0D8B: MOVLW 0F
0D8C: MOVWF 2A
0D8D: MOVLW 49
0D8E: MOVWF 29
0D8F: MOVLW 7F
0D90: MOVWF 28
0D91: BCF 0A.3
0D92: BCF 03.5
0D93: CALL 4C5
0D94: BSF 0A.3
0D95: MOVF 7A,W
0D96: MOVWF 59
0D97: MOVF 79,W
0D98: MOVWF 58
0D99: MOVF 78,W
0D9A: MOVWF 57
0D9B: MOVF 77,W
0D9C: MOVWF 56
.................... else if (quad == 1)
0D9D: GOTO 61D
0D9E: DECFSZ 5E,W
0D9F: GOTO 5E0
.................... t = (1-frac) * PI_DIV_BY_TWO;
0DA0: BSF 03.1
0DA1: BSF 03.5
0DA2: CLRF 29
0DA3: CLRF 28
0DA4: CLRF 27
0DA5: MOVLW 7F
0DA6: MOVWF 26
0DA7: BCF 03.5
0DA8: MOVF 63,W
0DA9: BSF 03.5
0DAA: MOVWF 2D
0DAB: BCF 03.5
0DAC: MOVF 62,W
0DAD: BSF 03.5
0DAE: MOVWF 2C
0DAF: BCF 03.5
0DB0: MOVF 61,W
0DB1: BSF 03.5
0DB2: MOVWF 2B
0DB3: BCF 03.5
0DB4: MOVF 60,W
0DB5: BSF 03.5
0DB6: MOVWF 2A
0DB7: BCF 0A.3
0DB8: BCF 03.5
0DB9: CALL 37E
0DBA: BSF 0A.3
0DBB: MOVF 77,W
0DBC: BSF 03.5
0DBD: MOVWF 20
0DBE: MOVF 78,W
0DBF: MOVWF 21
0DC0: MOVF 79,W
0DC1: MOVWF 22
0DC2: MOVF 7A,W
0DC3: MOVWF 23
0DC4: MOVWF 27
0DC5: MOVF 22,W
0DC6: MOVWF 26
0DC7: MOVF 21,W
0DC8: MOVWF 25
0DC9: MOVF 20,W
0DCA: MOVWF 24
0DCB: MOVLW DB
0DCC: MOVWF 2B
0DCD: MOVLW 0F
0DCE: MOVWF 2A
0DCF: MOVLW 49
0DD0: MOVWF 29
0DD1: MOVLW 7F
0DD2: MOVWF 28
0DD3: BCF 0A.3
0DD4: BCF 03.5
0DD5: CALL 4C5
0DD6: BSF 0A.3
0DD7: MOVF 7A,W
0DD8: MOVWF 59
0DD9: MOVF 79,W
0DDA: MOVWF 58
0DDB: MOVF 78,W
0DDC: MOVWF 57
0DDD: MOVF 77,W
0DDE: MOVWF 56
.................... else // should be 3
0DDF: GOTO 61D
.................... t = (frac-1) * PI_DIV_BY_TWO;
0DE0: BSF 03.1
0DE1: MOVF 63,W
0DE2: BSF 03.5
0DE3: MOVWF 29
0DE4: BCF 03.5
0DE5: MOVF 62,W
0DE6: BSF 03.5
0DE7: MOVWF 28
0DE8: BCF 03.5
0DE9: MOVF 61,W
0DEA: BSF 03.5
0DEB: MOVWF 27
0DEC: BCF 03.5
0DED: MOVF 60,W
0DEE: BSF 03.5
0DEF: MOVWF 26
0DF0: CLRF 2D
0DF1: CLRF 2C
0DF2: CLRF 2B
0DF3: MOVLW 7F
0DF4: MOVWF 2A
0DF5: BCF 0A.3
0DF6: BCF 03.5
0DF7: CALL 37E
0DF8: BSF 0A.3
0DF9: MOVF 77,W
0DFA: BSF 03.5
0DFB: MOVWF 20
0DFC: MOVF 78,W
0DFD: MOVWF 21
0DFE: MOVF 79,W
0DFF: MOVWF 22
0E00: MOVF 7A,W
0E01: MOVWF 23
0E02: MOVWF 27
0E03: MOVF 22,W
0E04: MOVWF 26
0E05: MOVF 21,W
0E06: MOVWF 25
0E07: MOVF 20,W
0E08: MOVWF 24
0E09: MOVLW DB
0E0A: MOVWF 2B
0E0B: MOVLW 0F
0E0C: MOVWF 2A
0E0D: MOVLW 49
0E0E: MOVWF 29
0E0F: MOVLW 7F
0E10: MOVWF 28
0E11: BCF 0A.3
0E12: BCF 03.5
0E13: CALL 4C5
0E14: BSF 0A.3
0E15: MOVF 7A,W
0E16: MOVWF 59
0E17: MOVF 79,W
0E18: MOVWF 58
0E19: MOVF 78,W
0E1A: MOVWF 57
0E1B: MOVF 77,W
0E1C: MOVWF 56
....................
.................... y = 0.999999999781;
0E1D: CLRF 55
0E1E: CLRF 54
0E1F: CLRF 53
0E20: MOVLW 7F
0E21: MOVWF 52
.................... t = t * t;
0E22: MOVF 59,W
0E23: BSF 03.5
0E24: MOVWF 27
0E25: BCF 03.5
0E26: MOVF 58,W
0E27: BSF 03.5
0E28: MOVWF 26
0E29: BCF 03.5
0E2A: MOVF 57,W
0E2B: BSF 03.5
0E2C: MOVWF 25
0E2D: BCF 03.5
0E2E: MOVF 56,W
0E2F: BSF 03.5
0E30: MOVWF 24
0E31: BCF 03.5
0E32: MOVF 59,W
0E33: BSF 03.5
0E34: MOVWF 2B
0E35: BCF 03.5
0E36: MOVF 58,W
0E37: BSF 03.5
0E38: MOVWF 2A
0E39: BCF 03.5
0E3A: MOVF 57,W
0E3B: BSF 03.5
0E3C: MOVWF 29
0E3D: BCF 03.5
0E3E: MOVF 56,W
0E3F: BSF 03.5
0E40: MOVWF 28
0E41: BCF 0A.3
0E42: BCF 03.5
0E43: CALL 4C5
0E44: BSF 0A.3
0E45: MOVF 7A,W
0E46: MOVWF 59
0E47: MOVF 79,W
0E48: MOVWF 58
0E49: MOVF 78,W
0E4A: MOVWF 57
0E4B: MOVF 77,W
0E4C: MOVWF 56
.................... for (i = 0; i <= 3; i++)
0E4D: CLRF 5F
0E4E: MOVF 5F,W
0E4F: SUBLW 03
0E50: BTFSS 03.0
0E51: GOTO 6E2
.................... {
.................... t2 = t2 * t;
0E52: MOVF 5D,W
0E53: BSF 03.5
0E54: MOVWF 27
0E55: BCF 03.5
0E56: MOVF 5C,W
0E57: BSF 03.5
0E58: MOVWF 26
0E59: BCF 03.5
0E5A: MOVF 5B,W
0E5B: BSF 03.5
0E5C: MOVWF 25
0E5D: BCF 03.5
0E5E: MOVF 5A,W
0E5F: BSF 03.5
0E60: MOVWF 24
0E61: BCF 03.5
0E62: MOVF 59,W
0E63: BSF 03.5
0E64: MOVWF 2B
0E65: BCF 03.5
0E66: MOVF 58,W
0E67: BSF 03.5
0E68: MOVWF 2A
0E69: BCF 03.5
0E6A: MOVF 57,W
0E6B: BSF 03.5
0E6C: MOVWF 29
0E6D: BCF 03.5
0E6E: MOVF 56,W
0E6F: BSF 03.5
0E70: MOVWF 28
0E71: BCF 0A.3
0E72: BCF 03.5
0E73: CALL 4C5
0E74: BSF 0A.3
0E75: MOVF 7A,W
0E76: MOVWF 5D
0E77: MOVF 79,W
0E78: MOVWF 5C
0E79: MOVF 78,W
0E7A: MOVWF 5B
0E7B: MOVF 77,W
0E7C: MOVWF 5A
.................... y = y + p[i] * t2;
0E7D: RLF 5F,W
0E7E: MOVWF 77
0E7F: RLF 77,F
0E80: MOVLW FC
0E81: ANDWF 77,F
0E82: MOVF 77,W
0E83: ADDLW 64
0E84: MOVWF 04
0E85: BCF 03.7
0E86: MOVF 00,W
0E87: BSF 03.5
0E88: MOVWF 20
0E89: INCF 04,F
0E8A: MOVF 00,W
0E8B: MOVWF 21
0E8C: INCF 04,F
0E8D: MOVF 00,W
0E8E: MOVWF 22
0E8F: INCF 04,F
0E90: MOVF 00,W
0E91: MOVWF 23
0E92: MOVWF 27
0E93: MOVF 22,W
0E94: MOVWF 26
0E95: MOVF 21,W
0E96: MOVWF 25
0E97: MOVF 20,W
0E98: MOVWF 24
0E99: BCF 03.5
0E9A: MOVF 5D,W
0E9B: BSF 03.5
0E9C: MOVWF 2B
0E9D: BCF 03.5
0E9E: MOVF 5C,W
0E9F: BSF 03.5
0EA0: MOVWF 2A
0EA1: BCF 03.5
0EA2: MOVF 5B,W
0EA3: BSF 03.5
0EA4: MOVWF 29
0EA5: BCF 03.5
0EA6: MOVF 5A,W
0EA7: BSF 03.5
0EA8: MOVWF 28
0EA9: BCF 0A.3
0EAA: BCF 03.5
0EAB: CALL 4C5
0EAC: BSF 0A.3
0EAD: BSF 03.5
0EAE: CLRF 25
0EAF: MOVF 04,W
0EB0: MOVWF 24
0EB1: BCF 25.0
0EB2: BTFSC 03.7
0EB3: BSF 25.0
0EB4: BCF 03.1
0EB5: BCF 03.5
0EB6: MOVF 55,W
0EB7: BSF 03.5
0EB8: MOVWF 29
0EB9: BCF 03.5
0EBA: MOVF 54,W
0EBB: BSF 03.5
0EBC: MOVWF 28
0EBD: BCF 03.5
0EBE: MOVF 53,W
0EBF: BSF 03.5
0EC0: MOVWF 27
0EC1: BCF 03.5
0EC2: MOVF 52,W
0EC3: BSF 03.5
0EC4: MOVWF 26
0EC5: MOVF 7A,W
0EC6: MOVWF 2D
0EC7: MOVF 79,W
0EC8: MOVWF 2C
0EC9: MOVF 78,W
0ECA: MOVWF 2B
0ECB: MOVF 77,W
0ECC: MOVWF 2A
0ECD: BCF 0A.3
0ECE: BCF 03.5
0ECF: CALL 37E
0ED0: BSF 0A.3
0ED1: BSF 03.5
0ED2: MOVF 24,W
0ED3: MOVWF 04
0ED4: BCF 03.7
0ED5: BTFSC 25.0
0ED6: BSF 03.7
0ED7: MOVF 7A,W
0ED8: BCF 03.5
0ED9: MOVWF 55
0EDA: MOVF 79,W
0EDB: MOVWF 54
0EDC: MOVF 78,W
0EDD: MOVWF 53
0EDE: MOVF 77,W
0EDF: MOVWF 52
.................... }
0EE0: INCF 5F,F
0EE1: GOTO 64E
....................
.................... if (quad == 2 || quad == 1)
0EE2: MOVF 5E,W
0EE3: SUBLW 02
0EE4: BTFSC 03.2
0EE5: GOTO 6E8
0EE6: DECFSZ 5E,W
0EE7: GOTO 6EA
.................... y = -y; // correct sign
0EE8: MOVLW 80
0EE9: XORWF 53,F
....................
.................... return (y);
0EEA: MOVF 52,W
0EEB: MOVWF 77
0EEC: MOVF 53,W
0EED: MOVWF 78
0EEE: MOVF 54,W
0EEF: MOVWF 79
0EF0: MOVF 55,W
0EF1: 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;
....................
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -