fft.asm
来自「同样是浮点型的fft算法一样为vc开发的」· 汇编 代码 · 共 918 行 · 第 1/3 页
ASM
918 行
DW$L$_FFT$11$B:
.dwpsn "FFT.c",50,6
SHRU .S1 A9,31,A4 ; |50|
ADD .L1 A9,A4,A4 ; |50|
SHR .S1 A4,1,A4 ; |50|
.dwpsn "FFT.c",51,13
CMPGT .L1 A4,A3,A1 ; |51|
[ A1] B .S1 L10 ; |51|
NOP 5
; BRANCHCC OCCURS {L10} ; |51|
DW$L$_FFT$11$E:
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Software pipelining disabled
;*----------------------------------------------------------------------------*
L9:
DW$L$_FFT$12$B:
.dwpsn "FFT.c",53,8
SUB .L1 A3,A4,A3 ; |53|
.dwpsn "FFT.c",54,8
SHRU .S1 A4,31,A5 ; |54|
ADD .L1 A4,A5,A4 ; |54|
SHR .S1 A4,1,A4 ; |54|
.dwpsn "FFT.c",51,13
CMPGT .L1 A4,A3,A1 ; |51|
[!A1] B .S1 L9 ; |51|
NOP 5
; BRANCHCC OCCURS {L9} ; |51|
DW$L$_FFT$12$E:
;** --------------------------------------------------------------------------*
L10:
DW$L$_FFT$13$B:
.dwpsn "FFT.c",56,6
ADD .L1 A4,A3,A3 ; |56|
.dwpsn "FFT.c",57,6
CMPLT .L1 A0,A3,A1 ; |57|
.dwpsn "FFT.c",59,8
[ A1] ADDAD .D1 A10,A3,A4 ; |59|
[ A1] LDW .D1T1 *A4,A7 ; |59|
.dwpsn "FFT.c",60,8
[ A1] LDW .D1T1 *+A4(4),A8 ; |60|
.dwpsn "FFT.c",61,8
[ A1] ADDAD .D1 A10,A0,A5 ; |61|
[ A1] LDW .D1T1 *A5,A6 ; |61|
NOP 4
[ A1] STW .D1T1 A6,*A4 ; |61|
.dwpsn "FFT.c",62,8
[ A1] LDW .D1T1 *+A5(4),A6 ; |62|
NOP 4
[ A1] STW .D1T1 A6,*+A4(4) ; |62|
.dwpsn "FFT.c",63,8
[ A1] STW .D1T1 A7,*A5 ; |63|
.dwpsn "FFT.c",64,8
[ A1] STW .D1T1 A8,*+A5(4) ; |64|
.dwpsn "FFT.c",48,20
SUB .L1 A9,1,A4 ; |48|
|| ADD .S1 1,A0,A0 ; |48|
CMPLT .L1 A0,A4,A1 ; |48|
[ A1] B .S1 L8 ; |48|
NOP 5
; BRANCHCC OCCURS {L8} ; |48|
DW$L$_FFT$13$E:
;** --------------------------------------------------------------------------*
L11:
.dwpsn "FFT.c",68,1
LDW .D2T1 *+SP(20),A13 ; |68|
.dwcfa 0xc0, 13
LDW .D2T1 *+SP(16),A12 ; |68|
.dwcfa 0xc0, 12
LDDW .D2T1 *+SP(8),A11:A10 ; |68|
.dwcfa 0xc0, 10
.dwcfa 0xc0, 11
LDW .D2T2 *++SP(24),B3 ; |68|
NOP 4
.dwcfa 0xc0, 19
.dwcfa 0x0e, 0
RET .S2 B3 ; |68|
NOP 5
; BRANCH OCCURS {B3} ; |68|
DW$19 .dwtag DW_TAG_loop
.dwattr DW$19, DW_AT_name("D:\Program files\ccs\MyProjects\FFT256c\FFT.asm:L8:1:1205828316")
.dwattr DW$19, DW_AT_begin_file("FFT.c")
.dwattr DW$19, DW_AT_begin_line(0x30)
.dwattr DW$19, DW_AT_end_line(0x42)
DW$20 .dwtag DW_TAG_loop_range
.dwattr DW$20, DW_AT_low_pc(DW$L$_FFT$11$B)
.dwattr DW$20, DW_AT_high_pc(DW$L$_FFT$11$E)
DW$21 .dwtag DW_TAG_loop_range
.dwattr DW$21, DW_AT_low_pc(DW$L$_FFT$13$B)
.dwattr DW$21, DW_AT_high_pc(DW$L$_FFT$13$E)
DW$22 .dwtag DW_TAG_loop
.dwattr DW$22, DW_AT_name("D:\Program files\ccs\MyProjects\FFT256c\FFT.asm:L9:2:1205828316")
.dwattr DW$22, DW_AT_begin_file("FFT.c")
.dwattr DW$22, DW_AT_begin_line(0x33)
.dwattr DW$22, DW_AT_end_line(0x37)
DW$23 .dwtag DW_TAG_loop_range
.dwattr DW$23, DW_AT_low_pc(DW$L$_FFT$12$B)
.dwattr DW$23, DW_AT_high_pc(DW$L$_FFT$12$E)
.dwendtag DW$22
.dwendtag DW$19
DW$24 .dwtag DW_TAG_loop
.dwattr DW$24, DW_AT_name("D:\Program files\ccs\MyProjects\FFT256c\FFT.asm:L2:1:1205828316")
.dwattr DW$24, DW_AT_begin_file("FFT.c")
.dwattr DW$24, DW_AT_begin_line(0x17)
.dwattr DW$24, DW_AT_end_line(0x2e)
DW$25 .dwtag DW_TAG_loop_range
.dwattr DW$25, DW_AT_low_pc(DW$L$_FFT$5$B)
.dwattr DW$25, DW_AT_high_pc(DW$L$_FFT$5$E)
DW$26 .dwtag DW_TAG_loop_range
.dwattr DW$26, DW_AT_low_pc(DW$L$_FFT$9$B)
.dwattr DW$26, DW_AT_high_pc(DW$L$_FFT$9$E)
DW$27 .dwtag DW_TAG_loop
.dwattr DW$27, DW_AT_name("D:\Program files\ccs\MyProjects\FFT256c\FFT.asm:L3:2:1205828316")
.dwattr DW$27, DW_AT_begin_file("FFT.c")
.dwattr DW$27, DW_AT_begin_line(0x1a)
.dwattr DW$27, DW_AT_end_line(0x2b)
DW$28 .dwtag DW_TAG_loop_range
.dwattr DW$28, DW_AT_low_pc(DW$L$_FFT$6$B)
.dwattr DW$28, DW_AT_high_pc(DW$L$_FFT$6$E)
DW$29 .dwtag DW_TAG_loop_range
.dwattr DW$29, DW_AT_low_pc(DW$L$_FFT$8$B)
.dwattr DW$29, DW_AT_high_pc(DW$L$_FFT$8$E)
DW$30 .dwtag DW_TAG_loop
.dwattr DW$30, DW_AT_name("D:\Program files\ccs\MyProjects\FFT256c\FFT.asm:L4:3:1205828316")
.dwattr DW$30, DW_AT_begin_file("FFT.c")
.dwattr DW$30, DW_AT_begin_line(0x1c)
.dwattr DW$30, DW_AT_end_line(0x29)
DW$31 .dwtag DW_TAG_loop_range
.dwattr DW$31, DW_AT_low_pc(DW$L$_FFT$7$B)
.dwattr DW$31, DW_AT_high_pc(DW$L$_FFT$7$E)
.dwendtag DW$30
.dwendtag DW$27
.dwendtag DW$24
DW$32 .dwtag DW_TAG_loop
.dwattr DW$32, DW_AT_name("D:\Program files\ccs\MyProjects\FFT256c\FFT.asm:L1:1:1205828316")
.dwattr DW$32, DW_AT_begin_file("FFT.c")
.dwattr DW$32, DW_AT_begin_line(0x10)
.dwattr DW$32, DW_AT_end_line(0x14)
DW$33 .dwtag DW_TAG_loop_range
.dwattr DW$33, DW_AT_low_pc(DW$L$_FFT$2$B)
.dwattr DW$33, DW_AT_high_pc(DW$L$_FFT$2$E)
.dwendtag DW$32
.dwattr DW$2, DW_AT_end_file("FFT.c")
.dwattr DW$2, DW_AT_end_line(0x44)
.dwattr DW$2, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$2
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;******************************************************************************
.global _w
.global __divi
;******************************************************************************
;* TYPE INFORMATION *
;******************************************************************************
DW$T$22 .dwtag DW_TAG_subroutine_type
.dwattr DW$T$22, DW_AT_language(DW_LANG_C)
DW$34 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$21)
DW$35 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
.dwendtag DW$T$22
DW$T$10 .dwtag DW_TAG_base_type, DW_AT_name("int")
.dwattr DW$T$10, DW_AT_encoding(DW_ATE_signed)
.dwattr DW$T$10, DW_AT_byte_size(0x04)
DW$T$23 .dwtag DW_TAG_const_type
.dwattr DW$T$23, DW_AT_type(*DW$T$10)
DW$T$16 .dwtag DW_TAG_base_type, DW_AT_name("float")
.dwattr DW$T$16, DW_AT_encoding(DW_ATE_float)
.dwattr DW$T$16, DW_AT_byte_size(0x04)
DW$T$21 .dwtag DW_TAG_pointer_type, DW_AT_type(*DW$T$20)
.dwattr DW$T$21, DW_AT_address_class(0x20)
DW$T$24 .dwtag DW_TAG_const_type
.dwattr DW$T$24, DW_AT_type(*DW$T$21)
DW$T$25 .dwtag DW_TAG_array_type, DW_AT_type(*DW$T$20)
.dwattr DW$T$25, DW_AT_language(DW_LANG_C)
.dwattr DW$T$25, DW_AT_byte_size(0x800)
DW$36 .dwtag DW_TAG_subrange_type
.dwattr DW$36, DW_AT_upper_bound(0xff)
.dwendtag DW$T$25
DW$T$20 .dwtag DW_TAG_typedef, DW_AT_name("COMPLEX"), DW_AT_type(*DW$T$19)
.dwattr DW$T$20, DW_AT_language(DW_LANG_C)
DW$T$19 .dwtag DW_TAG_structure_type
.dwattr DW$T$19, DW_AT_byte_size(0x08)
DW$37 .dwtag DW_TAG_member, DW_AT_type(*DW$T$16)
.dwattr DW$37, DW_AT_name("real"), DW_AT_symbol_name("_real")
.dwattr DW$37, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
.dwattr DW$37, DW_AT_accessibility(DW_ACCESS_public)
DW$38 .dwtag DW_TAG_member, DW_AT_type(*DW$T$16)
.dwattr DW$38, DW_AT_name("imag"), DW_AT_symbol_name("_imag")
.dwattr DW$38, DW_AT_data_member_location[DW_OP_plus_uconst 0x4]
.dwattr DW$38, DW_AT_accessibility(DW_ACCESS_public)
.dwendtag DW$T$19
.dwattr DW$2, DW_AT_external(0x01)
.dwattr DW$CU, DW_AT_language(DW_LANG_C)
;***************************************************************
;* DWARF CIE ENTRIES *
;***************************************************************
DW$CIE .dwcie 1, 126
.dwcfa 0x0c, 31, 0
.dwcfa 0x07, 0
.dwcfa 0x07, 1
.dwcfa 0x07, 2
.dwcfa 0x07, 3
.dwcfa 0x07, 4
.dwcfa 0x07, 5
.dwcfa 0x07, 6
.dwcfa 0x07, 7
.dwcfa 0x07, 8
.dwcfa 0x07, 9
.dwcfa 0x08, 10
.dwcfa 0x08, 11
.dwcfa 0x08, 12
.dwcfa 0x08, 13
.dwcfa 0x08, 14
.dwcfa 0x08, 15
.dwcfa 0x07, 16
.dwcfa 0x07, 17
.dwcfa 0x07, 18
.dwcfa 0x07, 19
.dwcfa 0x07, 20
.dwcfa 0x07, 21
.dwcfa 0x07, 22
.dwcfa 0x07, 23
.dwcfa 0x07, 24
.dwcfa 0x07, 25
.dwcfa 0x08, 26
.dwcfa 0x08, 27
.dwcfa 0x08, 28
.dwcfa 0x08, 29
.dwcfa 0x08, 30
.dwcfa 0x08, 31
.dwcfa 0x08, 32
.dwcfa 0x07, 33
.dwcfa 0x07, 34
.dwcfa 0x07, 35
.dwcfa 0x07, 36
.dwcfa 0x07, 37
.dwcfa 0x07, 38
.dwcfa 0x07, 39
.dwcfa 0x07, 40
.dwcfa 0x07, 41
.dwcfa 0x07, 42
.dwcfa 0x07, 43
.dwcfa 0x07, 44
.dwcfa 0x07, 45
.dwcfa 0x07, 46
.dwcfa 0x07, 47
.dwcfa 0x07, 48
.dwcfa 0x07, 49
.dwcfa 0x07, 50
.dwcfa 0x07, 51
.dwcfa 0x07, 52
.dwcfa 0x07, 53
.dwcfa 0x07, 54
.dwcfa 0x07, 55
.dwcfa 0x07, 56
.dwcfa 0x07, 57
.dwcfa 0x07, 58
.dwcfa 0x07, 59
.dwcfa 0x07, 60
.dwcfa 0x07, 61
.dwcfa 0x07, 62
.dwcfa 0x07, 63
.dwcfa 0x07, 64
.dwcfa 0x07, 65
.dwcfa 0x07, 66
.dwcfa 0x07, 67
.dwcfa 0x07, 68
.dwcfa 0x07, 69
.dwcfa 0x07, 70
.dwcfa 0x07, 71
.dwcfa 0x07, 72
.dwcfa 0x07, 73
.dwcfa 0x07, 74
.dwcfa 0x07, 75
.dwcfa 0x07, 76
.dwcfa 0x07, 77
.dwcfa 0x07, 78
.dwcfa 0x07, 79
.dwcfa 0x07, 80
.dwcfa 0x07, 81
.dwcfa 0x07, 82
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?