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

📄 mcbsp.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 4 页
字号:
;******************************************************************************
;* TMS470 C/C++ Codegen                                             PC v4.1.4 *
;* Date/Time created: Wed Jun 25 14:11:51 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("MCBSP.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)
;*****************************************************************************
;* CINIT RECORDS                                                             *
;*****************************************************************************
	.sect	".cinit"
	.align	4
	.field  	IR_1,32
	.field  	_MCBSP_Base_Addr+0,32
	.field  	-321536,32			; _MCBSP_Base_Addr[0] @ 0
	.field  	-297984,32			; _MCBSP_Base_Addr[1] @ 32
IR_1:	.set	8

	.sect	".cinit"
	.align	4
	.field  	4,32
	.field  	_CLKM13_Base_Addr+0,32
	.field  	-78336,32			; _CLKM13_Base_Addr @ 0

	.sect	".cinit"
	.align	4
	.field  	4,32
	.field  	_CONF_Functional_Base_Addr+0,32
	.field  	-126976,32			; _CONF_Functional_Base_Addr @ 0


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

	.bss	_MCBSP_Base_Addr,8,4
DW$5	.dwtag  DW_TAG_variable, DW_AT_name("MCBSP_Base_Addr"), DW_AT_symbol_name("_MCBSP_Base_Addr")
	.dwattr DW$5, DW_AT_type(*DW$T$35)
	.dwattr DW$5, DW_AT_location[DW_OP_addr _MCBSP_Base_Addr]
	.bss	_CLKM13_Base_Addr,4,4
DW$6	.dwtag  DW_TAG_variable, DW_AT_name("CLKM13_Base_Addr"), DW_AT_symbol_name("_CLKM13_Base_Addr")
	.dwattr DW$6, DW_AT_type(*DW$T$11)
	.dwattr DW$6, DW_AT_location[DW_OP_addr _CLKM13_Base_Addr]
	.bss	_CONF_Functional_Base_Addr,4,4
DW$7	.dwtag  DW_TAG_variable, DW_AT_name("CONF_Functional_Base_Addr"), DW_AT_symbol_name("_CONF_Functional_Base_Addr")
	.dwattr DW$7, DW_AT_type(*DW$T$11)
	.dwattr DW$7, DW_AT_location[DW_OP_addr _CONF_Functional_Base_Addr]
	.sect	".const"
	.align	4
_$T0$1:
	.field  	0,16			; _$T0$1[0][0] @ 0
	.field  	0,16			; _$T0$1[0][1] @ 16
	.field  	0,16			; _$T0$1[0][2] @ 32
	.field  	0,16			; _$T0$1[0][3] @ 48
	.field  	0,16			; _$T0$1[0][4] @ 64
	.field  	0,16			; _$T0$1[1][0] @ 80
	.field  	0,16			; _$T0$1[1][1] @ 96
	.field  	0,16			; _$T0$1[1][2] @ 112
	.field  	0,16			; _$T0$1[1][3] @ 128
	.field  	0,16			; _$T0$1[1][4] @ 144

DW$8	.dwtag  DW_TAG_variable, DW_AT_name("$T0$1"), DW_AT_symbol_name("_$T0$1")
	.dwattr DW$8, DW_AT_type(*DW$T$31)
	.dwattr DW$8, DW_AT_location[DW_OP_addr _$T0$1]
	.sect	".const"
	.align	4
_$T1$2:
	.field  	0,16			; _$T1$2[0][0] @ 0
	.field  	255,16			; _$T1$2[0][1] @ 16
	.field  	85,16			; _$T1$2[0][2] @ 32
	.field  	170,16			; _$T1$2[0][3] @ 48
	.field  	18,16			; _$T1$2[0][4] @ 64
	.field  	0,16			; _$T1$2[1][0] @ 80
	.field  	255,16			; _$T1$2[1][1] @ 96
	.field  	85,16			; _$T1$2[1][2] @ 112
	.field  	170,16			; _$T1$2[1][3] @ 128
	.field  	86,16			; _$T1$2[1][4] @ 144

DW$9	.dwtag  DW_TAG_variable, DW_AT_name("$T1$2"), DW_AT_symbol_name("_$T1$2")
	.dwattr DW$9, DW_AT_type(*DW$T$31)
	.dwattr DW$9, DW_AT_location[DW_OP_addr _$T1$2]
;	C:\CCStudio_v3.3\tms470\cgtools\bin\acp470.exe -@C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI74412 
	.sect	".text"
	.align	4
	.clink
	.armfunc _MCBSP_Initialize
	.state32
	.global	_MCBSP_Initialize

DW$10	.dwtag  DW_TAG_subprogram, DW_AT_name("MCBSP_Initialize"), DW_AT_symbol_name("_MCBSP_Initialize")
	.dwattr DW$10, DW_AT_low_pc(_MCBSP_Initialize)
	.dwattr DW$10, DW_AT_high_pc(0x00)
	.dwattr DW$10, DW_AT_begin_file("MCBSP.c")
	.dwattr DW$10, DW_AT_begin_line(0x15)
	.dwattr DW$10, DW_AT_begin_column(0x06)
	.dwpsn	"MCBSP.c",22,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: MCBSP_Initialize                                           *
;*                                                                           *
;*   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                   *
;*****************************************************************************
_MCBSP_Initialize:
;* --------------------------------------------------------------------------*
	.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
;* A1    assigned to _dev_num
DW$11	.dwtag  DW_TAG_formal_parameter, DW_AT_name("dev_num"), DW_AT_symbol_name("_dev_num")
	.dwattr DW$11, DW_AT_type(*DW$T$10)
	.dwattr DW$11, DW_AT_location[DW_OP_reg0]
DW$12	.dwtag  DW_TAG_variable, DW_AT_name("dev_num"), DW_AT_symbol_name("_dev_num")
	.dwattr DW$12, DW_AT_type(*DW$T$10)
	.dwattr DW$12, DW_AT_location[DW_OP_breg13 0]
        STR       A1, [SP, #0]          ; |22| 
	.dwpsn	"MCBSP.c",23,1
        LDR       A1, [SP, #0]          ; |23| 
        BL        _MCBSP_Open           ; |23| 
        ; |23| 
	.dwpsn	"MCBSP.c",24,1
        LDR       A1, [SP, #0]          ; |24| 
        BL        _MCBSP_IOMultiplex    ; |24| 
        ; |24| 
	.dwpsn	"MCBSP.c",26,1
	.dwcfa	0x0e, 8
        LDMFD     SP!, {A4, PC}
	.dwattr DW$10, DW_AT_end_file("MCBSP.c")
	.dwattr DW$10, DW_AT_end_line(0x1a)
	.dwattr DW$10, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$10

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

DW$13	.dwtag  DW_TAG_subprogram, DW_AT_name("MCBSP_IOMultiplex"), DW_AT_symbol_name("_MCBSP_IOMultiplex")
	.dwattr DW$13, DW_AT_low_pc(_MCBSP_IOMultiplex)
	.dwattr DW$13, DW_AT_high_pc(0x00)
	.dwattr DW$13, DW_AT_begin_file("MCBSP.c")
	.dwattr DW$13, DW_AT_begin_line(0x1f)
	.dwattr DW$13, DW_AT_begin_column(0x06)
	.dwpsn	"MCBSP.c",32,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: MCBSP_IOMultiplex                                          *
;*                                                                           *
;*   Regs Modified     : V9,SP,SR                                            *
;*   Regs Used         : A1,V9,SP,SR                                         *
;*   Local Frame Size  : 0 Args + 4 Auto + 0 Save = 4 byte                   *
;*****************************************************************************
_MCBSP_IOMultiplex:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        SUB       SP, SP, #4
	.dwcfa	0x0e, 4
;* A1    assigned to _dev_num
DW$14	.dwtag  DW_TAG_formal_parameter, DW_AT_name("dev_num"), DW_AT_symbol_name("_dev_num")
	.dwattr DW$14, DW_AT_type(*DW$T$10)
	.dwattr DW$14, DW_AT_location[DW_OP_reg0]
DW$15	.dwtag  DW_TAG_variable, DW_AT_name("dev_num"), DW_AT_symbol_name("_dev_num")
	.dwattr DW$15, DW_AT_type(*DW$T$10)
	.dwattr DW$15, DW_AT_location[DW_OP_breg13 0]
        STR       A1, [SP, #0]          ; |32| 
	.dwpsn	"MCBSP.c",33,1
        B         L1                    ; |33| 
        ; |33| 
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L1:    
        LDR       V9, [SP, #0]          ; |33| 
        CMP       V9, #0                ; |33| 
        BEQ       L2                    ; |33| 
        ; |33| 
;* --------------------------------------------------------------------------*
        SUBS      V9, V9, #1            ; |33| 
;* --------------------------------------------------------------------------*
L2:    
	.dwpsn	"MCBSP.c",42,1
        ADD       SP, SP, #4
	.dwcfa	0x0e, 0
        BX        LR
	.dwattr DW$13, DW_AT_end_file("MCBSP.c")
	.dwattr DW$13, DW_AT_end_line(0x2a)
	.dwattr DW$13, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$13

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

DW$16	.dwtag  DW_TAG_subprogram, DW_AT_name("MCBSP_Open"), DW_AT_symbol_name("_MCBSP_Open")
	.dwattr DW$16, DW_AT_low_pc(_MCBSP_Open)
	.dwattr DW$16, DW_AT_high_pc(0x00)
	.dwattr DW$16, DW_AT_begin_file("MCBSP.c")
	.dwattr DW$16, DW_AT_begin_line(0x2f)
	.dwattr DW$16, DW_AT_begin_column(0x06)
	.dwpsn	"MCBSP.c",48,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: MCBSP_Open                                                 *
;*                                                                           *
;*   Regs Modified     : A1,V9,SP,SR                                         *
;*   Regs Used         : A1,V9,SP,SR                                         *
;*   Local Frame Size  : 0 Args + 8 Auto + 0 Save = 8 byte                   *
;*****************************************************************************
_MCBSP_Open:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        SUB       SP, SP, #8
	.dwcfa	0x0e, 8
;* A1    assigned to _dev_num
DW$17	.dwtag  DW_TAG_formal_parameter, DW_AT_name("dev_num"), DW_AT_symbol_name("_dev_num")
	.dwattr DW$17, DW_AT_type(*DW$T$10)
	.dwattr DW$17, DW_AT_location[DW_OP_reg0]
DW$18	.dwtag  DW_TAG_variable, DW_AT_name("dev_num"), DW_AT_symbol_name("_dev_num")
	.dwattr DW$18, DW_AT_type(*DW$T$10)
	.dwattr DW$18, DW_AT_location[DW_OP_breg13 0]
DW$19	.dwtag  DW_TAG_variable, DW_AT_name("reg_temp"), DW_AT_symbol_name("_reg_temp")
	.dwattr DW$19, DW_AT_type(*DW$T$6)
	.dwattr DW$19, DW_AT_location[DW_OP_breg13 4]
        STR       A1, [SP, #0]          ; |48| 
	.dwpsn	"MCBSP.c",51,1
        LDR       V9, CON1              ; |51| 
        LDR       V9, [V9, #0]          ; |51| 
        LDR       V9, [V9, #8]          ; |51| 
        STRB      V9, [SP, #4]          ; |51| 
	.dwpsn	"MCBSP.c",52,1
        LDRB      V9, [SP, #4]          ; |52| 
        TST       V9, #4                ; |52| 
        BNE       L3                    ; |52| 
        ; |52| 
;* --------------------------------------------------------------------------*
	.dwpsn	"MCBSP.c",53,3
        LDR       V9, CON1              ; |53| 
        LDR       V9, [V9, #0]          ; |53| 
        ADD       V9, V9, #8            ; |53| 
        LDR       A1, [V9, #0]          ; |53| 
        ORR       A1, A1, #4            ; |53| 
        STR       A1, [V9, #0]          ; |53| 
;* --------------------------------------------------------------------------*
L3:    
	.dwpsn	"MCBSP.c",55,1
        LDR       V9, CON1              ; |55| 
        LDR       V9, [V9, #0]          ; |55| 
        LDR       V9, [V9, #20]         ; |55| 
        STRB      V9, [SP, #4]          ; |55| 
	.dwpsn	"MCBSP.c",56,1
        LDRB      V9, [SP, #4]          ; |56| 
        MOVS      V9, V9, LSL #31       ; |56| 
        BNE       L4                    ; |56| 
        ; |56| 
;* --------------------------------------------------------------------------*
	.dwpsn	"MCBSP.c",57,3
        LDR       V9, CON1              ; |57| 
        LDR       V9, [V9, #0]          ; |57| 
        ADD       V9, V9, #20           ; |57| 
        LDR       A1, [V9, #0]          ; |57| 
        ORR       A1, A1, #1            ; |57| 
        STR       A1, [V9, #0]          ; |57| 
	.dwpsn	"MCBSP.c",60,1

⌨️ 快捷键说明

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