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

📄 spi.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;******************************************************************************
;* TMS470 C/C++ Codegen                                             PC v4.1.4 *
;* Date/Time created: Wed Jun 25 14:11:59 2008                                *
;******************************************************************************
	.compiler_opts --abi=ti_arm9_abi --endian=little --float_support=fpalib --quiet --silicon_version=5e 
	.state32

DW$CU	.dwtag  DW_TAG_compile_unit
	.dwattr DW$CU, DW_AT_name("spi.c")
	.dwattr DW$CU, DW_AT_producer("TMS470 C/C++ Codegen PC v4.1.4 Copyright (c) 1996-2006 Texas Instruments Incorporated")
	.dwattr DW$CU, DW_AT_stmt_list(0x00)
	.dwattr DW$CU, DW_AT_TI_VERSION(0x01)

DW$1	.dwtag  DW_TAG_subprogram, DW_AT_name("UART_Printf"), DW_AT_symbol_name("_UART_Printf")
	.dwattr DW$1, DW_AT_declaration(0x01)
	.dwattr DW$1, DW_AT_external(0x01)
DW$2	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
DW$3	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$20)
DW$4	.dwtag  DW_TAG_unspecified_parameters
	.dwendtag DW$1


DW$5	.dwtag  DW_TAG_subprogram, DW_AT_name("UART_GetNum"), DW_AT_symbol_name("_UART_GetNum")
	.dwattr DW$5, DW_AT_type(*DW$T$10)
	.dwattr DW$5, DW_AT_declaration(0x01)
	.dwattr DW$5, DW_AT_external(0x01)
DW$6	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
	.dwendtag DW$5

;	C:\CCStudio_v3.3\tms470\cgtools\bin\acp470.exe -@C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI37612 
	.sect	".text"
	.align	4
	.clink
	.armfunc _spi_reset
	.state32
	.global	_spi_reset

DW$7	.dwtag  DW_TAG_subprogram, DW_AT_name("spi_reset"), DW_AT_symbol_name("_spi_reset")
	.dwattr DW$7, DW_AT_low_pc(_spi_reset)
	.dwattr DW$7, DW_AT_high_pc(0x00)
	.dwattr DW$7, DW_AT_begin_file("spi.c")
	.dwattr DW$7, DW_AT_begin_line(0x08)
	.dwattr DW$7, DW_AT_begin_column(0x06)
	.dwpsn	"spi.c",9,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: spi_reset                                                  *
