📄 fm_tea5761.asm
字号:
LDRH A1, [A1, #8] ; |108|
LDR A2, CON7 ; |108|
STRB A1, [A2, #0] ; |108|
.dwpsn "FM_TEA5761.c",109,1
MOV A1, #64 ; |109|
LDR A2, CON8 ; |109|
STRB A1, [A2, #0] ; |109|
.dwpsn "FM_TEA5761.c",110,1
LDR A2, CON4 ; |110|
MOV A1, SP
LDRH A1, [A1, #0] ; |110|
CMP A1, A2 ; |110|
BGE L6 ; |110|
; |110|
;* --------------------------------------------------------------------------*
.dwpsn "FM_TEA5761.c",110,16
LDR A3, CON5 ; |110|
LDRB A2, [A3, #3] ; |110|
MOV A1, #32 ; |110|
ORR A1, A2 ; |110|
STRB A1, [A3, #3] ; |110|
;* --------------------------------------------------------------------------*
L6:
.dwpsn "FM_TEA5761.c",111,1
MOV A1, #112 ; |111|
LDR A2, CON9 ; |111|
STRB A1, [A2, #0] ; |111|
.dwpsn "FM_TEA5761.c",113,2
MOV A1, #17 ; |113|
LDR A2, CON5 ; |113|
MOV A3, #7 ; |113|
BL $MSI2C_MasterPollingSendFM ; |113|
; |113|
.dwpsn "FM_TEA5761.c",114,2
MOV A1, #17 ; |114|
MOV A2, #12 ; |114|
BL $MSI2C_MasterPollingReceiveFM ; |114|
; |114|
.dwpsn "FM_TEA5761.c",116,1
.dwcfa 0x0e, 16
POP {A2, A3, A4, PC}
.dwattr DW$65, DW_AT_end_file("FM_TEA5761.c")
.dwattr DW$65, DW_AT_end_line(0x74)
.dwattr DW$65, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$65
.sect ".text:v$3"
.clink
.global _delay_ms
DW$70 .dwtag DW_TAG_subprogram, DW_AT_name("delay_ms"), DW_AT_symbol_name("_delay_ms")
.dwattr DW$70, DW_AT_veneer(0x01)
.dwattr DW$70, DW_AT_low_pc(_delay_ms)
.dwattr DW$70, DW_AT_high_pc(0x00)
.dwattr DW$70, DW_AT_external(0x01)
.state32
;*****************************************************************************
;* FUNCTION VENEER: _delay_ms *
;*****************************************************************************
_delay_ms:
LDR ip, [pc]
BX ip
.field $delay_ms+1, 32
.state16
.dwendtag DW$70
.sect ".text"
.clink
.global $delay_ms
DW$71 .dwtag DW_TAG_subprogram, DW_AT_name("delay_ms"), DW_AT_symbol_name("$delay_ms")
.dwattr DW$71, DW_AT_low_pc($delay_ms)
.dwattr DW$71, DW_AT_high_pc(0x00)
.dwattr DW$71, DW_AT_begin_file("FM_TEA5761.c")
.dwattr DW$71, DW_AT_begin_line(0x83)
.dwattr DW$71, DW_AT_begin_column(0x06)
.dwpsn "FM_TEA5761.c",132,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: delay_ms *
;* *
;* Regs Modified : A1,A2,SP,SR *
;* Regs Used : A1,A2,SP,SR *
;* Local Frame Size : 0 Args + 12 Auto + 0 Save = 12 byte *
;*****************************************************************************
$delay_ms:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
ADD SP, #-12
.dwcfa 0x0e, 12
;* A1 assigned to _milisec
DW$72 .dwtag DW_TAG_formal_parameter, DW_AT_name("milisec"), DW_AT_symbol_name("_milisec")
.dwattr DW$72, DW_AT_type(*DW$T$23)
.dwattr DW$72, DW_AT_location[DW_OP_reg0]
DW$73 .dwtag DW_TAG_variable, DW_AT_name("milisec"), DW_AT_symbol_name("_milisec")
.dwattr DW$73, DW_AT_type(*DW$T$23)
.dwattr DW$73, DW_AT_location[DW_OP_breg13 0]
DW$74 .dwtag DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
.dwattr DW$74, DW_AT_type(*DW$T$10)
.dwattr DW$74, DW_AT_location[DW_OP_breg13 4]
DW$75 .dwtag DW_TAG_variable, DW_AT_name("j"), DW_AT_symbol_name("_j")
.dwattr DW$75, DW_AT_type(*DW$T$10)
.dwattr DW$75, DW_AT_location[DW_OP_breg13 8]
MOV A2, SP
STRB A1, [A2, #0] ; |132|
.dwpsn "FM_TEA5761.c",134,9
MOV A1, #0 ; |134|
STR A1, [SP, #4] ; |134|
.dwpsn "FM_TEA5761.c",134,13
MOV A1, SP
LDRB A1, [A1, #0] ; |134|
LDR A2, [SP, #4] ; |134|
CMP A2, A1 ; |134|
BGE L10 ; |134|
; |134|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L7
;*
;* Loop source line : 134
;* Loop closing brace source line : 138
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L7:
DW$L$$delay_ms$2$B:
.dwpsn "FM_TEA5761.c",136,9
MOV A1, #0 ; |136|
STR A1, [SP, #8] ; |136|
.dwpsn "FM_TEA5761.c",136,13
LDR A1, [SP, #8] ; |136|
CMP A1, #100 ; |136|
BGE L9 ; |136|
; |136|
DW$L$$delay_ms$2$E:
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L8
;*
;* Loop source line : 136
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L8:
DW$L$$delay_ms$3$B:
.dwpsn "FM_TEA5761.c",136,19
LDR A1, [SP, #8] ; |136|
ADD A1, #1 ; |136|
STR A1, [SP, #8] ; |136|
.dwpsn "FM_TEA5761.c",136,13
LDR A1, [SP, #8] ; |136|
CMP A1, #100 ; |136|
BLT L8 ; |136|
; |136|
DW$L$$delay_ms$3$E:
;* --------------------------------------------------------------------------*
L9:
DW$L$$delay_ms$4$B:
.dwpsn "FM_TEA5761.c",134,23
LDR A1, [SP, #4] ; |134|
ADD A1, #1 ; |134|
STR A1, [SP, #4] ; |134|
.dwpsn "FM_TEA5761.c",134,13
MOV A1, SP
LDRB A1, [A1, #0] ; |134|
LDR A2, [SP, #4] ; |134|
CMP A2, A1 ; |134|
BLT L7 ; |134|
; |134|
DW$L$$delay_ms$4$E:
;* --------------------------------------------------------------------------*
L10:
.dwpsn "FM_TEA5761.c",139,1
ADD SP, #12
.dwcfa 0x0e, 0
BX LR
DW$76 .dwtag DW_TAG_loop
.dwattr DW$76, DW_AT_name("E:\WLQUAN\testcode823\testcode\poseidon2.220061018\ARM\arm_src\FM_TEA5761.asm:L7:1:1161853054")
.dwattr DW$76, DW_AT_begin_file("FM_TEA5761.c")
.dwattr DW$76, DW_AT_begin_line(0x86)
.dwattr DW$76, DW_AT_end_line(0x8a)
DW$77 .dwtag DW_TAG_loop_range
.dwattr DW$77, DW_AT_low_pc(DW$L$$delay_ms$2$B)
.dwattr DW$77, DW_AT_high_pc(DW$L$$delay_ms$2$E)
DW$78 .dwtag DW_TAG_loop_range
.dwattr DW$78, DW_AT_low_pc(DW$L$$delay_ms$4$B)
.dwattr DW$78, DW_AT_high_pc(DW$L$$delay_ms$4$E)
DW$79 .dwtag DW_TAG_loop
.dwattr DW$79, DW_AT_name("E:\WLQUAN\testcode823\testcode\poseidon2.220061018\ARM\arm_src\FM_TEA5761.asm:L8:2:1161853054")
.dwattr DW$79, DW_AT_begin_file("FM_TEA5761.c")
.dwattr DW$79, DW_AT_begin_line(0x88)
.dwattr DW$79, DW_AT_end_line(0x88)
DW$80 .dwtag DW_TAG_loop_range
.dwattr DW$80, DW_AT_low_pc(DW$L$$delay_ms$3$B)
.dwattr DW$80, DW_AT_high_pc(DW$L$$delay_ms$3$E)
.dwendtag DW$79
.dwendtag DW$76
.dwattr DW$71, DW_AT_end_file("FM_TEA5761.c")
.dwattr DW$71, DW_AT_end_line(0x8b)
.dwattr DW$71, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$71
.sect ".text:v$4"
.clink
.global _MSI2C_MasterPollingSendFM
DW$81 .dwtag DW_TAG_subprogram, DW_AT_name("MSI2C_MasterPollingSendFM"), DW_AT_symbol_name("_MSI2C_MasterPollingSendFM")
.dwattr DW$81, DW_AT_veneer(0x01)
.dwattr DW$81, DW_AT_low_pc(_MSI2C_MasterPollingSendFM)
.dwattr DW$81, DW_AT_high_pc(0x00)
.dwattr DW$81, DW_AT_external(0x01)
.state32
;*****************************************************************************
;* FUNCTION VENEER: _MSI2C_MasterPollingSendFM *
;*****************************************************************************
_MSI2C_MasterPollingSendFM:
LDR ip, [pc]
BX ip
.field $MSI2C_MasterPollingSendFM+1, 32
.state16
.dwendtag DW$81
.sect ".text"
.clink
.global $MSI2C_MasterPollingSendFM
DW$82 .dwtag DW_TAG_subprogram, DW_AT_name("MSI2C_MasterPollingSendFM"), DW_AT_symbol_name("$MSI2C_MasterPollingSendFM")
.dwattr DW$82, DW_AT_low_pc($MSI2C_MasterPollingSendFM)
.dwattr DW$82, DW_AT_high_pc(0x00)
.dwattr DW$82, DW_AT_begin_file("FM_TEA5761.c")
.dwattr DW$82, DW_AT_begin_line(0x91)
.dwattr DW$82, DW_AT_begin_column(0x06)
.dwpsn "FM_TEA5761.c",147,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: MSI2C_MasterPollingSendFM *
;* *
;* Regs Modified : A1,A2,A3,A4,SP,SR *
;* Regs Used : A1,A2,A3,A4,SP,SR *
;* Local Frame Size : 0 Args + 24 Auto + 0 Save = 24 byte *
;*****************************************************************************
$MSI2C_MasterPollingSendFM:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
ADD SP, #-24
.dwcfa 0x0e, 24
;* A1 assigned to _device_adress
DW$83 .dwtag DW_TAG_formal_parameter, DW_AT_name("device_adress"), DW_AT_symbol_name("_device_adress")
.dwattr DW$83, DW_AT_type(*DW$T$23)
.dwattr DW$83, DW_AT_location[DW_OP_reg0]
;* A2 assigned to _data_array8
DW$84 .dwtag DW_TAG_formal_parameter, DW_AT_name("data_array8"), DW_AT_symbol_name("_data_array8")
.dwattr DW$84, DW_AT_type(*DW$T$39)
.dwattr DW$84, DW_AT_location[DW_OP_reg1]
;* A3 assigned to _data_number
DW$85 .dwtag DW_TAG_formal_parameter, DW_AT_name("data_number"), DW_AT_symbol_name("_data_number")
.dwattr DW$85, DW_AT_type(*DW$T$23)
.dwattr DW$85, DW_AT_location[DW_OP_reg2]
DW$86 .dwtag DW_TAG_variable, DW_AT_name("device_adress"), DW_AT_symbol_name("_device_adress")
.dwattr DW$86, DW_AT_type(*DW$T$23)
.dwattr DW$86, DW_AT_location[DW_OP_breg13 0]
DW$87 .dwtag DW_TAG_variable, DW_AT_name("data_array8"), DW_AT_symbol_name("_data_array8")
.dwattr DW$87, DW_AT_type(*DW$T$39)
.dwattr DW$87, DW_AT_location[DW_OP_breg13 4]
DW$88 .dwtag DW_TAG_variable, DW_AT_name("data_number"), DW_AT_symbol_name("_data_number")
.dwattr DW$88, DW_AT_type(*DW$T$23)
.dwattr DW$88, DW_AT_location[DW_OP_breg13 8]
DW$89 .dwtag DW_TAG_variable, DW_AT_name("data16"), DW_AT_symbol_name("_data16")
.dwattr DW$89, DW_AT_type(*DW$T$44)
.dwattr DW$89, DW_AT_location[DW_OP_breg13 12]
DW$90 .dwtag DW_TAG_variable, DW_AT_name("wait"), DW_AT_symbol_name("_wait")
.dwattr DW$90, DW_AT_type(*DW$T$36)
.dwattr DW$90, DW_AT_location[DW_OP_breg13 20]
DW$91 .dwtag DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
.dwattr DW$91, DW_AT_type(*DW$T$36)
.dwattr DW$91, DW_AT_location[DW_OP_breg13 22]
MOV A4, SP
STRB A3, [A4, #8] ; |147|
STR A2, [SP, #4] ; |147|
MOV A2, SP
STRB A1, [A2, #0] ; |147|
.dwpsn "FM_TEA5761.c",153,2
MOV A2, #0 ; |153|
MOV A1, SP
STRH A2, [A1, #22] ; |153|
.dwpsn "FM_TEA5761.c",155,3
LDR A1, [SP, #4] ; |155|
LDRB A2, [A1, #0] ; |155|
LDR A1, [SP, #4] ; |155|
LDRB A1, [A1, #1] ; |155|
LSL A1, A1, #8 ; |155|
ORR A1, A2 ; |155|
MOV A2, SP
STRH A1, [A2, #12] ; |155|
.dwpsn "FM_TEA5761.c",156,3
LDR A1, [SP, #4] ; |156|
LDRB A2, [A1, #2] ; |156|
LDR A1, [SP, #4] ; |156|
LDRB A1, [A1, #3] ; |156|
LSL A1, A1, #8 ; |156|
ORR A1, A2 ; |156|
MOV A2, SP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -