📄 fm.asm
字号:
SINSTEP .set 6H
SINSTP .set 0H
SIN25P .set 1H
SINOUT .set 2H
COS25P .set 3H
COSOUT .set 4H
SIN1P .set 5H
b .set -1*32768/1000
K_IF80 .set 25*32768/80
K_QF80 .set 1*128/80
.mmregs
.def start
.bss y,10
sin_x .usect "sinx",500
cos_x .usect "cosx",500
sin1_x .usect "sin1x",500
cos1_x .usect "cos1x",500
out1_x .usect "out1x",500
out2_x .usect "out2x",500
xn .usect "xn",20
a0 .usect "a0",20
.text
start: SSBX FRCT
STM #500,AR1
STM #sin_x,AR4
STM #cos_x,AR2
STM #sin1_x,AR3
STM #cos1_x,AR5
LD #y,DP
ST #0,SIN25P
ST #0,SIN1P
ST #K_IF80,SINSTP
ST #K_QF80,SINSTEP
loop: LD SIN25P,A
ADD SINSTP,A
STL A,SIN25P
ADD #SINTAB,A
READA *AR4+
LD SIN25P,A
ADD #32,A
AND #7FH,A
ADD #SINTAB,A
READA *AR2+
LD SIN1P,A
ADD SINSTEP,A
AND #07FH,A
STL A,SIN1P
ADD #SINTAB,A
READA *AR3+
LD SIN1P,A
ADD #32,A
AND #7FH,A
ADD #SINTAB,A
READA *AR5+
BANZ loop,*AR1-
modu: STM #sin1_x,AR2
STM #out1_x,AR5
STM #sin_x,AR3
STM #cos_x,AR4
STM #500,AR1
loop1: MPY *AR2+,*AR3,A
STL A,*AR5
MPY *AR5,#b,A
STL A,*AR5
ADD *AR5,*AR4+,A
STH A,*AR5+
LD *AR3+,A
BANZ loop1,*AR1-
here: B here
.data
SINTAB: .word 00000H,00648H,00C8CH,012C8H,018F9H,01F1AH,02528H,02B1FH
.word 030FBH,036BAH,03C56H,041CEH,0471CH,04C3FH,05133H,055F5H
.word 05A82H,05ED7H,062F1H,066CFH,06A6DH,06DC9H,070E2H,073B5H
.word 07641H,07884H,07A7CH,07C29H,07D89H,07E9CH,07F61H,07FD8H
.word 07FFFH,07FD8H,07F61H,07E9CH,07D89H,07C29H,07A7CH,07884H
.word 07641H,073B5H,070E2H,06DC9H,06A6DH,066CFH,062F1H,05ED7H
.word 05A82h,055F5H,05133H,04C3FH,0471CH,041CEH,03C56H,036BAH
.word 030FBH,02B1FH,02528H,01F1AH,018F9H,012C8H,00C8CH,00648H
.word 00000H,0F9B8H,0F374H,0ED38H,0E707H,0E0E6H,0DAD8H,0D4E1H
.word 0CF05H,0C946H,0C3AAH,0BE32H,0B8E4H,0B3C1H,0AECDH,0AA0BH
.word 0A57EH,0A129H,09D0FH,09931H,09593H,09237H,08F1EH,08C4BH
.word 089bfh,0877ch,08584h,083D7H,08227H,08164H,0809FH,08028H
.word 08001H,08028H,0809FH,08164H,08277H,083D7H,08584H,0877CH
.word 089BFH,08C4BH,08F1EH,09237H,09593H,09931H,09D0FH,0A129H
.word 0A57EH,0AA0BH,0AECDH,0B3C1H,0B8E4H,0BE32H,0C3AAH,0C946H
.word 0CF05H,0D4E1H,0DAD8H,0E0E6H,0E707H,0ED38H,0F374H,0F9B8H
.word 00000H
table: .word 5*32768/10000
.word 22*32768/10000
.word 65*32768/10000
.word 153*32768/10000
.word 298*32768/10000
.word 492*32768/10000
.word 716*32768/10000
.word 934*32768/10000
.word 1109*32768/10000
.word 1206*32768/10000
.word 1206*32768/10000
.word 1109*32768/10000
.word 934*32768/10000
.word 716*32768/10000
.word 492*32768/10000
.word 298*32768/10000
.word 153*32768/10000
.word 65*32768/10000
.word 22*32768/10000
.word 5*32768/10000
.END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -