📄 mcbsp.asm
字号:
;******************************************************************************
;* 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 + -