;*                                                                           *
;*   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 + 4 Auto + 4 Save = 8 byte                   *
;*****************************************************************************
_spi_reset:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {A4, LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
	.dwcfa	0x0e, 8
	.dwcfa	0x80, 3, 2
	.dwcfa	0x0e, 8

DW$8	.dwtag  DW_TAG_lexical_block, DW_AT_low_pc(0x00), DW_AT_high_pc(0x00)
DW$9	.dwtag  DW_TAG_variable, DW_AT_name("tmp"), DW_AT_symbol_name("_tmp")
	.dwattr DW$9, DW_AT_type(*DW$T$27)
	.dwattr DW$9, DW_AT_location[DW_OP_breg13 0]
	.dwpsn	"spi.c",10,2
        LDR       V9, CON1              ; |10| 
        LDR       V9, [V9, #0]          ; |10| 
        LDR       A1, CON1              ; |10| 
        STR       V9, [SP, #0]          ; |10| 
        BIC       V9, V9, #2            ; |10| 
        STR       V9, [SP, #0]          ; |10| 
        ORR       V9, V9, #2            ; |10| 
        STR       V9, [SP, #0]          ; |10| 
        STR       V9, [A1, #0]          ; |10| 
	.dwendtag DW$8

	.dwpsn	"spi.c",11,2
;* --------------------------------------------------------------------------*
;*   BEGIN LOOP L1
;*
;*   Loop source line                : 11
;*   Known Minimum Trip Count        : 1
;*   Known Maximum Trip Count        : 4294967295
;*   Known Max Trip Count Factor     : 1
;* --------------------------------------------------------------------------*
L1:    
DW$L$_spi_reset$2$B:
	.dwpsn	"spi.c",11,8
        LDR       V9, CON2              ; |11| 
        LDR       V9, [V9, #0]          ; |11| 
        MOVS      V9, V9, LSL #31       ; |11| 
        BEQ       L1                    ; |11| 
        ; |11| 
DW$L$_spi_reset$2$E:
;* --------------------------------------------------------------------------*
	.dwpsn	"spi.c",12,5
        ADR       A2, SL1               ; |12| 
        MOV       A1, #1                ; |12| 
        BL        _UART_Printf          ; |12| 
        ; |12| 
	.dwpsn	"spi.c",13,2
        MOV       V9, #16               ; |13| 
        LDR       A1, CON1              ; |13| 
        STR       V9, [A1, #0]          ; |13| 
	.dwpsn	"spi.c",14,1
	.dwcfa	0x0e, 8
        LDMFD     SP!, {A4, PC}

DW$10	.dwtag  DW_TAG_loop
	.dwattr DW$10, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\spi.asm:L1:1:1214374319")
	.dwattr DW$10, DW_AT_begin_file("spi.c")
	.dwattr DW$10, DW_AT_begin_line(0x0b)
	.dwattr DW$10, DW_AT_end_line(0x0b)
DW$11	.dwtag  DW_TAG_loop_range
	.dwattr DW$11, DW_AT_low_pc(DW$L$_spi_reset$2$B)
	.dwattr DW$11, DW_AT_high_pc(DW$L$_spi_reset$2$E)
	.dwendtag DW$10

	.dwattr DW$7, DW_AT_end_file("spi.c")
	.dwattr DW$7, DW_AT_end_line(0x0e)
	.dwattr DW$7, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$7

	.sect	".text"
	.align	4
	.clink
	.armfunc _spi_tx_master
	.state32
	.global	_spi_tx_master

DW$12	.dwtag  DW_TAG_subprogram, DW_AT_name("spi_tx_master"), DW_AT_symbol_name("_spi_tx_master")
	.dwattr DW$12, DW_AT_low_pc(_spi_tx_master)
	.dwattr DW$12, DW_AT_high_pc(0x00)
	.dwattr DW$12, DW_AT_begin_file("spi.c")
	.dwattr DW$12, DW_AT_begin_line(0x10)
	.dwattr DW$12, DW_AT_begin_column(0x06)
	.dwpsn	"spi.c",17,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: spi_tx_master                                              *
;*                                                                           *
;*   Regs Modified     : A1,V9                                               *
;*   Regs Used         : A1,V9                                               *
;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                   *
;*****************************************************************************
_spi_tx_master:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
	.dwpsn	"spi.c",18,2
        MOV       V9, #6                ; |18| 
        LDR       A1, CON4              ; |18| 
        STR       V9, [A1, #0]          ; |18| 
	.dwpsn	"spi.c",19,2
        LDR       A1, CON4              ; |19| 
        LDR       V9, [A1, #0]          ; |19| 
        ORR       V9, V9, #1            ; |19| 
        STR       V9, [A1, #0]          ; |19| 
	.dwpsn	"spi.c",20,2
        MOV       V9, #32768            ; |20| 
        LDR       A1, CON5              ; |20| 
        STR       V9, [A1, #0]          ; |20| 
	.dwpsn	"spi.c",21,2
        MOV       V9, #60               ; |21| 
        LDR       A1, CON6              ; |21| 
        STR       V9, [A1, #0]          ; |21| 
	.dwpsn	"spi.c",23,2
        MOV       V9, #85               ; |23| 
        LDR       A1, CON7              ; |23| 
        ADD       V9, V9, #21760        ; |23| 
        STR       V9, [A1, #0]          ; |23| 
	.dwpsn	"spi.c",24,2
        LDR       A1, CON6              ; |24| 
        LDR       V9, [A1, #0]          ; |24| 
        ORR       V9, V9, #2            ; |24| 
        STR       V9, [A1, #0]          ; |24| 
	.dwpsn	"spi.c",25,1
        BX        LR
	.dwattr DW$12, DW_AT_end_file("spi.c")
	.dwattr DW$12, DW_AT_end_line(0x19)
	.dwattr DW$12, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$12

	.sect	".text"
	.align	4
	.clink
	.armfunc _spi_trx_master
	.state32
	.global	_spi_trx_master

DW$13	.dwtag  DW_TAG_subprogram, DW_AT_name("spi_trx_master"), DW_AT_symbol_name("_spi_trx_master")
	.dwattr DW$13, DW_AT_low_pc(_spi_trx_master)
	.dwattr DW$13, DW_AT_high_pc(0x00)
	.dwattr DW$13, DW_AT_begin_file("spi.c")
	.dwattr DW$13, DW_AT_begin_line(0x1b)
	.dwattr DW$13, DW_AT_begin_column(0x06)
	.dwpsn	"spi.c",28,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: spi_trx_master                                             *
;*                                                                           *
;*   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 + 4 Auto + 4 Save = 8 byte                   *
;*****************************************************************************
_spi_trx_master:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {A4, LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
	.dwcfa	0x0e, 8
	.dwcfa	0x80, 3, 2
	.dwcfa	0x0e, 8
DW$14	.dwtag  DW_TAG_variable, DW_AT_name("temp"), DW_AT_symbol_name("_temp")
	.dwattr DW$14, DW_AT_type(*DW$T$13)
	.dwattr DW$14, DW_AT_location[DW_OP_breg13 0]
	.dwpsn	"spi.c",30,2
        LDR       A1, CON8              ; |30| 
        LDR       V9, [A1, #0]          ; |30| 
        ORR       V9, V9, #1            ; |30| 
        STR       V9, [A1, #0]          ; |30| 
	.dwpsn	"spi.c",31,2
        MOV       V9, #6                ; |31| 
        LDR       A1, CON4              ; |31| 
        STR       V9, [A1, #0]          ; |31| 
	.dwpsn	"spi.c",32,2
        LDR       A1, CON4              ; |32| 
        LDR       V9, [A1, #0]          ; |32| 
        ORR       V9, V9, #1            ; |32| 
        STR       V9, [A1, #0]          ; |32| 
	.dwpsn	"spi.c",33,2
        MOV       V9, #32768            ; |33| 
        LDR       A1, CON5              ; |33| 
        STR       V9, [A1, #0]          ; |33| 
	.dwpsn	"spi.c",34,2
        MOV       V9, #124              ; |34| 
        LDR       A1, CON6              ; |34| 
        STR       V9, [A1, #0]          ; |34| 
	.dwpsn	"spi.c",36,2
        LDR       V9, CON9              ; |36| 
        LDR       A1, CON7              ; |36| 
        STR       V9, [A1, #0]          ; |36| 
	.dwpsn	"spi.c",37,2
        LDR       A1, CON6              ; |37| 
        LDR       V9, [A1, #0]          ; |37| 
        ORR       V9, V9, #3            ; |37| 
        STR       V9, [A1, #0]          ; |37| 
	.dwpsn	"spi.c",38,2
;* --------------------------------------------------------------------------*
;*   BEGIN LOOP L2
;*
;*   Loop source line                : 38
;*   Known Minimum Trip Count        : 1
;*   Known Maximum Trip Count        : 4294967295
;*   Known Max Trip Count Factor     : 1
;* --------------------------------------------------------------------------*
L2:    
DW$L$_spi_trx_master$2$B:
	.dwpsn	"spi.c",38,8
        LDR       V9, CON10             ; |38| 
        LDR       V9, [V9, #0]          ; |38| 
        MOVS      V9, V9, LSL #31       ; |38| 
        BEQ       L2                    ; |38| 
        ; |38| 
DW$L$_spi_trx_master$2$E:
;* --------------------------------------------------------------------------*
	.dwpsn	"spi.c",39,2
        LDR       V9, CON11             ; |39| 
        LDR       V9, [V9, #0]          ; |39| 
        STR       V9, [SP, #0]          ; |39| 
	.dwpsn	"spi.c",40,2
        LDR       A1, CON9              ; |40| 
        LDR       V9, [SP, #0]          ; |40| 
        CMP       V9, A1                ; |40| 
        BNE       L3                    ; |40| 
        ; |40| 
;* --------------------------------------------------------------------------*
	.dwpsn	"spi.c",41,6
        ADR       A2, SL2               ; |41| 
        MOV       A1, #1                ; |41| 
        BL        _UART_Printf          ; |41| 
        ; |41| 
        B         L4                    ; |41| 
        ; |41| 
;* --------------------------------------------------------------------------*
L3:    
	.dwpsn	"spi.c",43,3
        ADR       A2, SL3               ; |43| 
        MOV       A1, #1                ; |43| 
        BL        _UART_Printf          ; |43| 
        ; |43| 
;* --------------------------------------------------------------------------*
L4:    
	.dwpsn	"spi.c",45,1
	.dwcfa	0x0e, 8
        LDMFD     SP!, {A4, PC}

DW$15	.dwtag  DW_TAG_loop
	.dwattr DW$15, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\spi.asm:L2:1:1214374319")
	.dwattr DW$15, DW_AT_begin_file("spi.c")
	.dwattr DW$15, DW_AT_begin_line(0x26)
	.dwattr DW$15, DW_AT_end_line(0x26)
DW$16	.dwtag  DW_TAG_loop_range
	.dwattr DW$16, DW_AT_low_pc(DW$L$_spi_trx_master$2$B)
	.dwattr DW$16, DW_AT_high_pc(DW$L$_spi_trx_master$2$E)
	.dwendtag DW$15

	.dwattr DW$13, DW_AT_end_file("spi.c")
	.dwattr DW$13, DW_AT_end_line(0x2d)
	.dwattr DW$13, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$13

	.sect	".text"
	.align	4
	.clink
	.armfunc _SPI_test_menu
	.state32
	.global	_SPI_test_menu

DW$17	.dwtag  DW_TAG_subprogram, DW_AT_name("SPI_test_menu"), DW_AT_symbol_name("_SPI_test_menu")
	.dwattr DW$17, DW_AT_low_pc(_SPI_test_menu)
	.dwattr DW$17, DW_AT_high_pc(0x00)
	.dwattr DW$17, DW_AT_begin_file("spi.c")
	.dwattr DW$17, DW_AT_begin_line(0x30)
	.dwattr DW$17, DW_AT_begin_column(0x06)
	.dwpsn	"spi.c",49,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: SPI_test_menu                                              *
;*                                                                           *
;*   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 + 4 Auto + 4 Save = 8 byte                   *
;*****************************************************************************
_SPI_test_menu:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {A4, LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
	.dwcfa	0x0e, 8
	.dwcfa	0x80, 3, 2
	.dwcfa	0x0e, 8
DW$18	.dwtag  DW_TAG_variable, DW_AT_name("val"), DW_AT_symbol_name("_val")
	.dwattr DW$18, DW_AT_type(*DW$T$10)
	.dwattr DW$18, DW_AT_location[DW_OP_breg13 0]
	.dwpsn	"spi.c",50,6
        MOV       V9, #1                ; |50| 
        STR       V9, [SP, #0]          ; |50| 
	.dwpsn	"spi.c",51,2
        BL        _spi_reset            ; |51| 
        ; |51| 
	.dwpsn	"spi.c",52,2
        LDR       V9, [SP, #0]          ; |52| 
        CMP       V9, #0                ; |52| 
        BEQ       L11                   ; |52| 
        ; |52| 
;* --------------------------------------------------------------------------*
;*   BEGIN LOOP L5
;*
;*   Loop source line                : 52
;*   Loop closing brace source line  : 100
;*   Known Minimum Trip Count        : 1
;*   Known Maximum Trip Count        : 4294967295
;*   Known Max Trip Count Factor     : 1
;* --------------------------------------------------------------------------*
L5:    
DW$L$_SPI_test_menu$2$B:
	.dwpsn	"spi.c",54,6
        ADR       A2, SL4               ; |54| 
        MOV       A1, #1                ; |54| 
        BL        _UART_Printf          ; |54| 
        ; |54| 
	.dwpsn	"spi.c",55,6
        ADR       A2, SL5               ; |55| 
        MOV       A1, #1                ; |55| 
        BL        _UART_Printf          ; |55| 
        ; |55| 
	.dwpsn	"spi.c",56,6

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -