📄 qsine.asm
字号:
;=====================================================================================
; File name: QSINE.ASM
;
; Originator: Digital Control Systems Group
; Texas Instruments
;
; Description:
; Sine Module
;=====================================================================================
; History:
;-------------------------------------------------------------------------------------
; 9-15-2000 Release Rev 1.0
;-------------------------------------------------------------------------------------
; C prototype : int qsine(int angle);
;===========================================================================
;
; History:
; __________________________________________________________________________
; Date of Mod | DESCRIPTION
; ------------|-----------------------------------------------------------
; |
; |
; |
; |
;===========================================================================
; Angle Convention used:
; Angles are between 0 and 1 (Q15) or 0x0 and 0x7fff
; corresponding to a range of 0 to 359 degrees.
;
;
;
.def SIN_TABLE
.def _SINE_TABLE
.def _qsine
_qsine: POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR0
;===========================================================================
SBRK #3 ; Point to ARG1 (in this case angle)
; AR0=(FP0)-3
LACC *,9,AR0 ; Get angle,shifted RIGHT 8 bits
; in *HIGH_ACC*
ADRK #3 ; Point AR0 back to FP0.
SACH * ; Store the shifted angle into FP0
LACC #SIN_TABLE ; Get base of sine table.
ADD * ; Add the offset.
TBLR * ; FP0 now has the COARSE sin value
LACL *,AR1 ; get this value [-1,+1].
;===========================================================================
SBRK 2
LAR AR0,*-
PSHD *
RET
;-------------------------------------------------------
;No. Samples 256 Angle Range 60
;-------------------------------------------------------
; SIN VALUE ; Index Angle Sin(Angle)
_SINE_TABLE
SIN_TABLE .word 0 ; 0 0 0.0000
.word 804 ; 1 1.41 0.0245
.word 1608 ; 2 2.81 0.0491
.word 2410 ; 3 4.22 0.0736
.word 3212 ; 4 5.63 0.0980
.word 4011 ; 5 7.03 0.1224
.word 4808 ; 6 8.44 0.1467
.word 5602 ; 7 9.84 0.1710
.word 6393 ; 8 11.25 0.1951
.word 7179 ; 9 12.66 0.2191
.word 7962 ; 10 14.06 0.2430
.word 8739 ; 11 15.47 0.2667
.word 9512 ; 12 16.88 0.2903
.word 10278 ; 13 18.28 0.3137
.word 11039 ; 14 19.69 0.3369
.word 11793 ; 15 21.09 0.3599
.word 12539 ; 16 22.50 0.3827
.word 13279 ; 17 23.91 0.4052
.word 14010 ; 18 25.31 0.4276
.word 14732 ; 19 26.72 0.4496
.word 15446 ; 20 28.13 0.4714
.word 16151 ; 21 29.53 0.4929
.word 16846 ; 22 30.94 0.5141
.word 17530 ; 23 32.34 0.5350
.word 18204 ; 24 33.75 0.5556
.word 18868 ; 25 35.16 0.5758
.word 19519 ; 26 36.56 0.5957
.word 20159 ; 27 37.97 0.6152
.word 20787 ; 28 39.38 0.6344
.word 21403 ; 29 40.78 0.6532
.word 22005 ; 30 42.19 0.6716
.word 22594 ; 31 43.59 0.6895
.word 23170 ; 32 45.00 0.7071
.word 23731 ; 33 46.41 0.7242
.word 24279 ; 34 47.81 0.7410
.word 24811 ; 35 49.22 0.7572
.word 25329 ; 36 50.63 0.7730
.word 25832 ; 37 52.03 0.7883
.word 26319 ; 38 53.44 0.8032
.word 26790 ; 39 54.84 0.8176
.word 27245 ; 40 56.25 0.8315
.word 27683 ; 41 57.66 0.8449
.word 28105 ; 42 59.06 0.8577
.word 28510 ; 43 60.47 0.8701
.word 28898 ; 44 61.88 0.8819
.word 29268 ; 45 63.28 0.8932
.word 29621 ; 46 64.69 0.9040
.word 29956 ; 47 66.09 0.9142
.word 30273 ; 48 67.50 0.9239
.word 30571 ; 49 68.91 0.9330
.word 30852 ; 50 70.31 0.9415
.word 31113 ; 51 71.72 0.9495
.word 31356 ; 52 73.13 0.9569
.word 31580 ; 53 74.53 0.9638
.word 31785 ; 54 75.94 0.9700
.word 31971 ; 55 77.34 0.9757
.word 32137 ; 56 78.75 0.9808
.word 32285 ; 57 80.16 0.9853
.word 32412 ; 58 81.56 0.9892
.word 32521 ; 59 82.97 0.9925
.word 32609 ; 60 84.38 0.9952
.word 32678 ; 61 85.78 0.9973
.word 32728 ; 62 87.19 0.9988
.word 32757 ; 63 88.59 0.9997
.word 32767 ; 64 90.00 1.0000
.word 32757 ; 65 91.41 0.9997
.word 32728 ; 66 92.81 0.9988
.word 32678 ; 67 94.22 0.9973
.word 32609 ; 68 95.63 0.9952
.word 32521 ; 69 97.03 0.9925
.word 32412 ; 70 98.44 0.9892
.word 32285 ; 71 99.84 0.9853
.word 32137 ; 72 101.25 0.9808
.word 31971 ; 73 102.66 0.9757
.word 31785 ; 74 104.06 0.9700
.word 31580 ; 75 105.47 0.9638
.word 31356 ; 76 106.88 0.9569
.word 31113 ; 77 108.28 0.9495
.word 30852 ; 78 109.69 0.9415
.word 30571 ; 79 111.09 0.9330
.word 30273 ; 80 112.50 0.9239
.word 29956 ; 81 113.91 0.9142
.word 29621 ; 82 115.31 0.9040
.word 29268 ; 83 116.72 0.8932
.word 28898 ; 84 118.13 0.8819
.word 28510 ; 85 119.53 0.8701
.word 28105 ; 86 120.94 0.8577
.word 27683 ; 87 122.34 0.8449
.word 27245 ; 88 123.75 0.8315
.word 26790 ; 89 125.16 0.8176
.word 26319 ; 90 126.56 0.8032
.word 25832 ; 91 127.97 0.7883
.word 25329 ; 92 129.38 0.7730
.word 24811 ; 93 130.78 0.7572
.word 24279 ; 94 132.19 0.7410
.word 23731 ; 95 133.59 0.7242
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -