📄 fft.asm
字号:
.title "fft.asm"
.copy "init.h"
.copy "vector.h"
I .EQU 98
J .EQU 99
L .EQU 101
M .EQU 102
B .EQU 103
TTTB .EQU 104
R1 .EQU 105
R2 .EQU 106
I1 .EQU 107
I2 .EQU 108
I128 .EQU 109
I512 .EQU 110
I768 .EQU 111
I800 .EQU 112
S1 .EQU 114
XT .EQU 115
C1 .EQU 116
YT .EQU 117
T .EQU 118
TABLE .EQU 2000h
.data
SIC: .word 03FFh,03FEh,03FBh,03F4h,03ECh,03E1h,03D3h,03C4h
.word 03B2h,039Dh,0387h,036Eh,0353h,0336h,0317h,02F6h
.word 02D4h,02AFh,0289h,0261h,0238h,020Eh,01E2h,01B5h
.word 0187h,0158h,0129h,00F8h,00C7h,0096h,0064h,0032h
.word 0000h,0FFCEh,0FF9Ch,0FF6Ah,0FF39h,0FF08h,0FED7h,0FEA8h
.word 0FE79h,0FE4Bh,0FE1Eh,0FDF2h,0FDC8h,0FD9Fh,0FD77h,0FD51h
.word 0FD2Ch,0FD0Ah,0FCE9h,0FCCAh,0FCADh,0FC92h,0FC79h,0FC63h
.word 0FC4Eh,0FC3Ch,0FC2Dh,0FC1Fh,0FC14h,0FC0Ch,0FC05h,0FC02h
.word 0FC00h,0FC02h,0FC05h,0FC0Ch,0FC14h,0FC1Fh,0FC2Dh,0FC3Ch
.word 0FC4Eh,0FC63h,0FC79h,0FC92h,0FCADh,0FCCAh,0FCE9h,0FD0Ah
.word 0FD2Ch,0FD51h,0FD77h,0FD9Fh,0FDC8h,0FDF2h,0FE1Eh,0FE4Bh
.word 0FE79h,0FEA8h,0FED7h,0FF08h,0FF39h,0FF6Ah,0FF9Ch,0FFCEh
.text
START:
CLRC CNF
LDP #0h
SETC Intm
SPLK #0000h,60h
OUT 60h,WSGR
SPLK #0FFFFh,IFR
SPLK #0004h,IMR
SPLK #0323h,61h
SPLK #0000h,62h
SPLK #07FD8h,63h
SPLK #0C000h,64h
LAR AR1,#62h
LAR AR0,#64h
LAR AR6,#2000h
LAR AR3,#127
SPLK #0000h,67h
OUT 67h,TIM
SPLK #0F9h,65h
OUT 65h,PRD
SPLK #0C20h,66h
OUT 66h,TCR
CLRC INTM
WAIT:
IDLE
B WAIT
TIMER:
LACC #0
MAR *,AR1
LT *-,0
MPY *-,1
LTD *,0
MPY *+,1
APAC
SACH *+,2,AR6
SACH *+,2,AR3
CLRC INTM
BANZ NEXT
SPLK #0C30h,67h
OUT 67h,TCR
B START1
NEXT:
NOP
RET
INPT1: RET
UART: RET
INPT23: RET
CODTX: RET
CODRX: RET
START1:
LALK 128
SACL I128
LALK 512
SACL I512
LALK 768
SACL I768
LALK 800
SACL I800
REAL:
LRLK AR0,64
LRLK AR1,512
LRLK AR2,127
LAR AR3,#TABLE
REPR:
LARP AR3
LACC *+,0,AR1
SACL *BR0+
LARP AR2
BANZ REPR
LACK 0
LRLK AR1,640
LRLK AR2,127
REP1I:
LARP AR1
SACL *+
LARP AR2
BANZ REP1I
W:
LRLK AR1,768
LRLK AR2,95
LAR AR3,#SIC
LL:
LARP AR3
LACC *+,0,AR1
SACL *+
LARP AR2
BANZ LL
LACK 0
SACL B
LOOP1:
LAC B
ADDK 1
SACL B
LARK AR0,7
LAR AR1,B
LARP AR1
CMPR 2
BBNZ GLP
LAR AR7,B
LARP AR7
LACK 1
SACL TTTB
B1:
LT TTTB
MPYK #2
PAC
SACL TTTB
BANZ B1
LAC TTTB
CLRC C
ROR
SACL TTTB
CLRC C
ROR
SACL L
LACK 7
SUB B
SACL T
LAR AR7,T
LACK 1
SACL M
B2:
LT M
MPYK #2
PAC
SACL M
CLRC C
ROR
SACL M
LACK 0
SACL I
LOOP2:
LARK AR0,127
LAR AR7,I
LARP AR7
CMPR 2
BBNZ LOOP1
LACK 0
SACL J
LOOP3:
LAC L
SUBK 1
SACL T
LAR AR0,T
LAR AR7,J
LARP AR7
CMPR 2
BBNZ INCRI
B MAIN
INCRI:
LAC I
ADD TTTB
SACL I
B LOOP2
MAIN:
SPM 0
SOVM
SSXM
LARP AR5
LAC I
ADD J
ADD I512
SACL T
LAR AR5,T
LAC *
SACL R1
LAC T
ADD I128
SACL T
LAR AR5,T
LAC *
SACL I1
LAC T
SUB I128
ADD L
SACL T
LAR AR5,T
LAC *
SACL R2
LAC T
ADD I128
SACL T
LAR AR5,T
LAC *
SACL I2
LARP AR5
LT J
MPY M
PAC
ADD I768
SACL T
LAR AR5,T
LAC *
SACL C1
LAC T
ADDK 32
SACL T
LAR AR5,T
LAC *
SACL S1
LARP AR5
LAC I
ADD J
ADD I512
SACL T
LAR AR5,T
LT R2
MPY C1
PAC
LT I2
MPY S1
SPAC
SACH XT,6
LACC R1
ADD XT
ROR
SACL *
LAC T
ADD I128
SACL T
LAR AR5,T
LT R2
MPY S1
PAC
LT I2
MPY C1
APAC
SACH YT,6
LACC I1
ADD YT
ROR
SACL *
LAC T
SUB I128
ADD L
SACL T
LAR AR5,T
LACC R1
SUB XT
ROR
SACL *
LAC T
ADD I128
SACL T
LAR AR5,T
LACC I1
SUB YT
ROR
SACL *
LAC J
ADDK 1
SACL J
B LOOP3
GLP:
LRLK AR1,127
LRLK AR2,512
LRLK AR3,640
LRLK AR4,896
PS:
ZAC
MPYK 0
LARP AR2
SQRA *+,AR3
SQRA *+,AR4
APAC
SACH *+
LARP AR1
BANZ PS
WAIT1:
B WAIT1
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -