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