?? dsin.asm
字號(hào):
.include hardware.inc
//=============================================================
// ----Function: unsigned int Uint_SIN(unsigned int Data);
// -Description: sin(x) = x - x3/6 + x5/120 - x7/5040
// --Parameters: 計(jì)算sin值,輸入數(shù)據(jù)為Q15格式,輸入為弧度,限制到0~0.5派
// -----Returns: 輸出數(shù)據(jù)為Q15格式
// -------Notes: 118 Cycle
//=============================================================
.code
.PUBLIC _Uint_SIN
_Uint_SIN:
r3 = r1 //r1中為x
mr = r3*r1 //計(jì)算x2 Q30 (65536 - (10922 - (546 - 13*x2)*x2)*x2)*x
r2 = r4 //存x2 Q14 r2
r3 = 52
mr = r3*r2
r3 = 546
r3 -= r4
r3 = r3 lsl 2
mr = r3*r2
r3 = 10922
r3 -= r4
r3 = r3 lsl 2
mr = r3*r2
r3 = 0
r3 -= r4
mr = r3*r1
r1 = r4
retf
//=============================================================
// ----Function: unsigned int Uint_COS(unsigned int Data);
// -Description: cos(x) = 1 - x2/2 + x4/24 - x6/720 + x8/40320
// --Parameters: 計(jì)算COS值,輸入數(shù)據(jù)為Q15格式,輸入為弧度,限制到0~0.5派
// -----Returns: 輸出數(shù)據(jù)為Q15格式
// -------Notes: 130 Cycle
//=============================================================
.PUBLIC _Uint_COS
_Uint_COS: r3 = r1 //r1中為x
mr = r3*r1//計(jì)算x2 Q24 65536 - (32768 - (2731 - (91 - 1.6*x2)*x2)*x2)*x2)*X2
r2 = r4 //存x2 Q14 r2
r3 = 7
mr = r3*r2
r3 = 91
r3 -= r4
r3 = r3 lsl 2
mr = r3*r2
r3 = 2731
r3 -= r4
r3 = r3 lsl 2
mr = r3*r2
r3 = 32768
r3 -= r4
r3 = r3 lsl 1
mr = r3*r2
r3 = 0x8000
r3 -= r4
r1 = r3
retf
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -