📄 vikingii_ulpd.asm
字号:
.sect ".text"
.align 4
SL1: .string "Gauging Done!",10,0
.align 4
SL2: .string "Frame_count = %d",10,0
.align 4
SL3: .string "END_32K_COUNTER = %d",10,0
.align 4
SL4: .string "END_HI_COUNTER = %d",10,0
.align 4
SL5: .string "END_NETWORK_COUNTER = %d",10,0
.align 4
SL6: .string "High frequency counter overflow!",10,0
.align 4
SL7: .string "32kHz counter overflow!",10,0
.align 4
SL8: .string "Counter Overflow!",10,0
.align 4
SL9: .string "inc_reg = %d",10,13,0
.align 4
SL10: .string "frac_reg = %d",10,13,0
.align 4
SL11: .string "inc_frac_lsb = %d.",10,13,0
.align 4
SL12: .string "inc_frac_msb = %d.",10,13,0
.align 4
SL13: .string "inc_sixteenth = %d.",10,13,0
.sect ".text"
.align 4
.clink
.armfunc _VIKING_GAUGING_NETWORK
.state32
.global _VIKING_GAUGING_NETWORK
DW$52 .dwtag DW_TAG_subprogram, DW_AT_name("VIKING_GAUGING_NETWORK"), DW_AT_symbol_name("_VIKING_GAUGING_NETWORK")
.dwattr DW$52, DW_AT_low_pc(_VIKING_GAUGING_NETWORK)
.dwattr DW$52, DW_AT_high_pc(0x00)
.dwattr DW$52, DW_AT_begin_file("vikingII_ulpd.c")
.dwattr DW$52, DW_AT_begin_line(0xde)
.dwattr DW$52, DW_AT_begin_column(0x06)
.dwpsn "vikingII_ulpd.c",223,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: VIKING_GAUGING_NETWORK *
;* *
;* 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 + 36 Auto + 4 Save = 40 byte *
;*****************************************************************************
_VIKING_GAUGING_NETWORK:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {LR}
.dwcfa 0x0e, 4
.dwcfa 0x80, 14, 1
SUB SP, SP, #36
.dwcfa 0x0e, 40
DW$53 .dwtag DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
.dwattr DW$53, DW_AT_type(*DW$T$11)
.dwattr DW$53, DW_AT_location[DW_OP_breg13 0]
DW$54 .dwtag DW_TAG_variable, DW_AT_name("start_32k_counter"), DW_AT_symbol_name("_start_32k_counter")
.dwattr DW$54, DW_AT_type(*DW$T$43)
.dwattr DW$54, DW_AT_location[DW_OP_breg13 4]
DW$55 .dwtag DW_TAG_variable, DW_AT_name("start_hi_counter"), DW_AT_symbol_name("_start_hi_counter")
.dwattr DW$55, DW_AT_type(*DW$T$43)
.dwattr DW$55, DW_AT_location[DW_OP_breg13 8]
DW$56 .dwtag DW_TAG_variable, DW_AT_name("start_network_counter"), DW_AT_symbol_name("_start_network_counter")
.dwattr DW$56, DW_AT_type(*DW$T$43)
.dwattr DW$56, DW_AT_location[DW_OP_breg13 12]
DW$57 .dwtag DW_TAG_variable, DW_AT_name("end_32k_counter"), DW_AT_symbol_name("_end_32k_counter")
.dwattr DW$57, DW_AT_type(*DW$T$43)
.dwattr DW$57, DW_AT_location[DW_OP_breg13 16]
DW$58 .dwtag DW_TAG_variable, DW_AT_name("end_hi_counter"), DW_AT_symbol_name("_end_hi_counter")
.dwattr DW$58, DW_AT_type(*DW$T$43)
.dwattr DW$58, DW_AT_location[DW_OP_breg13 20]
DW$59 .dwtag DW_TAG_variable, DW_AT_name("end_network_counter"), DW_AT_symbol_name("_end_network_counter")
.dwattr DW$59, DW_AT_type(*DW$T$43)
.dwattr DW$59, DW_AT_location[DW_OP_breg13 24]
DW$60 .dwtag DW_TAG_variable, DW_AT_name("inc_reg"), DW_AT_symbol_name("_inc_reg")
.dwattr DW$60, DW_AT_type(*DW$T$43)
.dwattr DW$60, DW_AT_location[DW_OP_breg13 28]
DW$61 .dwtag DW_TAG_variable, DW_AT_name("frac_reg"), DW_AT_symbol_name("_frac_reg")
.dwattr DW$61, DW_AT_type(*DW$T$43)
.dwattr DW$61, DW_AT_location[DW_OP_breg13 32]
.dwpsn "vikingII_ulpd.c",230,3
MOV V9, #41472 ; |230|
MOV A1, #0 ; |230|
ADD V9, V9, #134217728 ; |230|
STRH A1, [V9, #0] ; |230|
.dwpsn "vikingII_ulpd.c",231,3
MOV V9, #41472 ; |231|
MOV A1, #0 ; |231|
ADD V9, V9, #134217730 ; |231|
STRH A1, [V9, #0] ; |231|
.dwpsn "vikingII_ulpd.c",248,3
BL _CALC_32KHZ_COUNTER ; |248|
; |248|
STR A1, [SP, #4] ; |248|
.dwpsn "vikingII_ulpd.c",249,3
BL _CALC_HI_FREQ_COUNTER ; |249|
; |249|
STR A1, [SP, #8] ; |249|
.dwpsn "vikingII_ulpd.c",250,3
BL _CALC_NETWORK_COUNTER ; |250|
; |250|
STR A1, [SP, #12] ; |250|
.dwpsn "vikingII_ulpd.c",253,3
LDR A1, CON17 ; |253|
MOV V9, #0 ; |253|
STR V9, [A1, #0] ; |253|
.dwpsn "vikingII_ulpd.c",258,5
BL _VIKNGII_GPIO_setup ; |258|
; |258|
.dwpsn "vikingII_ulpd.c",260,5
LDR A1, CON18 ; |260|
LDRH V9, [A1, #0] ; |260|
ORR V9, V9, #1 ; |260|
STRH V9, [A1, #0] ; |260|
.dwpsn "vikingII_ulpd.c",260,45
MOV V9, #0 ; |260|
STR V9, [SP, #0] ; |260|
.dwpsn "vikingII_ulpd.c",260,49
MOV V9, #16 ; |260|
ADD V9, V9, #9984 ; |260|
LDR A1, [SP, #0] ; |260|
CMP A1, V9 ; |260|
BCS L15 ; |260|
; |260|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L14
;*
;* Loop source line : 260
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L14:
DW$L$_VIKING_GAUGING_NETWORK$2$B:
.dwpsn "vikingII_ulpd.c",260,57
LDR V9, [SP, #0] ; |260|
ADD V9, V9, #1 ; |260|
STR V9, [SP, #0] ; |260|
.dwpsn "vikingII_ulpd.c",260,49
MOV V9, #16 ; |260|
LDR A1, [SP, #0] ; |260|
ADD V9, V9, #9984 ; |260|
CMP A1, V9 ; |260|
BCC L14 ; |260|
; |260|
DW$L$_VIKING_GAUGING_NETWORK$2$E:
;* --------------------------------------------------------------------------*
L15:
.dwpsn "vikingII_ulpd.c",261,5
MOV V9, #65536 ; |261|
MOV A1, #41984 ; |261|
SUB V9, V9, #1 ; |261|
ADD A1, A1, #134217730 ; |261|
STRH V9, [A1, #0] ; |261|
.dwpsn "vikingII_ulpd.c",261,44
MOV V9, #0 ; |261|
STR V9, [SP, #0] ; |261|
.dwpsn "vikingII_ulpd.c",261,48
MOV V9, #16 ; |261|
ADD V9, V9, #9984 ; |261|
LDR A1, [SP, #0] ; |261|
CMP A1, V9 ; |261|
BCS L17 ; |261|
; |261|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L16
;*
;* Loop source line : 261
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L16:
DW$L$_VIKING_GAUGING_NETWORK$4$B:
.dwpsn "vikingII_ulpd.c",261,56
LDR V9, [SP, #0] ; |261|
ADD V9, V9, #1 ; |261|
STR V9, [SP, #0] ; |261|
.dwpsn "vikingII_ulpd.c",261,48
MOV V9, #16 ; |261|
LDR A1, [SP, #0] ; |261|
ADD V9, V9, #9984 ; |261|
CMP A1, V9 ; |261|
BCC L16 ; |261|
; |261|
DW$L$_VIKING_GAUGING_NETWORK$4$E:
;* --------------------------------------------------------------------------*
L17:
.dwpsn "vikingII_ulpd.c",262,5
MOV V9, #65536 ; |262|
LDR A1, CON19 ; |262|
SUB V9, V9, #1 ; |262|
STRH V9, [A1, #0] ; |262|
.dwpsn "vikingII_ulpd.c",262,44
MOV V9, #0 ; |262|
STR V9, [SP, #0] ; |262|
.dwpsn "vikingII_ulpd.c",262,48
MOV V9, #16 ; |262|
ADD V9, V9, #9984 ; |262|
LDR A1, [SP, #0] ; |262|
CMP A1, V9 ; |262|
BCS L19 ; |262|
; |262|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L18
;*
;* Loop source line : 262
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L18:
DW$L$_VIKING_GAUGING_NETWORK$6$B:
.dwpsn "vikingII_ulpd.c",262,56
LDR V9, [SP, #0] ; |262|
ADD V9, V9, #1 ; |262|
STR V9, [SP, #0] ; |262|
.dwpsn "vikingII_ulpd.c",262,48
MOV V9, #16 ; |262|
LDR A1, [SP, #0] ; |262|
ADD V9, V9, #9984 ; |262|
CMP A1, V9 ; |262|
BCC L18 ; |262|
; |262|
DW$L$_VIKING_GAUGING_NETWORK$6$E:
;* --------------------------------------------------------------------------*
L19:
.dwpsn "vikingII_ulpd.c",265,3
MOV V9, #0 ; |265|
LDR A1, CON20 ; |265|
STRH V9, [A1, #0] ; |265|
.dwpsn "vikingII_ulpd.c",266,3
MOV V9, #1 ; |266|
LDR A1, CON20 ; |266|
STRH V9, [A1, #0] ; |266|
.dwpsn "vikingII_ulpd.c",267,3
MOV V9, #65536 ; |267|
MOV A1, #41984 ; |267|
SUB V9, V9, #161 ; |267|
ADD A1, A1, #134217730 ; |267|
STRH V9, [A1, #0] ; |267|
.dwpsn "vikingII_ulpd.c",269,3
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L20
;*
;* Loop source line : 269
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L20:
DW$L$_VIKING_GAUGING_NETWORK$8$B:
.dwpsn "vikingII_ulpd.c",269,9
LDR V9, CON21 ; |269|
LDRH V9, [V9, #0] ; |269|
CMP V9, #0 ; |269|
BEQ L20 ; |269|
; |269|
DW$L$_VIKING_GAUGING_NETWORK$8$E:
;* --------------------------------------------------------------------------*
.dwpsn "vikingII_ulpd.c",271,3
MOV V9, #65536 ; |271|
MOV A1, #41984 ; |271|
SUB V9, V9, #1 ; |271|
ADD A1, A1, #134217730 ; |271|
STRH V9, [A1, #0] ; |271|
.dwpsn "vikingII_ulpd.c",272,3
MOV V9, #0 ; |272|
LDR A1, CON21 ; |272|
STRH V9, [A1, #0] ; |272|
.dwpsn "vikingII_ulpd.c",274,3
ADR A2, SL1 ; |274|
MOV A1, #1 ; |274|
BL _UART_Printf ; |274|
; |274|
.dwpsn "vikingII_ulpd.c",275,3
LDR V9, CON17 ; |275|
ADR A2, SL2 ; |275|
MOV A1, #1 ; |275|
LDR A3, [V9, #0] ; |275|
BL _UART_Printf ; |275|
; |275|
.dwpsn "vikingII_ulpd.c",277,3
BL _CALC_32KHZ_COUNTER ; |277|
; |277|
STR A1, [SP, #16] ; |277|
.dwpsn "vikingII_ulpd.c",278,3
BL _CALC_HI_FREQ_COUNTER ; |278|
; |278|
STR A1, [SP, #20] ; |278|
.dwpsn "vikingII_ulpd.c",279,3
BL _CALC_NETWORK_COUNTER ; |279|
; |279|
STR A1, [SP, #24] ; |279|
.dwpsn "vikingII_ulpd.c",281,3
ADR A2, SL3 ; |281|
MOV A1, #1 ; |281|
LDR A3, [SP, #16] ; |281|
BL _UART_Printf ; |281|
; |281|
.dwpsn "vikingII_ulpd.c",282,3
ADR A2, SL4 ; |282|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -