📄 fm_tea5760.asm
字号:
LDR V9, [SP, #4] ; |43|
ADD V9, V9, #1 ; |43|
STR V9, [SP, #4] ; |43|
.dwpsn "FM_TEA5760.c",43,10
LDR V9, [SP, #4] ; |43|
CMP V9, #3 ; |43|
BLT L1 ; |43|
; |43|
DW$L$_TEA5760_test$3$E:
;* --------------------------------------------------------------------------*
.dwpsn "FM_TEA5760.c",61,2
B L2 ; |61|
; |61|
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L2:
.dwpsn "FM_TEA5760.c",64,1
.dwcfa 0x0e, 16
LDMFD SP!, {A2, A3, A4, PC}
DW$53 .dwtag DW_TAG_loop
.dwattr DW$53, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\FM_TEA5760.asm:L1:1:1214374288")
.dwattr DW$53, DW_AT_begin_file("FM_TEA5760.c")
.dwattr DW$53, DW_AT_begin_line(0x2b)
.dwattr DW$53, DW_AT_end_line(0x3c)
DW$54 .dwtag DW_TAG_loop_range
.dwattr DW$54, DW_AT_low_pc(DW$L$_TEA5760_test$2$B)
.dwattr DW$54, DW_AT_high_pc(DW$L$_TEA5760_test$2$E)
DW$55 .dwtag DW_TAG_loop_range
.dwattr DW$55, DW_AT_low_pc(DW$L$_TEA5760_test$3$B)
.dwattr DW$55, DW_AT_high_pc(DW$L$_TEA5760_test$3$E)
.dwendtag DW$53
.dwattr DW$49, DW_AT_end_file("FM_TEA5760.c")
.dwattr DW$49, DW_AT_end_line(0x40)
.dwattr DW$49, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$49
.sect ".text"
.align 4
.clink
.armfunc _Init_TEA5760
.state32
.global _Init_TEA5760
DW$56 .dwtag DW_TAG_subprogram, DW_AT_name("Init_TEA5760"), DW_AT_symbol_name("_Init_TEA5760")
.dwattr DW$56, DW_AT_low_pc(_Init_TEA5760)
.dwattr DW$56, DW_AT_high_pc(0x00)
.dwattr DW$56, DW_AT_begin_file("FM_TEA5760.c")
.dwattr DW$56, DW_AT_begin_line(0x43)
.dwattr DW$56, DW_AT_begin_column(0x06)
.dwpsn "FM_TEA5760.c",68,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: Init_TEA5760 *
;* *
;* Regs Modified : A1,A2,A3,A4,V9,SP,LR,SR *
;* Regs Used : A1,A2,A3,A4,V9,SP,LR,SR *
;* Local Frame Size : 0 Args + 8 Auto + 4 Save = 12 byte *
;*****************************************************************************
_Init_TEA5760:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {A3, A4, LR}
.dwcfa 0x0e, 4
.dwcfa 0x80, 14, 1
.dwcfa 0x0e, 8
.dwcfa 0x80, 3, 2
.dwcfa 0x0e, 12
.dwcfa 0x80, 2, 3
.dwcfa 0x0e, 12
DW$57 .dwtag DW_TAG_variable, DW_AT_name("number"), DW_AT_symbol_name("_number")
.dwattr DW$57, DW_AT_type(*DW$T$10)
.dwattr DW$57, DW_AT_location[DW_OP_breg13 0]
DW$58 .dwtag DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
.dwattr DW$58, DW_AT_type(*DW$T$10)
.dwattr DW$58, DW_AT_location[DW_OP_breg13 4]
.dwpsn "FM_TEA5760.c",70,2
MOV V9, #16 ; |70|
STR V9, [SP, #0] ; |70|
.dwpsn "FM_TEA5760.c",72,4
LDR A1, CON6 ; |72|
MOV V9, #0 ; |72|
STRB V9, [A1, #0] ; |72|
.dwpsn "FM_TEA5760.c",75,5
MOV V9, #43 ; |75|
LDR A1, CON7 ; |75|
STRB V9, [A1, #0] ; |75|
.dwpsn "FM_TEA5760.c",79,5
MOV V9, #237 ; |79|
LDR A1, CON8 ; |79|
STRB V9, [A1, #0] ; |79|
.dwpsn "FM_TEA5760.c",84,5
MOV V9, #64 ; |84|
LDR A1, CON9 ; |84|
STRB V9, [A1, #0] ; |84|
.dwpsn "FM_TEA5760.c",87,2
MOV V9, #16 ; |87|
LDR A1, CON10 ; |87|
STRB V9, [A1, #0] ; |87|
.dwpsn "FM_TEA5760.c",90,2
MOV V9, #0 ; |90|
LDR A1, CON11 ; |90|
STRB V9, [A1, #0] ; |90|
.dwpsn "FM_TEA5760.c",93,5
MOV V9, #0 ; |93|
LDR A1, CON12 ; |93|
STRB V9, [A1, #0] ; |93|
.dwpsn "FM_TEA5760.c",97,5
LDR A2, CON6 ; |97|
MOV A3, #7 ; |97|
MOV A1, #17 ; |97|
BL _MSI2C_MasterPollingSendFM ; |97|
; |97|
.dwpsn "FM_TEA5760.c",99,3
MOV A1, #17 ; |99|
LDRB A2, [SP, #0] ; |99|
BL _MSI2C_MasterPollingReceiveFM ; |99|
; |99|
.dwpsn "FM_TEA5760.c",101,3
ADR A2, SL1 ; |101|
MOV A1, #1 ; |101|
BL _UART_Printf ; |101|
; |101|
.dwpsn "FM_TEA5760.c",102,3
ADR A2, SL2 ; |102|
MOV A1, #1 ; |102|
LDR A3, [SP, #0] ; |102|
BL _UART_Printf ; |102|
; |102|
.dwpsn "FM_TEA5760.c",103,7
MOV V9, #0 ; |103|
STR V9, [SP, #4] ; |103|
.dwpsn "FM_TEA5760.c",103,11
LDR V9, [SP, #0] ; |103|
LDR A1, [SP, #4] ; |103|
CMP A1, V9 ; |103|
BGE L5 ; |103|
; |103|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L3
;*
;* Loop source line : 103
;* Loop closing brace source line : 108
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L3:
DW$L$_Init_TEA5760$2$B:
.dwpsn "FM_TEA5760.c",105,4
LDR V9, [SP, #4] ; |105|
LDR A1, CON15 ; |105|
LDR A3, [SP, #4] ; |105|
ADR A2, SL3 ; |105|
LDRB A4, [A1, +V9] ; |105|
MOV A1, #1 ; |105|
BL _UART_Printf ; |105|
; |105|
.dwpsn "FM_TEA5760.c",106,4
MOV A2, #5 ; |106|
LDR A1, [SP, #4] ; |106|
BL I_MOD ; |106|
; |106|
CMP A1, #0 ; |106|
BNE L4 ; |106|
; |106|
DW$L$_Init_TEA5760$2$E:
;* --------------------------------------------------------------------------*
DW$L$_Init_TEA5760$3$B:
.dwpsn "FM_TEA5760.c",107,4
ADR A2, SL1 ; |107|
MOV A1, #1 ; |107|
BL _UART_Printf ; |107|
; |107|
DW$L$_Init_TEA5760$3$E:
;* --------------------------------------------------------------------------*
L4:
DW$L$_Init_TEA5760$4$B:
.dwpsn "FM_TEA5760.c",103,20
LDR V9, [SP, #4] ; |103|
ADD V9, V9, #1 ; |103|
STR V9, [SP, #4] ; |103|
.dwpsn "FM_TEA5760.c",103,11
LDR A1, [SP, #4] ; |103|
LDR V9, [SP, #0] ; |103|
CMP A1, V9 ; |103|
BLT L3 ; |103|
; |103|
DW$L$_Init_TEA5760$4$E:
;* --------------------------------------------------------------------------*
L5:
.dwpsn "FM_TEA5760.c",110,4
LDR V9, CON17 ; |110|
LDRB V9, [V9, #0] ; |110|
CMP V9, #87 ; |110|
BNE L6 ; |110|
; |110|
;* --------------------------------------------------------------------------*
LDR V9, CON18 ; |110|
LDRB V9, [V9, #0] ; |110|
CMP V9, #96 ; |110|
BNE L6 ; |110|
; |110|
;* --------------------------------------------------------------------------*
.dwpsn "FM_TEA5760.c",111,4
ADR A2, SL4 ; |111|
MOV A1, #1 ; |111|
BL _UART_Printf ; |111|
; |111|
B L7 ; |111|
; |111|
;* --------------------------------------------------------------------------*
L6:
.dwpsn "FM_TEA5760.c",113,4
ADR A2, SL5 ; |113|
MOV A1, #1 ; |113|
BL _UART_Printf ; |113|
; |113|
;* --------------------------------------------------------------------------*
L7:
.dwpsn "FM_TEA5760.c",115,1
.dwcfa 0x0e, 12
LDMFD SP!, {A3, A4, PC}
DW$59 .dwtag DW_TAG_loop
.dwattr DW$59, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\FM_TEA5760.asm:L3:1:1214374288")
.dwattr DW$59, DW_AT_begin_file("FM_TEA5760.c")
.dwattr DW$59, DW_AT_begin_line(0x67)
.dwattr DW$59, DW_AT_end_line(0x6c)
DW$60 .dwtag DW_TAG_loop_range
.dwattr DW$60, DW_AT_low_pc(DW$L$_Init_TEA5760$2$B)
.dwattr DW$60, DW_AT_high_pc(DW$L$_Init_TEA5760$2$E)
DW$61 .dwtag DW_TAG_loop_range
.dwattr DW$61, DW_AT_low_pc(DW$L$_Init_TEA5760$3$B)
.dwattr DW$61, DW_AT_high_pc(DW$L$_Init_TEA5760$3$E)
DW$62 .dwtag DW_TAG_loop_range
.dwattr DW$62, DW_AT_low_pc(DW$L$_Init_TEA5760$4$B)
.dwattr DW$62, DW_AT_high_pc(DW$L$_Init_TEA5760$4$E)
.dwendtag DW$59
.dwattr DW$56, DW_AT_end_file("FM_TEA5760.c")
.dwattr DW$56, DW_AT_end_line(0x73)
.dwattr DW$56, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$56
.sect ".text"
.align 4
.clink
.armfunc _freq_set
.state32
.global _freq_set
DW$63 .dwtag DW_TAG_subprogram, DW_AT_name("freq_set"), DW_AT_symbol_name("_freq_set")
.dwattr DW$63, DW_AT_low_pc(_freq_set)
.dwattr DW$63, DW_AT_high_pc(0x00)
.dwattr DW$63, DW_AT_begin_file("FM_TEA5760.c")
.dwattr DW$63, DW_AT_begin_line(0x75)
.dwattr DW$63, DW_AT_begin_column(0x06)
.dwpsn "FM_TEA5760.c",118,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: freq_set *
;* *
;* Regs Modified : A1,A2,A3,A4,V9,SP,LR,SR *
;* Regs Used : A1,A2,A3,A4,V9,SP,LR,SR *
;* Local Frame Size : 0 Args + 20 Auto + 4 Save = 24 byte *
;*****************************************************************************
_freq_set:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {LR}
.dwcfa 0x0e, 4
.dwcfa 0x80, 14, 1
SUB SP, SP, #20
.dwcfa 0x0e, 24
;* A1 assigned to _Freq
DW$64 .dwtag DW_TAG_formal_parameter, DW_AT_name("Freq"), DW_AT_symbol_name("_Freq")
.dwattr DW$64, DW_AT_type(*DW$T$36)
.dwattr DW$64, DW_AT_location[DW_OP_reg0]
DW$65 .dwtag DW_TAG_variable, DW_AT_name("Freq"), DW_AT_symbol_name("_Freq")
.dwattr DW$65, DW_AT_type(*DW$T$36)
.dwattr DW$65, DW_AT_location[DW_OP_breg13 0]
DW$66 .dwtag DW_TAG_variable, DW_AT_name("fi"), DW_AT_symbol_name("_fi")
.dwattr DW$66, DW_AT_type(*DW$T$13)
.dwattr DW$66, DW_AT_location[DW_OP_breg13 4]
DW$67 .dwtag DW_TAG_variable, DW_AT_name("freq_pll_value"), DW_AT_symbol_name("_freq_pll_value")
.dwattr DW$67, DW_AT_type(*DW$T$9)
.dwattr DW$67, DW_AT_location[DW_OP_breg13 8]
DW$68 .dwtag DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
.dwattr DW$68, DW_AT_type(*DW$T$10)
.dwattr DW$68, DW_AT_location[DW_OP_breg13 12]
DW$69 .dwtag DW_TAG_variable, DW_AT_name("number"), DW_AT_symbol_name("_number")
.dwattr DW$69, DW_AT_type(*DW$T$10)
.dwattr DW$69, DW_AT_location[DW_OP_breg13 16]
STRH A1, [SP, #0] ; |118|
.dwpsn "FM_TEA5760.c",122,1
MOV V9, #16 ; |122|
STR V9, [SP, #16] ; |122|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -