?? fft.a30
字號:
;---------- INCLUDE OF SFR FILE ----------------
;
.list off ; don't draw up a prpgram list
.include sfr62s.inc ; include of sfr file
.list on ; draw up a program list
;
;---------- DEFINE OF SYMBOLS ------------------
;
VramTOP .equ 000400H ; top address of internal RAM
VramEND .equ 002BFFH ; end address of internal RAM
VIstack .equ 002C00H ; stack pointer
xishutop .equ 00C000H
VprogTOP .equ 0F0000H ; top address of program area
Vintbase .equ 0FA000H ; top address of variable vector table
Vvector .equ 0FFFDCH ; top address of fixed vector table
SB_base .equ 000380H ; base address of SB recative
;
;---------- KEEP OF RAM AREA -------------------
;
.section memory,data
.org VramTOP
;
result: .blkw 256 ; result data
hn: .blkw 128
temp1:.blkw 1
temp2:.blkw 1
resultemp: .blkw 1
;
.section prog,code
.org VprogTOP
.sb SB_base ; assings aprovisional SB register value
.sbsym result ; place data in SB addressing mode
;
;---------- CLEAR OF RAM -----------------------
;
reset:
ldc #VIstack,ISP ; set Interrupt Stack Pointer
ldc #SB_base,SB ; set SB register
; ldintb #Vintbase ; set Interrupt TaBle register
;
mov.w #0,r0 ; 0 clear
mov.w #(VramEND+1-VramTOP)/2,r3 ; number of times
mov.w #VramTOP,a1 ; start address
sstr.w
;
;---------- INITIALLIZE ------------------------
;
LDINTB #USER_vector_table
mov.b #00000110B,int0ic ; INT0 Interrupt control reg set
mov.b #0,pd8 ; port8 set input
mov.b #1,pur2 ; p8.1 is pull
;-----------設(shè)置hn-------------------------------------
mov.w #hn,a0
mov.w #0000H,r0
mov.w #0080H,r1
loop_1: mov.w r0,[a0]
inc.w a0
inc.w a0
add.w #1,r0
sub.w #1,r1
jnz loop_1
;
;---------- MAIN PROGRAM -----------------------
main:
mov.w #-1,r2
loop_2: mov.w #0,temp1
mov.w #0,temp2
;----------每循環(huán)一次r2加一,用來表示計算到哪一位
add.w #1,r2
;----------r2=256時退出循環(huán)------------------
cmp.w #256,r2
jz exit
;----------計算r2=k,F(xiàn)(k)--------------------
jsr dft
;----------保存結(jié)果--------------------------
jsr save
jmp loop_2
exit: mov.w r0,r0
wait
save: push.w r2
push.w a0
push.w r0
mov.w #result,a0
add.w r2,a0
add.w r2,a0
mov.w resultemp,r0
push.w r0
pop.w [a0]
pop.w r0
pop.w a0
pop.w r2
RTS
dft: push.w r2
mov.w #-1,r0
loop_3: push.w r2
add.w #1,r0
mov.w #hn,a1
mov.w #cosk1,a0
cmp.w #128,r0
jz return_1
push.w r0
mov.w r2,r1
mul.b r1l,r0l
mov.w #0,r2
div.w #256
mov.w r2,r0
add.w r0,a0
add.w r0,a0
pop.w r0
add.w r0,a1
add.w r0,a1
mov.w [a0],r1
mul.w [a1],r1
add.w r1,temp1
adc.w r3,temp2
pop.w r2
jmp loop_3
return_1:
mov.w temp1,r0
mov.w temp2,r2
mov.b #-15,r1H
SHA.L r1H,r2r0
mov.w r0,resultemp
pop.w r2
pop.w r2
RTS
;
;---------- START-----------------------
;
sw_int0:
reit
;
;---------- DUMMY UART0 INTERRUPT PROGRAM ------
;
dummy:
reit;
;
;---------- VARIABLE VECTOR TABLE SET ----------
;
.section val_vect,romdata
.org Vintbase
USER_vector_table:
.lword dummy ; No0 Break Interrupt
.lword dummy ; No1 Break Interrupt
.lword dummy ; No2 Break Interrupt
.lword dummy ; No3 Break Interrupt
.lword dummy ; No4 Break Interrupt
.lword dummy ; No5 Break Interrupt
.lword dummy ; No6 Break Interrupt
.lword dummy ; No7 Break Interrupt
.lword dummy ; No8 Break Interrupt
.lword dummy ; No9 Break Interrupt
.lword dummy ; No10 Bus Clash Detect
.lword dummy ; No11 DMA0
.lword dummy ; No12 DMA1
.lword dummy ; No13 KEY IN Interrupt
.lword dummy ; No14 A-D Interrupt
.lword dummy ; No15 UART2 Transmission Interrupt
.lword dummy ; No16 UART2 receive Interrupt
.lword dummy ; No17 UART0 Transmission Interrupt
.lword dummy ; No18 UART0 receive Interrupt
.lword dummy ; No19 UART1 Transmission Interrupt
.lword dummy ; No20 UART1 receive Interrupt
.lword dummy ; No21 TimerA0 Interrupt
.lword dummy ; No22 TimerA1 Interrupt
.lword dummy ; No23 TimerA2 Interrupt
.lword dummy ; No24 TimerA3 Interrupt
.lword dummy ; No25 TimerA4 Interrupt
.lword dummy ; No26 TimerB0 Interrupt
.lword dummy ; No27 TimerB1 Interrupt
.lword dummy ; No28 TimerB2 Interrupt
.lword sw_int0 ; No29 INIT0(Active Low) Interrupt
.lword dummy ; No30 INIT1(Active Low) Interrupt
.lword dummy ; No31 INIT2(Active Low) Interrupt
.lword dummy ; No32 S/W Interrupt
.lword dummy ; No33 S/W Interrupt
.lword dummy ; No34 S/W Interrupt
.lword dummy ; No35 S/W Interrupt
.lword dummy ; No36 S/W Interrupt
.lword dummy ; No37 S/W Interrupt
.lword dummy ; No38 S/W Interrupt
.lword dummy ; No39 S/W Interrupt
.lword dummy ; No40 S/W Interrupt
.lword dummy ; No41 S/W Interrupt
.lword dummy ; No42 S/W Interrupt
.lword dummy ; No43 S/W Interrupt
.lword dummy ; No44 S/W Interrupt
.lword dummy ; No45 S/W Interrupt
.lword dummy ; No46 S/W Interrupt
.lword dummy ; No47 S/W Interrupt
.lword dummy ; No48 S/W Interrupt
.lword dummy ; No49 S/W Interrupt
.lword dummy ; No50 S/W Interrupt
.lword dummy ; No51 S/W Interrupt
.lword dummy ; No52 S/W Interrupt
.lword dummy ; No53 S/W Interrupt
.lword dummy ; No54 S/W Interrupt
.lword dummy ; No55 S/W Interrupt
.lword dummy ; No56 S/W Interrupt
.lword dummy ; No57 S/W Interrupt
.lword dummy ; No58 S/W Interrupt
.lword dummy ; No59 S/W Interrupt
.lword dummy ; No60 S/W Interrupt
.lword dummy ; No61 S/W Interrupt
.lword dummy ; No62 S/W Interrupt
.lword dummy ; No63 S/W Interrupt
;
;---------- VECTOR TABLE ----------
;
.section inter,romdata
.org Vvector+(8*4)
.lword reset
.SECTION xishu,ROMDATA
.org xishutop
cosk1: .word 32767
cosk2: .word 32758
cosk3: .word 32728
cosk4: .word 32679
cosk5: .word 32610
cosk6: .word 32521
cosk7: .word 32413
cosk8: .word 32285
cosk9: .word 32138
cosk10: .word 31971
cosk11: .word 31785
cosk12: .word 31581
cosk13: .word 31357
cosk14: .word 31114
cosk15: .word 30852
cosk16: .word 30572
cosk17: .word 30273
cosk18: .word 29956
cosk19: .word 29621
cosk20: .word 29269
cosk21: .word 28898
cosk22: .word 28511
cosk23: .word 28106
cosk24: .word 27684
cosk25: .word 27245
cosk26: .word 26790
cosk27: .word 26319
cosk28: .word 25832
cosk29: .word 25330
cosk30: .word 24812
cosk31: .word 24279
cosk32: .word 23732
cosk33: .word 23170
cosk34: .word 22594
cosk35: .word 22005
cosk36: .word 21403
cosk37: .word 20787
cosk38: .word 20159
cosk39: .word 19519
cosk40: .word 18868
cosk41: .word 18204
cosk42: .word 17530
cosk43: .word 16846
cosk44: .word 16151
cosk45: .word 15446
cosk46: .word 14732
cosk47: .word 14010
cosk48: .word 13278
cosk49: .word 12539
cosk50: .word 11793
cosk51: .word 11039
cosk52: .word 10278
cosk53: .word 9512
cosk54: .word 8739
cosk55: .word 7961
cosk56: .word 7179
cosk57: .word 6392
cosk58: .word 5602
cosk59: .word 4808
cosk60: .word 4011
cosk61: .word 3211
cosk62: .word 2410
cosk63: .word 1607
cosk64: .word 804
cosk65: .word 0
cosk66: .word -805
cosk67: .word -1608
cosk68: .word -2411
cosk69: .word -3212
cosk70: .word -4012
cosk71: .word -4809
cosk72: .word -5603
cosk73: .word -6393
cosk74: .word -7180
cosk75: .word -7962
cosk76: .word -8740
cosk77: .word -9513
cosk78: .word -10279
cosk79: .word -11040
cosk80: .word -11794
cosk81: .word -12540
cosk82: .word -13279
cosk83: .word -14011
cosk84: .word -14733
cosk85: .word -15447
cosk86: .word -16152
cosk87: .word -16847
cosk88: .word -17531
cosk89: .word -18205
cosk90: .word -18869
cosk91: .word -19520
cosk92: .word -20160
cosk93: .word -20788
cosk94: .word -21404
cosk95: .word -22006
cosk96: .word -22595
cosk97: .word -23171
cosk98: .word -23733
cosk99: .word -24280
cosk100: .word -24813
cosk101: .word -25331
cosk102: .word -25833
cosk103: .word -26320
cosk104: .word -26791
cosk105: .word -27246
cosk106: .word -27685
cosk107: .word -28107
cosk108: .word -28512
cosk109: .word -28899
cosk110: .word -29270
cosk111: .word -29622
cosk112: .word -29957
cosk113: .word -30274
cosk114: .word -30573
cosk115: .word -30853
cosk116: .word -31115
cosk117: .word -31358
cosk118: .word -31582
cosk119: .word -31786
cosk120: .word -31972
cosk121: .word -32139
cosk122: .word -32286
cosk123: .word -32414
cosk124: .word -32522
cosk125: .word -32611
cosk126: .word -32680
cosk127: .word -32729
cosk128: .word -32759
cosk129: .word -32768
cosk130: .word -32759
cosk131: .word -32729
cosk132: .word -32680
cosk133: .word -32611
cosk134: .word -32522
cosk135: .word -32414
cosk136: .word -32286
cosk137: .word -32139
cosk138: .word -31972
cosk139: .word -31786
cosk140: .word -31582
cosk141: .word -31358
cosk142: .word -31115
cosk143: .word -30853
cosk144: .word -30573
cosk145: .word -30274
cosk146: .word -29957
cosk147: .word -29622
cosk148: .word -29270
cosk149: .word -28899
cosk150: .word -28512
cosk151: .word -28107
cosk152: .word -27685
cosk153: .word -27246
cosk154: .word -26791
cosk155: .word -26320
cosk156: .word -25833
cosk157: .word -25331
cosk158: .word -24813
cosk159: .word -24280
cosk160: .word -23733
cosk161: .word -23171
cosk162: .word -22595
cosk163: .word -22006
cosk164: .word -21404
cosk165: .word -20788
cosk166: .word -20160
cosk167: .word -19520
cosk168: .word -18869
cosk169: .word -18205
cosk170: .word -17531
cosk171: .word -16847
cosk172: .word -16152
cosk173: .word -15447
cosk174: .word -14733
cosk175: .word -14011
cosk176: .word -13279
cosk177: .word -12540
cosk178: .word -11794
cosk179: .word -11040
cosk180: .word -10279
cosk181: .word -9513
cosk182: .word -8740
cosk183: .word -7962
cosk184: .word -7180
cosk185: .word -6393
cosk186: .word -5603
cosk187: .word -4809
cosk188: .word -4012
cosk189: .word -3212
cosk190: .word -2411
cosk191: .word -1608
cosk192: .word -805
cosk193: .word -1
cosk194: .word 804
cosk195: .word 1607
cosk196: .word 2410
cosk197: .word 3211
cosk198: .word 4011
cosk199: .word 4808
cosk200: .word 5602
cosk201: .word 6392
cosk202: .word 7179
cosk203: .word 7961
cosk204: .word 8739
cosk205: .word 9512
cosk206: .word 10278
cosk207: .word 11039
cosk208: .word 11793
cosk209: .word 12539
cosk210: .word 13278
cosk211: .word 14010
cosk212: .word 14732
cosk213: .word 15446
cosk214: .word 16151
cosk215: .word 16846
cosk216: .word 17530
cosk217: .word 18204
cosk218: .word 18868
cosk219: .word 19519
cosk220: .word 20159
cosk221: .word 20787
cosk222: .word 21403
cosk223: .word 22005
cosk224: .word 22594
cosk225: .word 23170
cosk226: .word 23732
cosk227: .word 24279
cosk228: .word 24812
cosk229: .word 25330
cosk230: .word 25832
cosk231: .word 26319
cosk232: .word 26790
cosk233: .word 27245
cosk234: .word 27684
cosk235: .word 28106
cosk236: .word 28511
cosk237: .word 28898
cosk238: .word 29269
cosk239: .word 29621
cosk240: .word 29956
cosk241: .word 30273
cosk242: .word 30572
cosk243: .word 30852
cosk244: .word 31114
cosk245: .word 31357
cosk246: .word 31581
cosk247: .word 31785
cosk248: .word 31971
cosk249: .word 32138
cosk250: .word 32285
cosk251: .word 32413
cosk252: .word 32521
cosk253: .word 32610
cosk254: .word 32679
cosk255: .word 32728
cosk256: .word 32758
;
;---------- PROGRAM END ----------
;
.end
;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -