📄 fm_tea5761.asm
字号:
DW$53 .dwtag DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
.dwattr DW$53, DW_AT_type(*DW$T$10)
.dwattr DW$53, DW_AT_location[DW_OP_breg13 4]
.dwpsn "FM_TEA5761.c",53,4
MOV A1, #0 ; |53|
LDR A2, CON5 ; |53|
STRB A1, [A2, #0] ; |53|
.dwpsn "FM_TEA5761.c",56,5
MOV A1, #43 ; |56|
LDR A2, CON6 ; |56|
STRB A1, [A2, #0] ; |56|
.dwpsn "FM_TEA5761.c",60,5
MOV A1, #237 ; |60|
LDR A2, CON7 ; |60|
STRB A1, [A2, #0] ; |60|
.dwpsn "FM_TEA5761.c",65,5
MOV A1, #64 ; |65|
LDR A2, CON8 ; |65|
STRB A1, [A2, #0] ; |65|
.dwpsn "FM_TEA5761.c",68,2
MOV A1, #16 ; |68|
LDR A2, CON9 ; |68|
STRB A1, [A2, #0] ; |68|
.dwpsn "FM_TEA5761.c",71,2
MOV A1, #0 ; |71|
LDR A2, CON10 ; |71|
STRB A1, [A2, #0] ; |71|
.dwpsn "FM_TEA5761.c",74,5
MOV A1, #0 ; |74|
LDR A2, CON11 ; |74|
STRB A1, [A2, #0] ; |74|
.dwpsn "FM_TEA5761.c",78,5
MOV A1, #17 ; |78|
LDR A2, CON5 ; |78|
MOV A3, #7 ; |78|
BL $MSI2C_MasterPollingSendFM ; |78|
; |78|
.dwpsn "FM_TEA5761.c",79,7
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L1
;*
;* Loop source line : 79
;* Loop closing brace source line : 97
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L1:
DW$L$$Init_TEA5761$2$B:
.dwpsn "FM_TEA5761.c",81,2
MOV A1, #16 ; |81|
STR A1, [SP, #0] ; |81|
.dwpsn "FM_TEA5761.c",83,4
MOV A1, SP
LDRB A2, [A1, #0] ; |83|
MOV A1, #17 ; |83|
BL $MSI2C_MasterPollingReceiveFM ; |83|
; |83|
.dwpsn "FM_TEA5761.c",84,3
MOV A1, #1 ; |84|
ADR A2, SL1 ; |84|
BL $UART_Printf ; |84|
; |84|
.dwpsn "FM_TEA5761.c",85,3
MOV A1, #1 ; |85|
ADR A2, SL2 ; |85|
LDR A3, [SP, #0] ; |85|
BL $UART_Printf ; |85|
; |85|
.dwpsn "FM_TEA5761.c",86,7
MOV A1, #0 ; |86|
STR A1, [SP, #4] ; |86|
.dwpsn "FM_TEA5761.c",86,11
LDR A1, [SP, #0] ; |86|
LDR A2, [SP, #4] ; |86|
CMP A2, A1 ; |86|
BGE L4 ; |86|
; |86|
DW$L$$Init_TEA5761$2$E:
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L2
;*
;* Loop source line : 86
;* Loop closing brace source line : 91
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L2:
DW$L$$Init_TEA5761$3$B:
.dwpsn "FM_TEA5761.c",88,4
LDR A1, [SP, #4] ; |88|
LDR A2, CON14 ; |88|
LDRB A4, [A2, A1] ; |88|
MOV A1, #1 ; |88|
ADR A2, SL3 ; |88|
LDR A3, [SP, #4] ; |88|
BL $UART_Printf ; |88|
; |88|
.dwpsn "FM_TEA5761.c",89,4
LDR A1, [SP, #4] ; |89|
MOV A2, #5 ; |89|
BL I$MOD ; |89|
; |89|
CMP A1, #0 ; |89|
BNE L3 ; |89|
; |89|
DW$L$$Init_TEA5761$3$E:
;* --------------------------------------------------------------------------*
DW$L$$Init_TEA5761$4$B:
.dwpsn "FM_TEA5761.c",90,4
MOV A1, #1 ; |90|
ADR A2, SL1 ; |90|
BL $UART_Printf ; |90|
; |90|
DW$L$$Init_TEA5761$4$E:
;* --------------------------------------------------------------------------*
L3:
DW$L$$Init_TEA5761$5$B:
.dwpsn "FM_TEA5761.c",86,20
LDR A1, [SP, #4] ; |86|
ADD A1, #1 ; |86|
STR A1, [SP, #4] ; |86|
.dwpsn "FM_TEA5761.c",86,11
LDR A1, [SP, #0] ; |86|
LDR A2, [SP, #4] ; |86|
CMP A2, A1 ; |86|
BLT L2 ; |86|
; |86|
DW$L$$Init_TEA5761$5$E:
;* --------------------------------------------------------------------------*
L4:
DW$L$$Init_TEA5761$6$B:
.dwpsn "FM_TEA5761.c",93,4
LDR A1, CON16 ; |93|
LDRB A1, [A1, #0] ; |93|
CMP A1, #87 ; |93|
BNE L5 ; |93|
; |93|
DW$L$$Init_TEA5761$6$E:
;* --------------------------------------------------------------------------*
DW$L$$Init_TEA5761$7$B:
LDR A1, CON17 ; |93|
LDRB A1, [A1, #0] ; |93|
CMP A1, #96 ; |93|
BNE L5 ; |93|
; |93|
DW$L$$Init_TEA5761$7$E:
;* --------------------------------------------------------------------------*
DW$L$$Init_TEA5761$8$B:
.dwpsn "FM_TEA5761.c",94,4
MOV A1, #1 ; |94|
ADR A2, SL4 ; |94|
BL $UART_Printf ; |94|
; |94|
B L1 ; |94|
; |94|
DW$L$$Init_TEA5761$8$E:
;* --------------------------------------------------------------------------*
L5:
DW$L$$Init_TEA5761$9$B:
.dwpsn "FM_TEA5761.c",96,4
MOV A1, #1 ; |96|
ADR A2, SL5 ; |96|
BL $UART_Printf ; |96|
; |96|
.dwpsn "FM_TEA5761.c",79,7
B L1 ; |79|
; |79|
DW$L$$Init_TEA5761$9$E:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 12
DW$54 .dwtag DW_TAG_loop
.dwattr DW$54, DW_AT_name("E:\WLQUAN\testcode823\testcode\poseidon2.220061018\ARM\arm_src\FM_TEA5761.asm:L1:1:1161853054")
.dwattr DW$54, DW_AT_begin_file("FM_TEA5761.c")
.dwattr DW$54, DW_AT_begin_line(0x4f)
.dwattr DW$54, DW_AT_end_line(0x61)
DW$55 .dwtag DW_TAG_loop_range
.dwattr DW$55, DW_AT_low_pc(DW$L$$Init_TEA5761$2$B)
.dwattr DW$55, DW_AT_high_pc(DW$L$$Init_TEA5761$2$E)
DW$56 .dwtag DW_TAG_loop_range
.dwattr DW$56, DW_AT_low_pc(DW$L$$Init_TEA5761$6$B)
.dwattr DW$56, DW_AT_high_pc(DW$L$$Init_TEA5761$6$E)
DW$57 .dwtag DW_TAG_loop_range
.dwattr DW$57, DW_AT_low_pc(DW$L$$Init_TEA5761$7$B)
.dwattr DW$57, DW_AT_high_pc(DW$L$$Init_TEA5761$7$E)
DW$58 .dwtag DW_TAG_loop_range
.dwattr DW$58, DW_AT_low_pc(DW$L$$Init_TEA5761$9$B)
.dwattr DW$58, DW_AT_high_pc(DW$L$$Init_TEA5761$9$E)
DW$59 .dwtag DW_TAG_loop_range
.dwattr DW$59, DW_AT_low_pc(DW$L$$Init_TEA5761$8$B)
.dwattr DW$59, DW_AT_high_pc(DW$L$$Init_TEA5761$8$E)
DW$60 .dwtag DW_TAG_loop
.dwattr DW$60, DW_AT_name("E:\WLQUAN\testcode823\testcode\poseidon2.220061018\ARM\arm_src\FM_TEA5761.asm:L2:2:1161853054")
.dwattr DW$60, DW_AT_begin_file("FM_TEA5761.c")
.dwattr DW$60, DW_AT_begin_line(0x56)
.dwattr DW$60, DW_AT_end_line(0x5b)
DW$61 .dwtag DW_TAG_loop_range
.dwattr DW$61, DW_AT_low_pc(DW$L$$Init_TEA5761$3$B)
.dwattr DW$61, DW_AT_high_pc(DW$L$$Init_TEA5761$3$E)
DW$62 .dwtag DW_TAG_loop_range
.dwattr DW$62, DW_AT_low_pc(DW$L$$Init_TEA5761$4$B)
.dwattr DW$62, DW_AT_high_pc(DW$L$$Init_TEA5761$4$E)
DW$63 .dwtag DW_TAG_loop_range
.dwattr DW$63, DW_AT_low_pc(DW$L$$Init_TEA5761$5$B)
.dwattr DW$63, DW_AT_high_pc(DW$L$$Init_TEA5761$5$E)
.dwendtag DW$60
.dwendtag DW$54
.dwattr DW$51, DW_AT_end_file("FM_TEA5761.c")
.dwattr DW$51, DW_AT_end_line(0x63)
.dwattr DW$51, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$51
.sect ".text:v$2"
.clink
.global _freq_set
DW$64 .dwtag DW_TAG_subprogram, DW_AT_name("freq_set"), DW_AT_symbol_name("_freq_set")
.dwattr DW$64, DW_AT_veneer(0x01)
.dwattr DW$64, DW_AT_low_pc(_freq_set)
.dwattr DW$64, DW_AT_high_pc(0x00)
.dwattr DW$64, DW_AT_external(0x01)
.state32
;*****************************************************************************
;* FUNCTION VENEER: _freq_set *
;*****************************************************************************
_freq_set:
STMFD sp!, {lr}
ADD lr, pc, #1
BX lr
.state16
BL $freq_set
BX pc
NOP
.state32
LDMFD sp!, {pc}
.state16
.dwendtag DW$64
.sect ".text"
.clink
.global $freq_set
DW$65 .dwtag DW_TAG_subprogram, DW_AT_name("freq_set"), DW_AT_symbol_name("$freq_set")
.dwattr DW$65, DW_AT_low_pc($freq_set)
.dwattr DW$65, DW_AT_high_pc(0x00)
.dwattr DW$65, DW_AT_begin_file("FM_TEA5761.c")
.dwattr DW$65, DW_AT_begin_line(0x65)
.dwattr DW$65, DW_AT_begin_column(0x06)
.dwpsn "FM_TEA5761.c",102,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 + 12 Auto + 4 Save = 16 byte *
;*****************************************************************************
$freq_set:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
PUSH {A2, 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, 16
.dwcfa 0x80, 1, 4
.dwcfa 0x0e, 16
;* A1 assigned to _Freq
DW$66 .dwtag DW_TAG_formal_parameter, DW_AT_name("Freq"), DW_AT_symbol_name("_Freq")
.dwattr DW$66, DW_AT_type(*DW$T$36)
.dwattr DW$66, DW_AT_location[DW_OP_reg0]
DW$67 .dwtag DW_TAG_variable, DW_AT_name("Freq"), DW_AT_symbol_name("_Freq")
.dwattr DW$67, DW_AT_type(*DW$T$36)
.dwattr DW$67, DW_AT_location[DW_OP_breg13 0]
DW$68 .dwtag DW_TAG_variable, DW_AT_name("fi"), DW_AT_symbol_name("_fi")
.dwattr DW$68, DW_AT_type(*DW$T$13)
.dwattr DW$68, DW_AT_location[DW_OP_breg13 4]
DW$69 .dwtag DW_TAG_variable, DW_AT_name("freq_pll_value"), DW_AT_symbol_name("_freq_pll_value")
.dwattr DW$69, DW_AT_type(*DW$T$9)
.dwattr DW$69, DW_AT_location[DW_OP_breg13 8]
MOV A2, SP
STRH A1, [A2, #0] ; |102|
.dwpsn "FM_TEA5761.c",105,1
MOV A1, SP
LDRH A1, [A1, #0] ; |105|
LDR A2, CON18 ; |105|
MUL A2, A1
STR A2, [SP, #4] ; |105|
.dwpsn "FM_TEA5761.c",106,1
LDR A1, [SP, #4] ; |106|
LDR A2, CON19 ; |106|
ADD A1, A2, A1 ; |106|
LSL A1, A1, #2
LSR A1, A1, #15
MOV A2, SP
STRH A1, [A2, #8] ; |106|
.dwpsn "FM_TEA5761.c",107,1
MOV A1, SP
LDRH A1, [A1, #8] ; |107|
LSR A1, A1, #8 ; |107|
LDR A2, CON6 ; |107|
STRB A1, [A2, #0] ; |107|
.dwpsn "FM_TEA5761.c",108,1
MOV A1, SP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -