📄 vikingiiinth.asm
字号:
;******************************************************************************
;* TMS470 C/C++ Codegen PC v4.1.4 *
;* Date/Time created: Wed Jun 25 14:12:15 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("vikingIIinth.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 4,32
.field _DSP_INT0_occur_flag+0,32
.field 0,32 ; _DSP_INT0_occur_flag @ 0
.sect ".cinit"
.align 4
.field 4,32
.field _MCU_INT_occur_flag+0,32
.field 0,32 ; _MCU_INT_occur_flag @ 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
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
DW$7 .dwtag DW_TAG_subprogram, DW_AT_name("VIKING_Init"), DW_AT_symbol_name("_VIKING_Init")
.dwattr DW$7, DW_AT_declaration(0x01)
.dwattr DW$7, DW_AT_external(0x01)
DW$8 .dwtag DW_TAG_subprogram, DW_AT_name("GPIO_SetDirection"), DW_AT_symbol_name("_GPIO_SetDirection")
.dwattr DW$8, DW_AT_declaration(0x01)
.dwattr DW$8, DW_AT_external(0x01)
DW$9 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$26)
DW$10 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$28)
.dwendtag DW$8
DW$11 .dwtag DW_TAG_subprogram, DW_AT_name("GPIO_SetEdgeCtrl"), DW_AT_symbol_name("_GPIO_SetEdgeCtrl")
.dwattr DW$11, DW_AT_declaration(0x01)
.dwattr DW$11, DW_AT_external(0x01)
DW$12 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$26)
DW$13 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$32)
.dwendtag DW$11
DW$14 .dwtag DW_TAG_subprogram, DW_AT_name("GPIO_SetOnePinInterruptMask"), DW_AT_symbol_name("_GPIO_SetOnePinInterruptMask")
.dwattr DW$14, DW_AT_declaration(0x01)
.dwattr DW$14, DW_AT_external(0x01)
DW$15 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$26)
DW$16 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$36)
.dwendtag DW$14
DW$17 .dwtag DW_TAG_subprogram, DW_AT_name("GPIO_GetInterruptStatus"), DW_AT_symbol_name("_GPIO_GetInterruptStatus")
.dwattr DW$17, DW_AT_type(*DW$T$43)
.dwattr DW$17, DW_AT_declaration(0x01)
.dwattr DW$17, DW_AT_external(0x01)
DW$18 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$26)
.dwendtag DW$17
DW$19 .dwtag DW_TAG_subprogram, DW_AT_name("GPIO_AcknoledgeInterrupt"), DW_AT_symbol_name("_GPIO_AcknoledgeInterrupt")
.dwattr DW$19, DW_AT_declaration(0x01)
.dwattr DW$19, DW_AT_external(0x01)
DW$20 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$26)
.dwendtag DW$19
DW$21 .dwtag DW_TAG_subprogram, DW_AT_name("GPIO_ConfigureInterruptEnable"), DW_AT_symbol_name("_GPIO_ConfigureInterruptEnable")
.dwattr DW$21, DW_AT_declaration(0x01)
.dwattr DW$21, DW_AT_external(0x01)
DW$22 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$26)
DW$23 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$32)
DW$24 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$25)
.dwendtag DW$21
DW$25 .dwtag DW_TAG_subprogram, DW_AT_name("InterruptClearPending"), DW_AT_symbol_name("_InterruptClearPending")
.dwattr DW$25, DW_AT_type(*DW$T$10)
.dwattr DW$25, DW_AT_declaration(0x01)
.dwattr DW$25, DW_AT_external(0x01)
.global _DSP_INT0_occur_flag
.bss _DSP_INT0_occur_flag,4,4
DW$26 .dwtag DW_TAG_variable, DW_AT_name("DSP_INT0_occur_flag"), DW_AT_symbol_name("_DSP_INT0_occur_flag")
.dwattr DW$26, DW_AT_location[DW_OP_addr _DSP_INT0_occur_flag]
.dwattr DW$26, DW_AT_type(*DW$T$10)
.dwattr DW$26, DW_AT_external(0x01)
.global _MCU_INT_occur_flag
.bss _MCU_INT_occur_flag,4,4
DW$27 .dwtag DW_TAG_variable, DW_AT_name("MCU_INT_occur_flag"), DW_AT_symbol_name("_MCU_INT_occur_flag")
.dwattr DW$27, DW_AT_location[DW_OP_addr _MCU_INT_occur_flag]
.dwattr DW$27, DW_AT_type(*DW$T$10)
.dwattr DW$27, DW_AT_external(0x01)
.global _viking_fir_isr
.bss _viking_fir_isr,4,4
DW$28 .dwtag DW_TAG_variable, DW_AT_name("viking_fir_isr"), DW_AT_symbol_name("_viking_fir_isr")
.dwattr DW$28, DW_AT_location[DW_OP_addr _viking_fir_isr]
.dwattr DW$28, DW_AT_type(*DW$T$10)
.dwattr DW$28, DW_AT_external(0x01)
DW$29 .dwtag DW_TAG_variable, DW_AT_name("gauging_done"), DW_AT_symbol_name("_gauging_done")
.dwattr DW$29, DW_AT_type(*DW$T$9)
.dwattr DW$29, DW_AT_declaration(0x01)
.dwattr DW$29, DW_AT_external(0x01)
; C:\CCStudio_v3.3\tms470\cgtools\bin\acp470.exe -@C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI73612
.sect ".text"
.align 4
.clink
.armfunc _VIKING_INTH_Config
.state32
.global _VIKING_INTH_Config
DW$30 .dwtag DW_TAG_subprogram, DW_AT_name("VIKING_INTH_Config"), DW_AT_symbol_name("_VIKING_INTH_Config")
.dwattr DW$30, DW_AT_low_pc(_VIKING_INTH_Config)
.dwattr DW$30, DW_AT_high_pc(0x00)
.dwattr DW$30, DW_AT_begin_file("vikingIIinth.c")
.dwattr DW$30, DW_AT_begin_line(0x0d)
.dwattr DW$30, DW_AT_begin_column(0x06)
.dwpsn "vikingIIinth.c",14,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: VIKING_INTH_Config *
;* *
;* 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 + 8 Auto + 4 Save = 12 byte *
;*****************************************************************************
_VIKING_INTH_Config:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {A3, A4, LR}
.dwcfa 0x0e, 4
.dwcfa 0x80, 14, 1
.dwcfa 0x0e, 8
.dwcfa 0x80, 3, 2
.dwcfa 0x0e, 12
.dwcfa 0x80, 2, 3
.dwcfa 0x0e, 12
DW$31 .dwtag DW_TAG_variable, DW_AT_name("val"), DW_AT_symbol_name("_val")
.dwattr DW$31, DW_AT_type(*DW$T$43)
.dwattr DW$31, DW_AT_location[DW_OP_breg13 0]
DW$32 .dwtag DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
.dwattr DW$32, DW_AT_type(*DW$T$43)
.dwattr DW$32, DW_AT_location[DW_OP_breg13 2]
DW$33 .dwtag DW_TAG_variable, DW_AT_name("temp"), DW_AT_symbol_name("_temp")
.dwattr DW$33, DW_AT_type(*DW$T$43)
.dwattr DW$33, DW_AT_location[DW_OP_breg13 4]
DW$34 .dwtag DW_TAG_variable, DW_AT_name("viking_fir"), DW_AT_symbol_name("_viking_fir")
.dwattr DW$34, DW_AT_type(*DW$T$43)
.dwattr DW$34, DW_AT_location[DW_OP_breg13 6]
.dwpsn "vikingIIinth.c",15,10
MOV V9, #1 ; |15|
STRH V9, [SP, #0] ; |15|
.dwpsn "vikingIIinth.c",17,10
MOV V9, #0 ; |17|
STRH V9, [SP, #4] ; |17|
.dwpsn "vikingIIinth.c",18,10
MOV V9, #0 ; |18|
STRH V9, [SP, #6] ; |18|
.dwpsn "vikingIIinth.c",20,2
BL _VIKING_Init ; |20|
; |20|
.dwpsn "vikingIIinth.c",22,2
LDR A1, CON1 ; |22|
LDRH V9, [A1, #0] ; |22|
ORR V9, V9, #1 ; |22|
STRH V9, [A1, #0] ; |22|
.dwpsn "vikingIIinth.c",23,2
MOV V9, #65536 ; |23|
MOV A1, #41984 ; |23|
SUB V9, V9, #1 ; |23|
ADD A1, A1, #134217730 ; |23|
STRH V9, [A1, #0] ; |23|
.dwpsn "vikingIIinth.c",24,5
MOV V9, #65536 ; |24|
LDR A1, CON2 ; |24|
SUB V9, V9, #1 ; |24|
STRH V9, [A1, #0] ; |24|
.dwpsn "vikingIIinth.c",27,2
MOV A1, #14 ; |27|
BL _InterruptClearPending ; |27|
; |27|
.dwpsn "vikingIIinth.c",28,2
MOV A1, #7 ; |28|
BL _GPIO_AcknoledgeInterrupt ; |28|
; |28|
.dwpsn "vikingIIinth.c",29,2
MOV A1, #13 ; |29|
BL _GPIO_AcknoledgeInterrupt ; |29|
; |29|
.dwpsn "vikingIIinth.c",30,2
BL _VIKNGII_GPIO_setup ; |30|
; |30|
.dwpsn "vikingIIinth.c",33,5
LDRH V9, [SP, #0] ; |33|
CMP V9, #0 ; |33|
BEQ L14 ; |33|
; |33|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L1
;*
;* Loop source line : 33
;* Loop closing brace source line : 96
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L1:
DW$L$_VIKING_INTH_Config$2$B:
.dwpsn "vikingIIinth.c",35,6
ADR A2, SL1 ; |35|
MOV A1, #1 ; |35|
BL _UART_Printf ; |35|
; |35|
.dwpsn "vikingIIinth.c",36,6
ADR A2, SL2 ; |36|
MOV A1, #1 ; |36|
BL _UART_Printf ; |36|
; |36|
.dwpsn "vikingIIinth.c",37,6
ADR A2, SL3 ; |37|
MOV A1, #1 ; |37|
BL _UART_Printf ; |37|
; |37|
.dwpsn "vikingIIinth.c",38,6
ADR A2, SL2 ; |38|
MOV A1, #1 ; |38|
BL _UART_Printf ; |38|
; |38|
.dwpsn "vikingIIinth.c",39,3
ADR A2, SL4 ; |39|
MOV A1, #1 ; |39|
BL _UART_Printf ; |39|
; |39|
.dwpsn "vikingIIinth.c",40,6
ADR A2, SL5 ; |40|
MOV A1, #1 ; |40|
BL _UART_Printf ; |40|
; |40|
.dwpsn "vikingIIinth.c",41,6
ADR A2, SL6 ; |41|
MOV A1, #1 ; |41|
BL _UART_Printf ; |41|
; |41|
.dwpsn "vikingIIinth.c",42,4
ADR A2, SL7 ; |42|
MOV A1, #1 ; |42|
BL _UART_Printf ; |42|
; |42|
.dwpsn "vikingIIinth.c",43,5
ADR A2, SL8 ; |43|
MOV A1, #1 ; |43|
BL _UART_Printf ; |43|
; |43|
.dwpsn "vikingIIinth.c",44,6
MOV A1, #1 ; |44|
BL _UART_GetNum ; |44|
; |44|
STRH A1, [SP, #0] ; |44|
.dwpsn "vikingIIinth.c",45,6
MOV A1, #1 ; |45|
ADR A2, SL9 ; |45|
BL _UART_Printf ; |45|
; |45|
DW$L$_VIKING_INTH_Config$2$E:
;* --------------------------------------------------------------------------*
DW$L$_VIKING_INTH_Config$3$B:
.dwpsn "vikingIIinth.c",47,6
B L12 ; |47|
; |47|
DW$L$_VIKING_INTH_Config$3$E:
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L2:
DW$L$_VIKING_INTH_Config$5$B:
.dwpsn "vikingIIinth.c",55,8
MOV A1, #7 ; |55|
BL _GPIO_AcknoledgeInterrupt ; |55|
; |55|
.dwpsn "vikingIIinth.c",56,8
MOV V9, #0 ; |56|
LDR A1, CON4 ; |56|
STR V9, [A1, #0] ; |56|
.dwpsn "vikingIIinth.c",57,8
MOV V9, #41984 ; |57|
MOV A1, #32 ; |57|
ADD V9, V9, #134217728 ; |57|
STRH A1, [V9, #0] ; |57|
.dwpsn "vikingIIinth.c",58,14
LDR V9, CON4 ; |58|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -