📄 vikingiiinth.asm
字号:
.dwattr DW$30, DW_AT_end_line(0x61)
.dwattr DW$30, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$30
.sect ".text"
.align 4
.clink
.armfunc _VIKNGII_GPIO_setup
.state32
.global _VIKNGII_GPIO_setup
DW$57 .dwtag DW_TAG_subprogram, DW_AT_name("VIKNGII_GPIO_setup"), DW_AT_symbol_name("_VIKNGII_GPIO_setup")
.dwattr DW$57, DW_AT_low_pc(_VIKNGII_GPIO_setup)
.dwattr DW$57, DW_AT_high_pc(0x00)
.dwattr DW$57, DW_AT_begin_file("vikingIIinth.c")
.dwattr DW$57, DW_AT_begin_line(0x64)
.dwattr DW$57, DW_AT_begin_column(0x06)
.dwpsn "vikingIIinth.c",101,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: VIKNGII_GPIO_setup *
;* *
;* 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 + 0 Auto + 4 Save = 4 byte *
;*****************************************************************************
_VIKNGII_GPIO_setup:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {LR}
.dwcfa 0x0e, 4
.dwcfa 0x80, 14, 1
.dwcfa 0x0e, 4
.dwpsn "vikingIIinth.c",102,2
MOV A2, #1 ; |102|
MOV A1, #7 ; |102|
BL _GPIO_SetDirection ; |102|
; |102|
.dwpsn "vikingIIinth.c",103,2
MOV A2, #1 ; |103|
MOV A1, #13 ; |103|
BL _GPIO_SetDirection ; |103|
; |103|
.dwpsn "vikingIIinth.c",105,2
MOV A2, #3 ; |105|
MOV A1, #7 ; |105|
BL _GPIO_SetEdgeCtrl ; |105|
; |105|
.dwpsn "vikingIIinth.c",106,2
MOV A2, #3 ; |106|
MOV A1, #13 ; |106|
BL _GPIO_SetEdgeCtrl ; |106|
; |106|
.dwpsn "vikingIIinth.c",108,2
MOV A2, #1 ; |108|
MOV A1, #7 ; |108|
BL _GPIO_SetOnePinInterruptMask ; |108|
; |108|
.dwpsn "vikingIIinth.c",109,2
MOV A2, #1 ; |109|
MOV A1, #13 ; |109|
BL _GPIO_SetOnePinInterruptMask ; |109|
; |109|
.dwpsn "vikingIIinth.c",111,2
MOV A1, #7 ; |111|
BL _GPIO_AcknoledgeInterrupt ; |111|
; |111|
.dwpsn "vikingIIinth.c",112,2
MOV A1, #13 ; |112|
BL _GPIO_AcknoledgeInterrupt ; |112|
; |112|
.dwpsn "vikingIIinth.c",113,2
MOV A1, #7 ; |113|
MOV A2, #0 ; |113|
LDR A3, CON12 ; |113|
BL _GPIO_ConfigureInterruptEnable ; |113|
; |113|
.dwpsn "vikingIIinth.c",114,2
MOV A2, #0 ; |114|
MOV A1, #13 ; |114|
LDR A3, CON13 ; |114|
BL _GPIO_ConfigureInterruptEnable ; |114|
; |114|
.dwpsn "vikingIIinth.c",116,1
.dwcfa 0x0e, 4
LDMFD SP!, {PC}
.dwattr DW$57, DW_AT_end_file("vikingIIinth.c")
.dwattr DW$57, DW_AT_end_line(0x74)
.dwattr DW$57, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$57
.sect ".text"
.align 4
.clink
.armfunc _vikingII_SubFrame_isr_hander
.state32
.global _vikingII_SubFrame_isr_hander
DW$58 .dwtag DW_TAG_subprogram, DW_AT_name("vikingII_SubFrame_isr_hander"), DW_AT_symbol_name("_vikingII_SubFrame_isr_hander")
.dwattr DW$58, DW_AT_low_pc(_vikingII_SubFrame_isr_hander)
.dwattr DW$58, DW_AT_high_pc(0x00)
.dwattr DW$58, DW_AT_begin_file("vikingIIinth.c")
.dwattr DW$58, DW_AT_begin_line(0x76)
.dwattr DW$58, DW_AT_begin_column(0x06)
.dwpsn "vikingIIinth.c",119,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: vikingII_SubFrame_isr_hander *
;* *
;* Regs Modified : A1,V9 *
;* Regs Used : A1,V9 *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;*****************************************************************************
_vikingII_SubFrame_isr_hander:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
.dwpsn "vikingIIinth.c",120,3
MOV V9, #1 ; |120|
LDR A1, CON4 ; |120|
STR V9, [A1, #0] ; |120|
.dwpsn "vikingIIinth.c",121,2
MOV V9, #41984 ; |121|
ADD V9, V9, #134217728 ; |121|
LDR A1, CON7 ; |121|
LDRH V9, [V9, #0] ; |121|
STR V9, [A1, #0] ; |121|
.dwpsn "vikingIIinth.c",122,1
BX LR
.dwattr DW$58, DW_AT_end_file("vikingIIinth.c")
.dwattr DW$58, DW_AT_end_line(0x7a)
.dwattr DW$58, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$58
;******************************************************************************
;* STRINGS *
;******************************************************************************
.sect ".text"
.align 4
SL1: .string 10,13,0
.align 4
SL2: .string "==========================================",10,0
.align 4
SL3: .string "Viking INTH module Test Menu",10,0
.align 4
SL4: .string "0 : Go back to upper menu",10,0
.align 4
SL5: .string "1 : test interrupt SUBFRAME_INT0(GPIO7)",10,0
.align 4
SL6: .string "2 : test interrupt MCU_INT(GPIO13)",10,0
.align 4
SL7: .string "------------------------------------------",10,13,0
.align 4
SL8: .string "Please Enter your choice: ",10," ",0
.align 4
SL9: .string 10,0
.sect ".text"
.align 4
.clink
.armfunc _vikingII_MCU_isr_hander
.state32
.global _vikingII_MCU_isr_hander
DW$59 .dwtag DW_TAG_subprogram, DW_AT_name("vikingII_MCU_isr_hander"), DW_AT_symbol_name("_vikingII_MCU_isr_hander")
.dwattr DW$59, DW_AT_low_pc(_vikingII_MCU_isr_hander)
.dwattr DW$59, DW_AT_high_pc(0x00)
.dwattr DW$59, DW_AT_begin_file("vikingIIinth.c")
.dwattr DW$59, DW_AT_begin_line(0x7c)
.dwattr DW$59, DW_AT_begin_column(0x06)
.dwpsn "vikingIIinth.c",125,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: vikingII_MCU_isr_hander *
;* *
;* 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 *
;*****************************************************************************
_vikingII_MCU_isr_hander:
;* --------------------------------------------------------------------------*
.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$60 .dwtag DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
.dwattr DW$60, DW_AT_type(*DW$T$10)
.dwattr DW$60, DW_AT_location[DW_OP_breg13 0]
DW$61 .dwtag DW_TAG_variable, DW_AT_name("frame_cnt"), DW_AT_symbol_name("_frame_cnt")
.dwattr DW$61, DW_AT_type(*DW$T$10)
.dwattr DW$61, DW_AT_location[DW_OP_breg13 4]
.dwpsn "vikingIIinth.c",128,2
MOV V9, #1 ; |128|
LDR A1, CON5 ; |128|
STR V9, [A1, #0] ; |128|
.dwpsn "vikingIIinth.c",130,4
MOV A1, #13 ; |130|
BL _GPIO_GetInterruptStatus ; |130|
; |130|
CMP A1, #0 ; |130|
BEQ L18 ; |130|
; |130|
;* --------------------------------------------------------------------------*
.dwpsn "vikingIIinth.c",132,7
MOV A1, #13 ; |132|
BL _GPIO_AcknoledgeInterrupt ; |132|
; |132|
.dwpsn "vikingIIinth.c",133,3
LDR V9, CON6 ; |133|
LDR A1, CON7 ; |133|
LDRH V9, [V9, #0] ; |133|
STR V9, [A1, #0] ; |133|
.dwpsn "vikingIIinth.c",135,9
MOV V9, #0 ; |135|
STR V9, [SP, #0] ; |135|
.dwpsn "vikingIIinth.c",135,16
LDR V9, [SP, #0] ; |135|
CMP V9, #15 ; |135|
BGT L18 ; |135|
; |135|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L15
;*
;* Loop source line : 135
;* Loop closing brace source line : 155
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L15:
DW$L$_vikingII_MCU_isr_hander$3$B:
.dwpsn "vikingIIinth.c",138,4
LDR A1, CON7 ; |138|
LDR V9, [SP, #0] ; |138|
MOV A2, #1 ; |138|
LDR A1, [A1, #0] ; |138|
TST A1, A2, LSL V9 ; |138|
BNE L17 ; |138|
; |138|
DW$L$_vikingII_MCU_isr_hander$3$E:
;* --------------------------------------------------------------------------*
DW$L$_vikingII_MCU_isr_hander$4$B:
.dwpsn "vikingIIinth.c",141,6
LDR V9, [SP, #0] ; |141|
CMP V9, #6 ; |141|
BNE L16 ; |141|
; |141|
DW$L$_vikingII_MCU_isr_hander$4$E:
;* --------------------------------------------------------------------------*
DW$L$_vikingII_MCU_isr_hander$5$B:
.dwpsn "vikingIIinth.c",143,17
LDR V9, [SP, #4] ; |143|
ADD V9, V9, #1 ; |143|
STR V9, [SP, #4] ; |143|
.dwpsn "vikingIIinth.c",144,9
LDR V9, [SP, #4] ; |144|
CMP V9, #50 ; |144|
BNE L16 ; |144|
; |144|
DW$L$_vikingII_MCU_isr_hander$5$E:
;* --------------------------------------------------------------------------*
DW$L$_vikingII_MCU_isr_hander$6$B:
.dwpsn "vikingIIinth.c",146,12
MOV V9, #0 ; |146|
LDR A1, CON14 ; |146|
STRH V9, [A1, #0] ; |146|
DW$L$_vikingII_MCU_isr_hander$6$E:
;* --------------------------------------------------------------------------*
L16:
DW$L$_vikingII_MCU_isr_hander$7$B:
.dwpsn "vikingIIinth.c",149,6
LDR V9, [SP, #0] ; |149|
CMP V9, #4 ; |149|
BNE L17 ; |149|
; |149|
DW$L$_vikingII_MCU_isr_hander$7$E:
;* --------------------------------------------------------------------------*
DW$L$_vikingII_MCU_isr_hander$8$B:
.dwpsn "vikingIIinth.c",151,8
MOV V9, #1 ; |151|
LDR A1, CON15 ; |151|
STRH V9, [A1, #0] ; |151|
.dwpsn "vikingIIinth.c",152,6
MOV V9, #0 ; |152|
LDR A1, CON14 ; |152|
STRH V9, [A1, #0] ; |152|
DW$L$_vikingII_MCU_isr_hander$8$E:
;* --------------------------------------------------------------------------*
L17:
DW$L$_vikingII_MCU_isr_hander$9$B:
.dwpsn "vikingIIinth.c",135,22
LDR V9, [SP, #0] ; |135|
ADD V9, V9, #1 ; |135|
STR V9, [SP, #0] ; |135|
.dwpsn "vikingIIinth.c",135,16
LDR V9, [SP, #0] ; |135|
CMP V9, #15 ; |135|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -