⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fft.lst

📁 1.熟悉硬件仿真工具KD30的使用。 2.修改样本程序 SAMP1a
💻 LST
📖 第 1 页 / 共 3 页
字号:
* M16C FAMILY ASSEMBLER *   SOURCE LIST       Sat Apr 09 01:54:19 2005  PAGE 001

  SEQ.  LOC.   OBJ.              0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4

     1                                  ;---------- INCLUDE OF SFR FILE ----------------
     2                                  ;
     3                                  	.list		off			; don't draw up a prpgram list
     4                                  	.list		on			; draw up a program list
     5                                  ;
     6                                  ;---------- DEFINE OF SYMBOLS ------------------
     7                                  ;
     8  00000400h                       VramTOP		.equ	000400H			; top address of internal RAM 
     9  00002BFFh                       VramEND		.equ	002BFFH			; end address of internal RAM
    10  00002C00h                       VIstack		.equ	002C00H			; stack pointer
    11  0000C000h                       xishutop        .equ 00C000H
    12  000F0000h                       VprogTOP	.equ	0F0000H			; top address of program area
    13  000FA000h                       Vintbase	.equ	0FA000H			; top address of variable vector table
    14  000FFFDCh                       Vvector		.equ	0FFFDCH			; top address of fixed vector table
    15  00000380h                       SB_base		.equ	000380H			; base address of SB recative
    16                                  ;
    17                                  ;---------- KEEP OF RAM AREA -------------------
    18                                  ;
    19                                  
    20                                  	.section	memory,data
    21  00400                           	.org		VramTOP
    22                                  ;
    23  00400(000200H)                  result: .blkw	256				; result data
    24  00600(000100H)                  hn: .blkw   128
    25  00700(000002H)                  temp1:.blkw   1
    26  00702(000002H)                  temp2:.blkw   1
    27  00704(000002H)                  resultemp: .blkw 1
    28                                  ;
    29                                  	.section	prog,code
    30  F0000                           	.org		VprogTOP
    31                                  	.sb	SB_base				; assings aprovisional SB register value
    32                                  	.sbsym	result				; place data in SB addressing mode
    33                                  ;
    34                                  ;---------- CLEAR OF RAM -----------------------
    35                                  ;
    36  F0000                           reset:
    37  F0000  EB40002C                 	ldc	#VIstack,ISP			; set Interrupt Stack Pointer
    38  F0004  EB608003                   	ldc	#SB_base,SB			; set SB register
    39                                  ;	ldintb	#Vintbase			; set Interrupt TaBle register
    40                                  ;
    41  F0008  D900                  Q  	mov.w	#0,r0				; 0 clear
    42  F000A  75C30014                 	mov.w	#(VramEND+1-VramTOP)/2,r3	; number of times
    43  F000E  AA0004                S  	mov.w	#VramTOP,a1			; start address
    44  F0011  7DEA                     	sstr.w
    45                                  ;
    46                                  ;---------- INITIALLIZE ------------------------
    47                                  ;
    48  F0013  EB200F00                 	LDINTB	#USER_vector_table
               EB1000A0 
    49  F001B  C7065D00              S  	mov.b	#00000110B,int0ic		; INT0 Interrupt control reg set
    50  F001F  B572                  Z* 	mov.b   #0,pd8				; port8 set input
    51  F0021  C5017E                S* 	mov.b   #1,pur2     			; p8.1 is pull
    52                                  ;-----------设置hn-------------------------------------
    53  F0024  A20006                S  mov.w	#hn,a0
    54  F0027  D900                  Q  mov.w   #0000H,r0
    55  F0029  75C18000                 mov.w   #0080H,r1
    56  F002D  7306                     loop_1: mov.w   r0,[a0]
    57  F002F  B2                       inc.w   a0
    58  F0030  B2                       inc.w   a0
    59  F0031  C910                  Q  add.w   #1,r0
    60  F0033  77510100                 sub.w   #1,r1
    61  F0037  6EF5                     jnz loop_1
* M16C FAMILY ASSEMBLER *   SOURCE LIST       Sat Apr 09 01:54:19 2005  PAGE 002

  SEQ.  LOC.   OBJ.              0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4

    62                                  ;
    63                                  ;---------- MAIN PROGRAM -----------------------
    64  F0039                           main:   			
    65                                  					
    66  F0039  D9F2                  Q  	mov.w	#-1,r2	
    67  F003B  D90F0007              Q  loop_2:	mov.w   #0,temp1
    68  F003F  D90F0207              Q          mov.w   #0,temp2
    69                                  ;----------每循环一次r2加一,用来表示计算到哪一位        
    70  F0043  C912                  Q          add.w   #1,r2
    71                                  ;----------r2=256时退出循环------------------        
    72  F0045  77820001                         cmp.w   #256,r2        
    73  F0049  6A09                             jz exit
    74                                  ;----------计算r2=k,F(k)--------------------        
    75  F004B  F52500                W          jsr dft
    76                                  ;----------保存结果--------------------------        
    77  F004E  F50800                W          jsr save
    78  F0051  FEE9                  B          jmp loop_2
    79  F0053  7300                     exit:   mov.w r0,r0
    80  F0055  7DF3                               wait
    81  F0057  7542                     save:   push.w r2
    82  F0059  C2                    S          push.w a0
    83  F005A  7540                             push.w r0
    84  F005C  A20004                S          mov.w  #result,a0
    85  F005F  A124                             add.w  r2,a0
    86  F0061  A124                             add.w  r2,a0
    87  F0063  73F00407                         mov.w  resultemp,r0
    88  F0067  7540                             push.w r0
    89  F0069  75D6                             pop.w  [a0]
    90  F006B  75D0                             pop.w  r0
    91  F006D  D2                    S          pop.w  a0
    92  F006E  75D2                             pop.w  r2
    93  F0070  F3                               RTS        
    94  F0071  7542                     dft:    push.w  r2
    95  F0073  D9F0                  Q          mov.w	#-1,r0
    96  F0075  7542                     loop_3: push.w  r2
    97  F0077  C910                  Q          add.w   #1,r0
    98  F0079  AA0006                S          mov.w   #hn,a1
    99  F007C  A200C0                S          mov.w   #cosk1,a0
   100  F007F  77808000                         cmp.w   #128,r0
   101  F0083  6A29                             jz return_1       
   102  F0085  7540                             push.w  r0
   103  F0087  7321                             mov.w   r2,r1
   104  F0089  7820                             mul.b   r1l,r0l       
   105  F008B  D902                  Q          mov.w   #0,r2
   106  F008D  7DE10001                         div.w   #256
   107  F0091  7320                             mov.w   r2,r0
   108  F0093  A104                             add.w   r0,a0
   109  F0095  A104                             add.w   r0,a0
   110  F0097  75D0                             pop.w   r0
   111  F0099  A105                             add.w   r0,a1
   112  F009B  A105                             add.w   r0,a1
   113  F009D  7361                             mov.w   [a0],r1
   114  F009F  7971                             mul.w   [a1],r1
   115  F00A1  A11F0007                         add.w   r1,temp1
   116  F00A5  B13F0207                         adc.w   r3,temp2
   117  F00A9  75D2                             pop.w   r2 
   118  F00AB  FEC9                  B          jmp loop_3				
   119  F00AD                           return_1: 
   120  F00AD  73F00007                           mov.w temp1,r0
   121  F00B1  73F20207                           mov.w temp2,r2
   122  F00B5  74C3F1                             mov.b #-15,r1H          
   123  F00B8  EB21                               SHA.L r1H,r2r0
* M16C FAMILY ASSEMBLER *   SOURCE LIST       Sat Apr 09 01:54:19 2005  PAGE 003

  SEQ.  LOC.   OBJ.              0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4

   124  F00BA  730F0407                           mov.w r0,resultemp
   125  F00BE  75D2                               pop.w r2 
   126  F00C0  75D2                               pop.w r2
   127  F00C2  F3                                 RTS    
   128                                  
   129                                         
   130                                  ;
   131                                  ;---------- START-----------------------
   132                                  ;	
   133  F00C3                           sw_int0:
   134                                  
   135                                  	
   136  F00C3  FB                       	reit
   137                                  ;	
   138                                  ;---------- DUMMY UART0 INTERRUPT PROGRAM ------
   139                                  ;
   140  F00C4                           dummy:
   141  F00C4  FB                       	reit;	
   142                                  ;
   143                                  ;---------- VARIABLE VECTOR TABLE SET ----------
   144                                  ;
   145                                  	.section	val_vect,romdata
   146  FA000                           	.org		Vintbase
   147  FA000                           USER_vector_table:
   148  FA000  C4000F00                 	.lword		dummy			; No0  Break Interrupt
   149  FA004  C4000F00                 	.lword		dummy			; No1  Break Interrupt
   150  FA008  C4000F00                 	.lword		dummy			; No2  Break Interrupt
   151  FA00C  C4000F00                 	.lword		dummy			; No3  Break Interrupt
   152  FA010  C4000F00                 	.lword		dummy			; No4  Break Interrupt
   153  FA014  C4000F00                 	.lword		dummy			; No5  Break Interrupt
   154  FA018  C4000F00                 	.lword		dummy			; No6  Break Interrupt
   155  FA01C  C4000F00                 	.lword		dummy			; No7  Break Interrupt
   156  FA020  C4000F00                 	.lword		dummy			; No8  Break Interrupt
   157  FA024  C4000F00                 	.lword		dummy			; No9  Break Interrupt
   158  FA028  C4000F00                 	.lword		dummy			; No10 Bus Clash Detect
   159  FA02C  C4000F00                 	.lword		dummy			; No11 DMA0 
   160  FA030  C4000F00                 	.lword		dummy			; No12 DMA1 
   161  FA034  C4000F00                 	.lword		dummy			; No13 KEY IN Interrupt
   162  FA038  C4000F00                 	.lword		dummy 	   	        ; No14 A-D Interrupt
   163  FA03C  C4000F00                 	.lword		dummy			; No15 UART2 Transmission Interrupt
   164  FA040  C4000F00                 	.lword		dummy			; No16 UART2 receive Interrupt
   165  FA044  C4000F00                 	.lword		dummy			; No17 UART0 Transmission Interrupt
   166  FA048  C4000F00                 	.lword		dummy			; No18 UART0 receive Interrupt
   167  FA04C  C4000F00                 	.lword		dummy			; No19 UART1 Transmission Interrupt
   168  FA050  C4000F00                 	.lword		dummy			; No20 UART1 receive Interrupt
   169  FA054  C4000F00                 	.lword		dummy			; No21 TimerA0 Interrupt
   170  FA058  C4000F00                 	.lword		dummy   		; No22 TimerA1 Interrupt
   171  FA05C  C4000F00                 	.lword		dummy			; No23 TimerA2 Interrupt
   172  FA060  C4000F00                 	.lword		dummy			; No24 TimerA3 Interrupt
   173  FA064  C4000F00                 	.lword		dummy			; No25 TimerA4 Interrupt
   174  FA068  C4000F00                 	.lword		dummy			; No26 TimerB0 Interrupt
   175  FA06C  C4000F00                 	.lword		dummy			; No27 TimerB1 Interrupt
   176  FA070  C4000F00                 	.lword		dummy			; No28 TimerB2 Interrupt
   177  FA074  C3000F00                 	.lword		sw_int0 		; No29 INIT0(Active Low) Interrupt
   178  FA078  C4000F00                 	.lword		dummy    		; No30 INIT1(Active Low) Interrupt
   179  FA07C  C4000F00                 	.lword		dummy			; No31 INIT2(Active Low) Interrupt
   180  FA080  C4000F00                 	.lword		dummy			; No32 S/W Interrupt
   181  FA084  C4000F00                 	.lword		dummy			; No33 S/W Interrupt
   182  FA088  C4000F00                 	.lword		dummy			; No34 S/W Interrupt
   183  FA08C  C4000F00                 	.lword		dummy			; No35 S/W Interrupt
   184  FA090  C4000F00                 	.lword		dummy			; No36 S/W Interrupt
   185  FA094  C4000F00                 	.lword		dummy			; No37 S/W Interrupt
* M16C FAMILY ASSEMBLER *   SOURCE LIST       Sat Apr 09 01:54:19 2005  PAGE 004

  SEQ.  LOC.   OBJ.              0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4

   186  FA098  C4000F00                 	.lword		dummy			; No38 S/W Interrupt
   187  FA09C  C4000F00                 	.lword		dummy			; No39 S/W Interrupt
   188  FA0A0  C4000F00                 	.lword		dummy			; No40 S/W Interrupt
   189  FA0A4  C4000F00                 	.lword		dummy			; No41 S/W Interrupt
   190  FA0A8  C4000F00                 	.lword		dummy			; No42 S/W Interrupt
   191  FA0AC  C4000F00                 	.lword		dummy			; No43 S/W Interrupt
   192  FA0B0  C4000F00                 	.lword		dummy			; No44 S/W Interrupt
   193  FA0B4  C4000F00                 	.lword		dummy			; No45 S/W Interrupt
   194  FA0B8  C4000F00                 	.lword		dummy			; No46 S/W Interrupt
   195  FA0BC  C4000F00                 	.lword		dummy			; No47 S/W Interrupt
   196  FA0C0  C4000F00                 	.lword		dummy			; No48 S/W Interrupt
   197  FA0C4  C4000F00                 	.lword		dummy			; No49 S/W Interrupt
   198  FA0C8  C4000F00                 	.lword		dummy			; No50 S/W Interrupt
   199  FA0CC  C4000F00                 	.lword		dummy			; No51 S/W Interrupt
   200  FA0D0  C4000F00                 	.lword		dummy			; No52 S/W Interrupt
   201  FA0D4  C4000F00                 	.lword		dummy			; No53 S/W Interrupt
   202  FA0D8  C4000F00                 	.lword		dummy			; No54 S/W Interrupt
   203  FA0DC  C4000F00                 	.lword		dummy			; No55 S/W Interrupt
   204  FA0E0  C4000F00                 	.lword		dummy			; No56 S/W Interrupt
   205  FA0E4  C4000F00                 	.lword		dummy			; No57 S/W Interrupt
   206  FA0E8  C4000F00                 	.lword		dummy			; No58 S/W Interrupt
   207  FA0EC  C4000F00                 	.lword		dummy			; No59 S/W Interrupt
   208  FA0F0  C4000F00                 	.lword		dummy			; No60 S/W Interrupt
   209  FA0F4  C4000F00                 	.lword		dummy			; No61 S/W Interrupt
   210  FA0F8  C4000F00                 	.lword		dummy			; No62 S/W Interrupt
   211  FA0FC  C4000F00                 	.lword		dummy			; No63 S/W Interrupt
   212                                  ;
   213                                  ;---------- VECTOR TABLE ----------
   214                                  ;
   215                                  	.section	inter,romdata
   216  FFFFC                           	.org		Vvector+(8*4)
   217  FFFFC  00000F00                 	.lword		reset
   218                                  .SECTION xishu,ROMDATA
   219  0C000                           .org     xishutop
   220  0C000  FF7F                      cosk1:   .word 32767 
   221                                  
   222  0C002  F67F                     cosk2:   .word 32758 
   223                                  
   224  0C004  D87F                     cosk3:   .word 32728 
   225                                  
   226  0C006  A77F                     cosk4:   .word 32679 
   227                                  
   228  0C008  627F                     cosk5:   .word 32610 
   229                                  
   230  0C00A  097F                     cosk6:   .word 32521 
   231                                  
   232  0C00C  9D7E                     cosk7:   .word 32413 
   233                                  
   234  0C00E  1D7E                     cosk8:   .word 32285 
   235                                  
   236  0C010  8A7D                     cosk9:   .word 32138 
   237                                  
   238  0C012  E37C                     cosk10:   .word 31971 
   239                                  
   240  0C014  297C                     cosk11:   .word 31785 
   241                                  
   242  0C016  5D7B                     cosk12:   .word 31581 
   243                                  
   244  0C018  7D7A                     cosk13:   .word 31357 
   245                                  
   246  0C01A  8A79                     cosk14:   .word 31114 
   247                                  
* M16C FAMILY ASSEMBLER *   SOURCE LIST       Sat Apr 09 01:54:19 2005  PAGE 005

  SEQ.  LOC.   OBJ.              0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -