📄 ssb1.asm
字号:
.title "ssb.asm"
.mmregs
.def start
.bss x,1
.bss sin25p,1
.bss sinstp,1
.bss sinp,1
.bss stp,1
.bss x0,1
.bss x1,1
.bss s0,1
.bss s1,1
.bss y1,1
.bss y0,1
xl .usect "xl",128
xn .usect "xn",128
a0 .usect "a0",128
a1 .usect "a1",128
y .usect "DATA",600
stack .usect "STK",100
.text
start: LD #x,DP
SSBX FRCT
STM #stack+100,SP
ST #0, sin25p
ST #1*128/80,sinstp
ST #0,sinp
ST #20*128/80,stp
STM #a0,AR1
RPT #127
MVPD REAL, *AR1+
STM #a1, AR1
RPT #127
MVPD IMAG,*AR1+
STM #128,BK
STM #-1,AR0
STM #y, AR6
;STM #x, AR6
STM #xl+127,AR2
STM #xn+127,AR4
STM #a0+127,AR3
STM #a1+127,AR5
STM #500,AR1
loop: LD sin25p,A ;产生调制信号x
ADD sinstp,A
AND #07FH,A
STL A,sin25p
ADD #sintab,A
READA x
LD x,B
STL B,*AR2 ;实部滤波
RPTZ A,#127
MAC *AR2+0%,*AR3+0%,A
STH A,x0
MAR *AR2+0%
LD x,A
STL A,*AR4 ;虚部滤波
RPTZ A,#127
MAC *AR4+0%,*AR5+0%,A
STH A,x1
MAR *AR4+0%
CALL SIN
LD x0,T
MPY s0,A
STH A,y0
LD x1,T
MPY s1,A
ADD y0,16,A
STH A,*AR6+
BANZ loop,*AR1-
here: B here
SIN: LD sinp,A ;产生调制信号x
ADD stp,A
AND #07FH,A
STL A,sinp
ADD #sintab,A
READA s0
LD sinp,A
ADD #32,A
AND #7FH,A
READA s1
RET
.data
REAL: .word 2, 4, -3, -11, -5, -2, -10, -5
.word -2, -13, -3, -1, -14, 3, 3, -13
.word 16, 10, -7, 35, 18, 4, 60, 25
.word 20, 87, 25, 38, 111, 14, 56, 121
.word -12, 71, 111, -59, 79, 69, -126, 77
.word -12, -209, 64, -138, -301, 41, -309, -386
.word 8, -526, -443, -30, -790, -438, -68, -1121
.word -307, -100, -1622, 160, -121, -3106, 3582, 10796
.word 3582, -3106, -121, 160, -1622, -100, -307, -1121
.word -68, -438, -790, -30, -443, -526, 8, -386
.word -309, 41, -301, -138, 64, -209, -12, 77
.word -126, 69, 79, -59, 111, 71, -12, 121
.word 56, 14, 111, 38, 25, 87, 20, 25
.word 60, 4, 18, 35, -7, 10, 16, -13
.word 3, 3, -14, -1, -3, -13, -2, -5
.word -10, -2, -5, -11, -3, 4, 2, 0
.data
IMAG: .word 0, 4, 9, 2, -5, 2, 0, -8
.word 0, -5, -15, -2, -12, -23, -4, -21
.word -30, -3, -30, -32, 4, -38, -26, 17
.word -41, -6, 38, -39, 31, 64, -28, 84
.word 91, -10, 152, 112, 15, 227, 115, 44
.word 297, 87, 73, 348, 16, 97, 357, -115
.word 112, 303, -322, 114, 149, -636, 102, -169
.word -1137, 77, -856, -2160, 41, -3346, -8214,0
.word 8214, 3346, -41, 2160, 856, -77, 1137, 169
.word -102, 636, -149, -114, 322, -303, -112, 115
.word -357, -97, -16, -348, -73, -87, -297, -44
.word -115, -227, -15, -112, -152, 10, -91, -84
.word 28, -64, -31, 39, -38, 6, 41, -17
.word 26, 38, -4, 32, 30, 3, 30, 21
.word 4, 23, 12, 2, 15, 5, 0, 8
.word 0, -2, 5, -2, -9, -4, 0, 0
.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
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -