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

📄 fm_tea5761.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        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 + -